k8s 安裝部署步驟

k8s 安裝部署步驟

k8s 安裝部署步驟

準備環境:三臺centos7 服務器

192.168.6.129 k8s-master(主)

192.168.6.130 k8s-node-1(節點)

192.168.6.131 k8s-node-2(節點)

kubernetes(k8s)的安裝方法

五種方法:

  • kubernetes 二進制安裝 (配置最繁瑣,不亞于安裝openstack

  • kubeadm 安裝 (谷歌推出的自動化安裝工具,網絡有要求)

  • minikube 安裝 (僅僅用來體驗k8s)

  • yum 安裝 (最簡單,版本比較低====學習推薦此種方法)

  • go編譯安裝 (最難)

我們采用yum安裝,學習怎么使用k8s才是重點。

1、修改主機和host 解析

#請在129-130-131三臺機器都執行如下操作

vim /etc/hosts:

192.168.6.129?k8s-master 192.168.6.130?k8s-node-1 192.168.6.131?k8s-node-2

修改主機名:

hostnamectl?set-hostname?k8s-master hostnamectl?set-hostname?k8s-node-1 hostnamectl?set-hostname?k8s-node-2

2: 安裝docker 1.12版本,系統自帶的1.13有點小bug,需要修改,不然后期容器網絡通訊會不通

[root@k8s-master?~]#?yum?provides?docker Loaded?plugins:?fastestmirror Determining?fastest?mirrors *?base:?mirrors.aliyun.com *?extras:?mirrors.aliyun.com *?updates:?mirrors.aliyun.com 2:docker-1.13.1-102.git7f2769b.el7.centos.x86_64?:?Automates?deployment?of :?containerized?applicat Repo?:?extras 2:docker-1.13.1-103.git7f2769b.el7.centos.x86_64?:?Automates?deployment?of :?containerized?applications Repo?:?extras [root@k8s-master?~]#

去官網找1.12版本docker

http://vault.centos.org/7.4.1708/extras/x86_64/Packages/

需要提前安裝 CentOS-Base.repo源

三臺機器都需要下載這三個docker包:

http://vault.centos.org/7.4.1708/extras/x86_64/Packages/docker-1.12.6-71.git3e8e77d.el7.centos.x86_64.rpm

http://vault.centos.org/7.4.1708/extras/x86_64/Packages/docker-client-1.12.6-71.git3e8e77d.el7.centos.x86_64.rpm

http://vault.centos.org/7.4.1708/extras/x86_64/Packages/docker-common-1.12.6-71.git3e8e77d.el7.centos.x86_64.rpm

[root@k8s-master?~]#?ls docker-1.12.6-71.git3e8e77d.el7.centos.x86_64.rpm docker-client-1.12.6-71.git3e8e77d.el7.centos.x86_64.rpm docker-common-1.12.6-71.git3e8e77d.el7.centos.x86_64.rpm [root@k8s-master?~]#?scp?*?192.168.6.130:~ root@192.168.6.130's?password: docker-1.12.6-71.git3e8e77d.el7.centos.x86_64.rpm?100%?15MB?30.7MB/s?00:00 docker-client-1.12.6-71.git3e8e77d.el7.centos.x86_64.rpm?100%?3451KB?29.6MB/s?00:00 docker-common-1.12.6-71.git3e8e77d.el7.centos.x86_64.rpm?100%?83KB?6.9MB/s?00:00 [root@k8s-master?~]#?scp?*?192.168.6.131:~ root@192.168.6.131's?password: docker-1.12.6-71.git3e8e77d.el7.centos.x86_64.rpm?100%?15MB?24.2MB/s?00:00 docker-client-1.12.6-71.git3e8e77d.el7.centos.x86_64.rpm?100%?3451KB?23.3MB/s?00:00 docker-common-1.12.6-71.git3e8e77d.el7.centos.x86_64.rpm?100%?83KB?5.8MB/s?00:00 [root@k8s-master?~]#

卸載系統已經安裝的docker

由于筆者前面安裝有docker-ce版本,需要全部卸載干凈(推薦你使用全新的機器安裝)

[root@k8s-node-1?~]#?rpm?-qa?|grep?docker docker-ce-19.03.3-3.el7.x86_64 docker-ce-cli-19.03.3-3.el7.x86_64 [root@k8s-node-1?~]#?rpm?-e?docker-ce-19.03.3-3.el7.x86_64 [root@k8s-node-1?~]#?rpm?-e?docker-ce-cli-19.03.3-3.el7.x86_642 [root@k8s-node-1?~]#?rm?-rf?/var/lib/docker/*?清空之前docker產生的所有文件。 [root@k8s-node-1?~]#?rm?-rf?/etc/docker/*

3、在三臺都安裝docker 1.12(必須要按如下順序安裝,不然可能會報錯)

yum?localinstall?docker-common-1.12.6-71.git3e8e77d.el7.centos.x86_64.rpm?-y yum?localinstall?docker-client-1.12.6-71.git3e8e77d.el7.centos.x86_64.rpm?-y yum?localinstall?docker-1.12.6-71.git3e8e77d.el7.centos.x86_64.rpm?-y

4、驗證docker 是否安裝成功

[root@k8s-master?~]#?docker?-v Docker?version?1.12.6,?build?3e8e77d/1.12.6

5、master節點安裝etcd (k8s數據庫kv類型存儲)原生支持做集群

[root@k8s-master?~]#?yum?install?etcd.x86_64?-y [root@k8s-master?~]#?vim?/etc/etcd/etcd.conf ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379" ETCD_ADVERTISE_CLIENT_URLS="http://192.168.6.129:2379" #啟動 [root@k8s-master?~]#?systemctl?start?etcd.service [root@k8s-master?~]#?systemctl?enable?etcd.service #測試 #set?設置一隊鍵值?數據存儲 [root@k8s-master?~]#?etcdctl?set?testdir/testkey0?xujin Xujin #get獲取 [root@k8s-master?~]#?etcdctl?get?testdir/testkey0 xujin [root@k8s-master?~]# #檢測集群狀態 [root@k8s-master?~]#?etcdctl?-C?http://192.168.6.129:2379?cluster-health member?8e9e05c52164694d?is?healthy:?got?healthy?result?from?http://192.168.6.129:2379 cluster?is?healthy [root@k8s-master?~]#

6、master節點安裝kubernetes

[root@k8s-master?~]#?yum?install?kubernetes-master.x86_64?-y #修改配置文件如下 [root@k8s-master?~]#?vim?/etc/kubernetes/apiserver #?The?address?on?the?local?server?to?listen?to. KUBE_API_ADDRESS="--insecure-bind-address=0.0.0.0" #?The?port?on?the?local?server?to?listen?on. KUBE_API_PORT="--port=8080" #?Port?minions?listen?on KUBELET_PORT="--kubelet-port=10250" #?Comma?separated?list?of?nodes?in?the?etcd?cluster KUBE_ETCD_SERVERS="--etcd-servers=http://192.168.6.129:2379" #?default?admission?control?policies KUBE_ADMISSION_CONTROL="--admission-control=NamespaceLifecycle,NamespaceExists,LimitRanger,Securi tyContextDeny,ResourceQuota" #修改config文件 [root@k8s-master?~]#?vim?/etc/kubernetes/config KUBE_MASTER="--master=http://192.168.6.129:8080"

7、啟動k8s

#?啟動kube-apiserver #這個服務用來:接受并響應用戶的請求 [root@k8s-master?~]#?systemctl?enable?kube-apiserver.service [root@k8s-master?~]#?systemctl?start?kube-apiserver.service #啟動?kube-controller-manager #控制管理器的概念,保證容器存活 #每隔一段時間去掃描容器狀態,看有沒有死了。 #容器死了,會調度apiserver再起一個新的容器 #保證容器的個數,比如我們設定起三個nginx容器,多了就會殺掉,少了就會起 [root@k8s-master?~]#?systemctl?enable?kube-controller-manager.service [root@k8s-master?~]#?systemctl?start?kube-controller-manager.service #啟動kube-scheduler #調度器,選擇啟動容器的node節點,通俗點就是容器在哪一個節點服務器上面創建 [root@k8s-master?~]#?systemctl?enable?kube-scheduler.service [root@k8s-master?~]#?systemctl?start?kube-scheduler.service

到此主master 129 k8s安裝好了。

推薦教程:《PHP

? 版權聲明
THE END
喜歡就支持一下吧
點贊11 分享