更改下包的代理 使用root用户:sudo su 或者sudo -s
sudo chmod +777 /etc/apt/sources.list
cp /etc/apt/sources.list /etc/apt/sources.list.bak
sudo cat >/etc/apt/sources.list <安装 kubeadm | Kubernetes
配置环境# 关防火墙 (centos版)systemctl stop firewalld && systemctl disable firewalld (ubuntu版)sudo ufw disable && sudo ufw status (https://blog.csdn.net/weixin_34293246/article/details/92148586) #关selinux sed -i 's/enforcing/disabled/' /etc/selinux/config #永久 setenforce 0 #临时 #关闭swap sed -ri 's/.*swap.*/#&/' /etc/fstab #永久 (或vim /etc/fstab 注释掉最后一行的swap) swapoff -a #临时 free -m #插看分区情况 #根据规划设置主机名 hostnamectl set-hostname安装Docker#在 master端 添加hosts cat >> /etc/hosts << EOF 192.168.7.156 master 192.168.4.37 node2 192.168.7.73 node3 EOF #时间同步 sudo apt install ntpdate sudo ntpdate time.windows.com https://docs.docker.com/engine/install/ubuntu/ sudo apt-get update sudo apt-get install ca-certificates curl gnupg lsb-release curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io sudo docker run hello-world #add mirror cat > /etc/docker/daemon.json << EOF { "exec-opts": ["native.cgroupdriver=systemd"], "registry-mirrors": ["https://b9pmyelo.mirror.aliyuncs.com"] } EOF sudo systemctl enable docker sudo systemctl daemon-reload sudo systemctl restart docker sudo systemctl status docker docker --version安装 kubeadm
更新 apt 包索引并安装使用 Kubernetes apt 仓库所需要的包:
sudo apt-get update sudo apt-get install -y apt-transport-https ca-certificates curl
下载 aliyun 公开签名秘钥:
sudo curl -fsSLo /usr/share/keyrings/kubernetes-archive-keyring.gpg http://pub.mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg
添加 Kubernetes apt 仓库:
echo "deb [signed-by=/usr/share/keyrings/kubernetes-archive-keyring.gpg] http://pub.mirrors.aliyun.com/kubernetes/apt kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list使用 kubeadm 创建集群 | Kubernetes 部署Master
更新 apt 包索引,安装 kubelet、kubeadm 和 kubectl,并锁定其版本:
sudo apt-get update sudo apt-get install -y kubelet kubeadm kubectl sudo apt-mark hold kubelet kubeadm kubectlsudo kubeadm init --apiserver-advertise-address=192.168.7.156 --image-repository registry.aliyuncs.com/google_containers --service-cidr=10.96.0.0/12 --pod-network-cidr=10.244.0.0/16 --kubernetes-version v1.22.4
记下其中的token,加入node节点时会用到。
sudo makedir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config kubectl get nodes部署Nodes同样按照上述步骤安装好docker、kubelet,并将master节点上的/etc/kubernetes/pki/etcd拷贝到slave相同位置,用于calico-node连接etcd使用,然后在slave节点上执行以下命令即可加入集群:
# master生成的语句拷下来运行 kubeadm join 192.168.7.156:6443 --token 5d6vn3.wu8z79dr0bs4yp10 --discovery-token-ca-cert-hash sha256:4f3f46a02ec6cebc4db8e0003f8ac270658a59a202549613f16176d398db809a注意:默认token的有效期为24小时,当过期之后,该token就不可用了。此时可以重新生成token:
kubeadm token generate kubeadm token create--print-join-command --ttl=0 设置–ttl=0代表永不过期
应用flannel进行网路链接kubectl apply -f https://docs.projectcalico.org/v3.0/getting-started/kubernetes/installation/hosted/canal/rbac.yaml 若连不上可以,从 https://gitee.com/ylp657/kubernetes/blob/master/kube-flannel.yaml下载本地运行 echo "export KUBEConFIG=/etc/kubernetes/kubelet.conf" >> /etc/profile source /etc/profile其他人遇到的问题我的k8s随笔:Kubernetes部署-问题篇 | 迟思堂随笔
Ubuntu 国内安装 kubernetes - 编程之家



