筹备工作1:
装置docker,省去不表。
筹备工作2:
咱们须要禁用swap,swapoff -a查看uuid,确保集群内惟一。sudo cat /sys/class/dmi/id/product_uuidsudo 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/kubeadm3. kubeadm version
下载k8s:
1. wget -q https://dl.k8s.io/v1.11.3/kubernetes-server-linux-amd64.tar.gz2. 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 EOF2. mkdir -p /etc/systemd/system/kubelet.service.d3. 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.yaml2. vi calico.yaml3. 批改 CALICO_IPV4POOL_CIDR 的 value 为 10.244.0.0/16
初始化集群:
1. kubeadm init --pod-network-cidr=10.244.0.0/162. mkdir -p $HOME/.kube \ sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config \ sudo chown $(id -u):$(id -g) $HOME/.kube/config3. kubectl apply -f calico.yaml
如无意外,至此功败垂成