天天看點

通過kubeadm安裝kubernetes 1.7文檔記錄[docker容器方式]擷取所有安裝包所有節點初始化主節點安裝從節點安裝擴充功能安裝附錄

參照了網上N多文檔,不一一清單,共享精神永存!!!!

==================================================

安裝包分為兩類,rpm安裝包和docker鏡像

rpm為以下四個

kubeadm-1.7.0-0.x86_64.rpm

kubectl-1.7.0-0.x86_64.rpm

kubelet-1.7.0-0.x86_64.rpm

kubernetes-cni-0.5.1-0.x86_64.rpm

A, 從github上clone以下項目:

<a href="https://github.com/kubernetes/release">https://github.com/kubernetes/release</a>

B,進入rpm目錄,執行<code>docker-build.sh</code><code>腳本,會在output目錄下生成那4個rpm安裝包。</code>

      *如果隻生成amd-64的包,修改一下腳本,把其它幾個構架的去掉。

      *這些安裝包的生成,需要fedora:24鏡像,最好提前準備。

A, 下載下傳kubernetes

https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG.md

kube-apiserver.tar

kube-controller-manager.tar

kube-scheduler.tar

kube-proxy.tar

kube-aggregator.tar

将這些鏡像導入harbor倉庫便以後備用。

*因為k8s的官方鏡像都放在google上,不FQ一般不能直接下載下傳,附錄會寫一個如何結合github,dockerhub,daocloud來擷取指定鏡像的辦法。

擴充的docker鏡像,涉及etcd,flannel,traefik,nginx,tomcat等,後面結合場景寫清楚。

主要是确認伺服器的各項系統名額滿足安裝kubernetes的要求。

*RedHat發行版本為: 7.3 (Maipo)

*Linux核心版本為:3.10.0-514.el7.x86_64

這個安裝我們沒有涉及,原本已安裝好,版本為17.05.0-ce, build 89658be

注意新增/etc/systemd/system/docker.service.d/docker.conf檔案:

它改寫了docker的存儲目錄,且定義了harbor倉庫位址。

确認/usr/sbin/sestatus指令輸出為:disabled

确認以下兩條指令均無顯示

lsmod | grep -i ipv6

ifconfig | grep -i inet6

echo 1 &gt; /proc/sys/net/ipv4/ip_forward

echo 1 &gt; /proc/sys/net/bridge/bridge-nf-call-iptables

*預設禁用,通過硬防來控制規則。

将所有涉及的rpm包上傳到伺服器的一個安裝目錄(e.g:/root/k8s/)

将前節提到的docker images上傳到harbor倉庫(harbor-ip-address)

生成并運作以下腳本,進行master初始化前安裝。(k8s-master-setup_before.sh)

*一定要指定version,k8s才不會去網上拉docker,指定pod的cidr,因為後面我們是用flannel作vxlan網絡支撐.

*一般等待1分鐘左右,初始化即可完成。如有問題,可及時檢視/var/log/message進行排錯。

生成并運作以下腳本,進行master初始化後安裝。(k8s-master-setup_after.sh)

*以下幾個檔案都是github裡的标準檔案

運作kubectl get指令,确認所有pod及svc狀态正常.

生成并運作以下腳本,進行從節點加入前安裝。(k8s-node-setup.sh)

*這個token可通過在主節點上運作kubeadm token list獲得

在主節點上運作kubectl get nodes(從節點上也可以運作,但要先擷取認證檔案)

A, 下載下傳traefik最新版本(略)

B, 寫traefik-ds.yaml配置檔案

C, 寫traefik-ing.yaml配置檔案

D, 應用這兩個配置檔案

E,  測試,通路從節點8580端口。

*見本blog以前的文章

通過kubeadm安裝kubernetes 1.7文檔記錄[docker容器方式]擷取所有安裝包所有節點初始化主節點安裝從節點安裝擴充功能安裝附錄