Kubernetes

出自Gea-Suan Lin's Wiki
於 2018年12月31日 (一) 17:59 由 Gslin留言 | 貢獻 所做的修訂 →‎外部連結
跳至導覽 跳至搜尋
可列印版不再被支援且可能有渲染錯誤。請更新您的瀏覽器書籤並改用瀏覽器預設的列印功能。

Kubernetes是一套由Google所發展出來的佈署系統。

安裝

先安裝Docker,然後安裝Kubernetes的套件:

curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -; echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list; sudo apt update; sudo apt install -y kubelet kubeadm kubectl

設定

這邊使用Calico當作網路層:

sudo kubeadm init --pod-network-cidr=192.168.0.0/16

把上面執行結果輸出的命令拿到別台用sudo跑。

接著回到當初跑kubeadm init的機器上,把設定檔放到自己目錄下:

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

接下來啟用Calico設定:

kubectl apply -f https://docs.projectcalico.org/v3.3/getting-started/kubernetes/installation/hosted/rbac-kdd.yaml
kubectl apply -f https://docs.projectcalico.org/v3.3/getting-started/kubernetes/installation/hosted/kubernetes-datastore/calico-networking/1.7/calico.yaml

設定好之後不會馬上通,可以用kubectl get nodes --watch可以看到機器會因為retry從NotReady變成Ready

使用所有主機

一開始的主機(master)不會被分配到需求(因為安全因素),透過以下的指令讓master可以分配到需求:

kubectl taint nodes --all node-role.kubernetes.io/master-

外部連結