不管是ubuntu仍是centos,都同樣的。node
目前使用3個機子來部署, 一個master, 兩個nodegit
首先要解決的是訪問google的網絡問題。github
按照該篇文章 依次發佈bootstrap
裏面有幾個坑的是: ubuntu
在第4步,不須要重啓kubelet, 由於在kubeadm init中會本身建立/var/lib/kubelet/config.yaml配置文件等等相關的信息,而且在kubeadm init時會自動啓動該服務。centos
在第5步,也不須要創建本身的配置文件。bash
在ubuntu系統中的啓動配置文件/etc/systemd/system/kubelet.service.d/10-kubeadm.conf的內容應該以下:網絡
# Note: This dropin only works with kubeadm and kubelet v1.11+ [Service] Environment="KUBELET_KUBECONFIG_ARGS=--bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf --kubeconfig=/etc/kubernetes/kubelet.conf" Environment="KUBELET_CONFIG_ARGS=--config=/var/lib/kubelet/config.yaml" Environment="KUBELET_CGROUP_ARGS=--cgroup-driver=cgroupfs" Environment="KUBELET_SYSTEM_PODS_ARGS=--pod-manifest-path=/etc/kubernetes/manifests --allow-privileged=true --fail-swap-on=false" # This is a file that "kubeadm init" and "kubeadm join" generates at runtime, populating the KUBELET_KUBEADM_ARGS variable dynamically EnvironmentFile=-/var/lib/kubelet/kubeadm-flags.env # This is a file that the user can use for overrides of the kubelet args as a last resort. Preferably, the user should use # the .NodeRegistration.KubeletExtraArgs object in the configuration files instead. KUBELET_EXTRA_ARGS should be sourced from this file. EnvironmentFile=-/etc/default/kubelet ExecStart= ExecStart=/usr/bin/kubelet $KUBELET_KUBECONFIG_ARGS $KUBELET_CONFIG_ARGS $KUBELET_KUBEADM_ARGS $KUBELET_EXTRA_ARGS $KUBELET_CGROUP_ARGS $KUBELET_SWAP_ARGS $KUBELET_SYSTEM_PODS_ARGS
而後就能夠在master上進行:# kubeadm initapp
我使用的是默認的最新版本的k8s, 在發佈flannel網絡的時候使用以下的命令:ide
sudo kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
在node上按照init成功的提示執行:
sudo kubeadm join --token TOKEN MASTER_IP:6443