天天看點

kubernetes1.9離線部署

環境

Master: 192.168.20.93

Node1: 192.168.20.94

Node2: 192.168.20.95

采用kubeadm安裝

kubeadm為kubernetes官方推薦的自動化部署工具,他将kubernetes的元件以pod的形式部署在master和node節點上,并自動完成證書認證等操作。

因為kubeadm預設要從google的鏡像倉庫下載下傳鏡像,但目前國内無法通路google鏡像倉庫,是以已将鏡像下好,隻需要将離線包的鏡像導入到節點中就可以了.\

開始安裝

----所有節點操作:----

下載下傳:

解壓下載下傳下來的離線包

原因:沒有bzip2解壓工具,安裝後解壓:

安裝啟動docker,關閉selinux,firewalld,後

配置系統路由參數,防止kubeadm報路由警告:

導入鏡像:

安裝kubelet kubeadm kubectl包:

Master節點操作:

開始初始化master:

kubernetes預設支援多重網絡插件如flannel、weave、calico,這裡使用flanne,就必須要設定--pod-network-cidr參數,10.244.0.0/16是kube-flannel.yml裡面配置的預設網段,如果需要修改的話,需要把kubeadm init的--pod-network-cidr參數和後面的kube-flannel.yml裡面修改成一樣的網段就可以了。

部分會安裝失敗:

發現原來是kubelet預設的cgroup的driver和docker的不一樣,docker預設的cgroupfs,kubelet預設為systemd,需要将kubelet的cgroup改為和docker的cgroup相同: "Environment="KUBELET_CGROUP_ARGS=--cgroup-driver=systemd""

重新開機reload

此時記得将環境reset一下

執行:

在重新執行:

完成後,将kubeadm join xxx儲存下來,等下node節點加入叢集需要使用

如果忘記了,可以在master上通過kubeadmin token list得到

此時root使用者還不能使用kubelet控制叢集需要,按提示配置下環境變量

對于非root使用者

對于root使用者

也可以直接放到~/.bash_profile

source一下環境變量

kubectl version測試:

安裝網絡,可以使用flannel、calico、weave、macvlan這裡我們用flannel。

下載下傳此檔案

或直接使用離線包裡面的

若要修改網段,需要kubeadm --pod-network-cidr=和這裡同步

vim kube-flannel.yml

修改network項:

"Network": "10.244.0.0/16",

執行

node節點操作

使用剛剛kubeadm後的kubeadm join --xxx:

多次加入報錯檢視/var/log/message日志.

加入成功

在master節點上check一下:

kubernetes會在每個node節點建立flannel和kube-proxy的pod:

上一篇: 安全基礎-E
下一篇: 安全基礎-A