准备工作1:
安装docker,省去不表。
准备工作2:
我们需要禁用swap,swapoff -a
检查uuid,确保集群内唯一。sudo cat /sys/class/dmi/id/product_uuid
sudo netstat -ntlp |grep -E '6443|23[79,80]|1025[0,1,2]' 查看这些端口是否被占用,如果被占用,请手动释放
安装kubectl:
1. curl -sSL https://dl.k8s.io/release/v1.20.3/bin/linux/amd64/kubeadm > /usr/bin/kubeadm
2. chmod a+rx /usr/bin/kubeadm
3. kubeadm version
下载k8s:
1. wget -q https://dl.k8s.io/v1.11.3/kubernetes-server-linux-amd64.tar.gz
2. ls kubernetes/server/bin/ | grep -E 'kubeadm|kubelet|kubectl'
3. mv kubernetes/server/bin/kube{adm,ctl,let} /usr/bin/
配置kubectl:
1. cat <<'EOF' > /etc/systemd/system/kubelet.service
[Unit]
Description=kubelet: The Kubernetes Agent
Documentation=http://kubernetes.io/docs/
[Service]
ExecStart=/usr/bin/kubelet
Restart=always
StartLimitInterval=0
RestartSec=10
[Install]
WantedBy=multi-user.target
EOF
2. mkdir -p /etc/systemd/system/kubelet.service.d
3. cat <<'EOF' > /etc/systemd/system/kubelet.service.d/kubeadm.conf
[Service]
Environment="KUBELET_KUBECONFIG_ARGS=--bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf --kubeconfig=/etc/kubernetes/kubelet.conf"
Environment="KUBELET_CONFIG_ARGS=--config=/var/lib/kubelet/config.yaml"
EnvironmentFile=-/var/lib/kubelet/kubeadm-flags.env
EnvironmentFile=-/etc/default/kubelet
ExecStart=
ExecStart=/usr/bin/kubelet $KUBELET_KUBECONFIG_ARGS $KUBELET_CONFIG_ARGS $KUBELET_KUBEADM_ARGS $KUBELET_EXTRA_ARGS
EOF
4.systemctl enable kubelet
安装前置依赖:
wget https://github.com/kubernetes-sigs/cri-tools/releases/download/v1.11.1/crictl-v1.11.1-linux-amd64.tar.gz
tar zxvf crictl-v1.11.1-linux-amd64.tar.gz
mv crictl /usr/bin/
yum -y install socat conntrack-tools
准备好安装网络插件的配置文件:
1. wget https://docs.projectcalico.org/manifests/calico.yaml
2. vi calico.yaml
3. 修改 CALICO_IPV4POOL_CIDR 的 value 为 10.244.0.0/16
初始化集群:
1. kubeadm init --pod-network-cidr=10.244.0.0/16
2. mkdir -p $HOME/.kube \
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config \
sudo chown $(id -u):$(id -g) $HOME/.kube/config
3. kubectl apply -f calico.yaml
如无意外,至此大功告成
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。