使用kubeadm部署一個k8s集群,把節點node01加入集群。(docker已安裝)
1.添加kubernetes源:(master+node01均執行該步驟)
sudo apt update && sudo apt install -y apt-transport-https curl
curl -s https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | sudo apt-key add -
2. 檢查是否添加成功 (master+node01均執行該步驟)
sudo cat /etc/apt/sources.list.d/kubernetes.list
3.安裝kubelet,安裝kubeadm,kubectl (master+node01均執行該步驟)
sudo apt update sudo apt install -y kubelet kubeadm kubectl sudo apt-mark hold kubelet kubeadm kubectl
4.集群初始化 init出錯,可以使用 kubeadm reset 重置集群
kubeadm init --image-repository registry.aliyuncs.com/google_containers --kubernetes-version v1.13.1 --pod-network-cidr=192.168.0.0/16
5.配置kubelet
mkdir -p $HOME/.kube cp -i /etc/kubernetes/admin.conf $HOME/.kube/config chown $(id -u):$(id -g) $HOME/.kube/config kubectl get pods --all-namespaces //可以看到coredns的狀態是pending,這是因為我們還沒有安裝網絡插件
6.安裝calico網絡組件
kubectl apply -f https://docs.projectcalico.org/v3.3/getting-started/kubernetes/installation/hosted/rbac-kdd.yaml kubectl apply -f https://docs.projectcalico.org/v3.3/getting-started/kubernetes/installation/hosted/kubernetes-datastore/calico-networking/1.7/calico.yaml
7.默認情況下,由於安全原因,集群並不會將pods部署在Master節點上。但是在開發環境下,我們可能就只有一個Master節點,這時可以使用下面的命令來解除這個限制:
kubectl taint nodes --all node-role.kubernetes.io/master-
node01加入集群
8.node01加入master節點
kubeadm join [masterIP]:6443 --token b0x4dv.nbut63ktiaikcc24 --discovery-token-ca-cert-hash sha256:551fe78b50dfe52410869685b7dc70b9a27e550241a6112d8d1fef2073759bb4
9 master節點查看node狀態
kubectl get node -o wide
10.常規命令運行起來 檢驗集群部署是否成功