這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)碛嘘P(guān)怎樣進(jìn)行Kubernetes 集群搭建,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
成都創(chuàng)新互聯(lián)公司是一家集成都網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)、網(wǎng)站頁面設(shè)計(jì)、網(wǎng)站優(yōu)化SEO優(yōu)化為一體的專業(yè)網(wǎng)站設(shè)計(jì)公司,已為成都等多地近百家企業(yè)提供網(wǎng)站建設(shè)服務(wù)。追求良好的瀏覽體驗(yàn),以探求精品塑造與理念升華,設(shè)計(jì)最適合用戶的網(wǎng)站頁面。 合作只是第一步,服務(wù)才是根本,我們始終堅(jiān)持講誠信,負(fù)責(zé)任的原則,為您進(jìn)行細(xì)心、貼心、認(rèn)真的服務(wù),與眾多客戶在蓬勃發(fā)展的市場環(huán)境中,互促共生。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
設(shè)置docker啟動(dòng)
systemctl enable docker systemctl start docker systemctl enable kubelet.service systemctl start kubelet
這里就是比較艱難的部分了,網(wǎng)上的處理辦法大同小異在這里給大家寫一下我用的。
kubernetes是Google的,他的鏡像托管在Google云上,國內(nèi)下載比較坎坷,到這個(gè)地址去下載https://github.com/anjia0532/gcr.io_mirror 腳本在這里
vim pullimages.sh #這里指定了具體的版本,如果你不是這個(gè)版本的需要修改腳本呀~~
#!/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
其實(shí)呢kubeadm是可以一鍵部署Master節(jié)點(diǎn)的,不過呢為了給大家演示一下集群的搭建,我在這里寫了一個(gè)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能夠使用自定義資源進(jìn)行自動(dòng)水平拓展。
部署kunernetes Master節(jié)點(diǎn)
kubeadm init --config kubeadm.yaml
這里會(huì)生成一大串代碼,我摘錄一部分放在這里供大家參考
[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
這個(gè)kubeadm join 命令是來給Master節(jié)點(diǎn)添加工作節(jié)點(diǎn)的 命令,當(dāng)然我這里是單節(jié)點(diǎn)肯定是用不上了,不過我還是想給大家解釋一下,你們知道就好。
配置安全配置文件的存放目錄,這個(gè)在上述的代碼中有提到,各位可以詳細(xì)看一下
mkdir -p $HOME/.kube cp -i /etc/kubernetes/admin.conf $HOME/.kube/configchown $(id -u):$(id -g) $HOME/.kube/config
為啥要寫這個(gè)呢?原因是kubernetes集群默認(rèn)需要加密方式訪問,這幾條命令的作用在于將剛部署集群的配置文件放在當(dāng)前用戶的.kube目錄下啊,kubectl默認(rèn)使用這個(gè)目錄下的授權(quán)信息訪問kubernetes集群。
查看節(jié)點(diǎn)狀態(tài)
[root@localhost yum.repos.d]# kubectl get nodesNAME STATUS ROLES AGE VERSIONlocalhost.localdomain NotReady master 6m v1.11.1
我這里部署的狀態(tài)是NotReady,是因?yàn)槲覜]有安裝網(wǎng)絡(luò)組件
安裝網(wǎng)絡(luò)插件
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都啟動(dòng)成功了,如果你也能看到這些,那么恭喜你,至此kubernetes Master節(jié)點(diǎn)部署完成咯。
上述就是小編為大家分享的怎樣進(jìn)行Kubernetes 集群搭建了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道。