溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎樣進行Kubernetes 集群搭建

發(fā)布時間:2021-11-06 16:36:21 來源:億速云 閱讀:160 作者:柒染 欄目:建站服務器

這期內容當中小編將會給大家?guī)碛嘘P怎樣進行Kubernetes 集群搭建,文章內容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

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云上,國內下載比較坎坷,到這個地址去下載https://github.com/anjia0532/gcr.io_mirror  腳本在這里

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節(jié)點的,不過呢為了給大家演示一下集群的搭建,我在這里寫了一個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節(jié)點

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:
  https://kubernetes.io/docs/concepts/cluster-administration/addons/You can now join any number of machines by running the following on each nodeas root:
  kubeadm join 192.168.72.132:6443 --token q1nck1.4znr09ayrj6xpsdw --discovery-token-ca-cert-hash sha256:095e199243fad6ee350beb9869942f54ee4074cd5bcef1222a2cca712b8b4878

這個kubeadm join 命令是來給Master節(jié)點添加工作節(jié)點的 命令,當然我這里是單節(jié)點肯定是用不上了,不過我還是想給大家解釋一下,你們知道就好。

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

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

為啥要寫這個呢?原因是kubernetes集群默認需要加密方式訪問,這幾條命令的作用在于將剛部署集群的配置文件放在當前用戶的.kube目錄下啊,kubectl默認使用這個目錄下的授權信息訪問kubernetes集群。

查看節(jié)點狀態(tài)

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

我這里部署的狀態(tài)是NotReady,是因為我沒有安裝網絡組件

安裝網絡插件

kubectl apply -f https://git.io/weave-kube-1.6

部署完成后我們可以通過kubectl重新檢查Pod狀態(tài)

[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節(jié)點部署完成咯。

上述就是小編為大家分享的怎樣進行Kubernetes 集群搭建了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI