K8s Install
0.安装docker
系统选型,由于centos已停止维护,建议使用ubuntu 20.04.4 LTS
Ubuntu 20.04.4 LTS (Focal Fossa)
https://releases.ubuntu.com/20.04/ubuntu-20.04.4-live-server-amd64.iso
vi /etc/apt/sources.list
#建议修改为阿里云源,速度更快,将文件内容清空,完全替换即可
deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
添加阿里云docker-ce源,并安装docker-ce
# step 1: 安装必要的一些系统工具
sudo apt-get update
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
# step 2: 安装GPG证书
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
# Step 3: 写入软件源信息
sudo add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
# Step 4: 更新并安装Docker-CE
sudo apt-get -y update
sudo apt-get -y install docker-ce
为了避免和k8s冲突,修改docker的cgroupdriver为systemd;并且配置阿里云容器加速。
vi /etc/docker/daemon.json
{
"registry-mirrors": ["https://xxxxxx.mirror.aliyuncs.com"],
"exec-opts": ["native.cgroupdriver=systemd"]
}
#执行下列命令使配置生效,"registry-mirrors",请自行去阿里云申请,并替换为自己的。
systemctl daemon-reload
systemctl restart docker
1.允许iptables查看网桥流量
cat <<EOF | sudo tee /etc/modules-load.d/k8s.conf
br_netfilter
EOF
cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sudo sysctl --system
2.安装相关软件包
sudo apt-get update
sudo apt-get install -y apt-transport-https ca-certificates curl
3.安装kubeadm
sudo curl -s https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | sudo apt-key add -
4.添加k8s阿里源到apt
sudo tee /etc/apt/sources.list.d/kubernetes.list <<-'EOF'
deb https://mirrors.aliyun.com/kubernetes/apt kubernetes-xenial main
EOF
5.安装kubelet, kubeadm and kubectl
sudo apt-get update
sudo apt-get install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl
6.kubeadm 初始化
kubeadm init \
--image-repository registry.aliyuncs.com/google_containers \
--kubernetes-version v1.23.5 \
--pod-network-cidr=192.168.0.0/16 \
--apiserver-advertise-address=192.168.38.10
--cri-socket /run/containerd/containerd.sock
#若想使用containerd替换docker可以在初始化时加入此参数
–image-repository替换为阿里源
–apiserver-advertise-address指定了服务器本身固定不变的的ip。
–pod-network-cidr指定了pod通信的网段,不能和服务器的网段冲突。
初始化完成后,需按照最后的提示复制kubeconfig配置,记录join命令
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
kubeadm join 192.168.38.10:6443 --token l9fqdy.9shxi3dw99rjutd0 \
--discovery-token-ca-cert-hash sha256:0b03253f3f16585e5dbc5345eabc33347125e5255e73103ab76e711608cdb725
7.安装网络cni插件
Quickstart for Calico on Kubernetes (tigera.io)
kubectl create -f https://docs.projectcalico.org/manifests/tigera-operator.yaml
kubectl create -f https://docs.projectcalico.org/manifests/custom-resources.yaml
8.其他node按照1-5安装后,可以执行6中得到join命令,即可加入集群
若想要使用单节点集群,可执行下列命令去掉master的污点。
kubectl taint nodes --all node-role.kubernetes.io/master-