机器名称 | IP地址 | 内存 | CPU | 磁盘 |
---|---|---|---|---|
k8s-master | 192.168.64.60 | 4G | 4 | 70G |
k8s-node1 | 192.168.64.61 | 5G | 4 | 70G |
k8s-node2 | 192.168.64.62 | 5G | 4 | 70G |
所有机器都执行下面的操作
apt-get update
apt install -y docker.io
apt install -y docker-compose
# 配置阿里云镜像加速
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://mu7j1zdf.mirror.aliyuncs.com"],
"exec-opts": [ "native.cgroupdriver=systemd" ]
,"insecure-registries": ["192.168.2.99:9999"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
验证docker是否安装成功
docker info
apt-get install -y ca-certificates curl software-properties-common apt-transport-https curl
curl -s https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | sudo apt-key add -
echo 'deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main' >>/etc/apt/sources.list.d/kubernetes.list
apt-get update -y
# 如果更新失败执行这条命令
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys '公钥编码'
apt-get install -y kubelet=1.23.6-00 kubeadm=1.23.6-00 kubectl=1.23.6-00
# 阻止自动更新(apt upgrade时忽略)。所以更新的时候先unhold,更新完再hold。
apt-mark hold kubelet kubeadm kubectl
# 192.168.64.60 替换成 master节点的IP
kubeadm init \
--apiserver-advertise-address=192.168.64.60 \
--image-repository registry.aliyuncs.com/google_containers \
--kubernetes-version v1.23.6 \
--service-cidr=10.88.0.0/12 \
--pod-network-cidr=10.188.0.0/16
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.64.60:6443 --token bxbzeg.e83qcv4mrf2s61ok \
--discovery-token-ca-cert-hash sha256:670134a70e9b4ddd244da92c25879fb700f965b618ca7fe93f98646c9d90946a
kubectl get nodes
#在master节点执行
scp /etc/kubernetes/admin.conf root@k8s-node1:/etc/kubernetes
scp /etc/kubernetes/admin.conf root@k8s-node2:/etc/kubernetes
#在其它节点执行
echo "export KUBECONFIG=/etc/kubernetes/admin.conf" >> ~/.bash_profile
source ~/.bash_profile
curl https://calico-v3-25.netlify.app/archive/v3.25/manifests/calico.yaml -O
sed -i 's#docker.io/##g' calico.yaml
kubectl apply -f calico.yaml
kubectl get pod -n kube-system
??