Kubernetes 叢集搭建(下)

夢共裡醉發表於2020-06-02
早安~~不知道昨天的文章各位有沒有去嘗試操作一下呢?沒有的話建議再去看一下昨天的文章,這樣可以更好的理解今天的文章! 今天的資訊量比較大,大家可能會比較懵,建議多看幾遍呀~ 下面開始今天的內容~

安裝

yum安裝需要的元件,我這裡指定了具體的版本,我用的版本比較老,不過如果你是第一次用,問題不是很大,如果是大佬的話就不要噴我了~~~

yum -y install kubeadm-1.11.1  yum -y install kubectl-1.11.1 yum -y install kubelet-1.11.1 yum -y install kubernetes-cni-0.6.0yum -y install docker-ce-17.03.0.ce-1.el7.centos

設定docker啟動

systemctl enable docker
systemctl start docker
systemctl enable kubelet.service
systemctl start kubelet

這裡就是比較艱難的部分了,網上的處理辦法大同小異在這裡給大家寫一下我用的。

kubernetes是Google的,他的映象託管在Google雲上,國內下載比較坎坷,到這個地址去下載 在這裡

vim pullimages.sh #這裡指定了具體的版本,如果你不是這個版本的需要修改指令碼呀~~
#!/bin/bashimages=(kube-proxy-amd64:v1.11.1 kube-scheduler-amd64:v1.11.1 kube-controller-manager-amd64:v1.11.1
kube-apiserver-amd64:v1.11.1 etcd-amd64:3.2.18 coredns:1.1.3 pause:3.1 )for imageName in ${images[@]} ; dodocker pull anjia0532/google-containers.$imageNamedocker tag anjia0532/google-containers.$imageName k8s.gcr.io/$imageNamedocker rmi anjia0532/google-containers.$imageNamedone

其實呢kubeadm是可以一鍵部署Master節點的,不過呢為了給大家演示一下叢集的搭建,我在這裡寫了一個kubeadm.yaml

apiVersion: kubeadm.k8s.io/v1alpha1kind: MasterConfigurationcontrollerManagerExtraArgs:
  horizontal-pod-autoscaler-use-rest-clients: "true"
  horizontal-pod-autoscaler-sync-period: "10s"
  node-monitor-grace-period: "10s"apiServerExtraArgs:
  runtime-config: "api/all=true"kubernetesVersion: "v1.11.1"

這裡將horizontal-pod-autoscaler-use-rest-clients: "true",這意味者,將來部署的kube-controlller-manger能夠使用自定義資源進行自動水平擴充。

部署kunernetes Master節點

kubeadm init --config kubeadm.yaml

這裡會生成一大串程式碼,我摘錄一部分放在這裡供大家參考

[init] using Kubernetes version: v1.11.1[preflight] running pre-flight checks
.................
.................
.................
Your Kubernetes master has initialized successfully!
To start using your cluster, you need to run the following as a regular user:
  mkdir -p $HOME/.kube
  sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
  sudo chown $(id -u):$(id -g) $HOME/.kube/config
You should now deploy a pod network to the cluster.
Run "kubectl apply -f [podnetwork].yaml" with one of the options listed at:
  
  kubeadm join 192.168.72.132:6443 --token q1nck1.4znr09ayrj6xpsdw --discovery-token-ca-cert-hash sha256:095e199243fad6ee350beb9869942f54ee4074cd5bcef1222a2cca712b8b4878

這個kubeadm join 是來給Master節點新增工作節點的 ,當然我這裡是單節點肯定是用不上了,不過我還是想給大家解釋一下,你們知道就好。

配置安全配置檔案的存放目錄,這個在上述的程式碼中有提到,各位可以詳細看一下

mkdir -p $HOME/.kube
cp -i /etc/kubernetes/admin.conf $HOME/.kube/configchown $(id -u):$(id -g) $HOME/.kube/config

為啥要寫這個呢?原因是kubernetes叢集預設需要加密方式訪問,這幾條命令的作用在於將剛部署叢集的配置檔案放在當前使用者的.kube目錄下啊,kubectl預設使用這個目錄下的授權資訊訪問kubernetes叢集。

檢視節點狀態

[root@localhost yum.repos.d]# kubectl get nodesNAME                    STATUS     ROLES    AGE   VERSIONlocalhost.localdomain   NotReady   master   6m    v1.11.1

我這裡部署的狀態是NotReady,是因為我沒有安裝網路元件

安裝網路外掛

kubectl apply -f 

部署完成後我們可以透過kubectl重新檢查Pod狀態

[root@localhost yum.repos.d]# kubectl get pods -n kube-system
NAME                                            READY   STATUS              RESTARTS   AGE
coredns-78fcdf6894-8w8dx                        1/1     Running             0          11m
coredns-78fcdf6894-w9sk2                        1/1     Running             0          11m
etcd-localhost.localdomain                      1/1     Running             0          10m
kube-apiserver-localhost.localdomain            1/1     Running             0          10m
kube-controller-manager-localhost.localdomain   1/1     Running             0          10m
kube-proxy-cpxmx                                1/1     Running             0          11m
kube-scheduler-localhost.localdomain            1/1     Running             0          10m
weave-net-pt2l7                                 2/2     Running             0          23s

這裡可以看到我部署的Pod都啟動成功了,如果你也能看到這些,那麼恭喜你,至此kubernetes Master節點部署完成咯

最後提一下,kubernetes也有視覺化外掛的,看起來還不錯,由於這篇文章寫的還是比較早的,今天才整理完畢,虛擬機器被我給刪掉了,沒留截圖,這裡就不在贅述了,大家有興趣可以自己操作一下,或者大家實在想看,可以留言吶!!呼聲高的話我可以特意出一個文章給大家的~~~

最後馬上過年了,提前祝各位鼠年行大運,工作順利,吃嘛嘛香,身體倍兒棒,闔家歡樂~~~~~~

然後時間有限,小編能力有限,文章可能存在疏漏,各位大佬輕噴~~~~


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31524109/viewspace-2695716/,如需轉載,請註明出處,否則將追究法律責任。

相關文章