kubernetes 1.9.2 快速安裝,只需三步

fanux發表於2019-02-16

到這裡購買安裝包1.8.1

安裝包1.9.2

注意1.9.2安裝方式見商品頁面,與1.8.1有點差別,做一些配置和指令碼的優化

安裝

  1. master節點執行init-master.sh
  2. node節點執行init-node.sh
  3. node節點執行master輸出的kubeadm join命令

選裝,dashboard,master安裝完就可以裝這個了,這樣dashboard不會排程到node節點:
執行init-dashboard.sh
把type:ClusterIP改成 NodePort 然後訪問dashboard所在節點+埠號即可。

沒有然後了,任何問題聯絡我,100%安裝成功。

常見問題

kubelet服務啟動不了?

cgroup driver配置要相同

檢視docker cgroup driver:

docker info|grep Cgroup

有systemd和cgroupfs兩種,把kubelet service配置改成與docker一致

vim /etc/systemd/system/kubelet.service.d/10-kubeadm.conf

KUBELET_CGROUP_ARGS=–cgroup-driver=cgroupfs #這個配置與docker改成一致

節點not ready ?

建議安裝calico網路,如果要把主節點當成node節點需要加個命令:

[root@dev-86-202 ~]# kubectl taint nodes --all node-role.kubernetes.io/master-

dashboard 訪問不了?

如果是NodePort方式訪問,那需要知道dashboard服務具體排程到哪個節點上去了。訪問那個節點的ip而不是master的ip。
不行的話把https 改成http試試。

檢視具體在哪個節點

kubectl get pod -n kube-system -o wide

拉取映象失敗?

可以把node節點與master節點的映象都在每個節點load一下。

dashboard crash, dns起不來?

可以把node節點與master節點的映象都在每個節點load一下。

192.168網段與calico網段衝突?

如果你恰好也是192.168網段,那麼建議修改一下calico的網段

這樣init

kubeadm init --pod-network-cidr=192.168.122.0/24 --kubernetes-version v1.8.1

修改calico.yaml

    - name: FELIX_DEFAULTENDPOINTTOHOSTACTION
      value: "ACCEPT"
    # Configure the IP Pool from which Pod IPs will be chosen.
    - name: CALICO_IPV4POOL_CIDR
      value: "192.168.122.0/24"
    - name: CALICO_IPV4POOL_IPIP
      value: "always"
    # Disable IPv6 on Kubernetes.
    - name: FELIX_IPV6SUPPORT
      value: "false"

dns 半天起不來?

dns映象如果load成功了的話,可能是機器配置太低,起的會非常慢,有朋友 單核2G上15分鐘沒啟動成功。 建議雙核4G以上資源

kubelet unhealthy?

[kubelet-check] The HTTP call equal to `curl -sSL http://localhost:10255/healthz/syncloop` failed with error: Get http://localhost:10255/healthz/syncloop: dial tcp 127.0.0.1:10255: getsockopt: connection refused.
[kubelet-check] It seems like the kubelet isn`t running or healthy.

可能是manifast已經存在,刪除即可:

[root@dev-86-205 kubeadm]# rm -rf /etc/kubernetes/manifests

時間超過24小時,節點加不進去?

[root@dev-86-208 test]# kubeadm token create
[kubeadm] WARNING: starting in 1.8, tokens expire after 24 hours by default (if you require a non-expiring token use --ttl 0)
887ac7.e82f0e13ad72c367

上面命令重新生成一下token,執行kubeadm join 時用上面的token替換一下,如果想永遠不過期init時把ttl設定成0

–token-ttl duration

相關文章