Kubernetes練習站


自學Kubernetes,沒有練習環境,指路

https://www.katacoda.com/courses/kubernetes/getting-started-with-kubeadm

有很多可以用來學習的scenarios, 只是k8s的版本比較低,但僅用來練習也夠了

可以單node 集群,也可以多nodes 集群

很簡單的配置1個master 1個worker的步驟:

1. kubeadm init --token=102952.1a7dd4cc8d1f4cc5 --kubernetes-version $(kubeadm version -o short), 這里的版本號是默認的1.14.10。kubeadm的版本號是1.14.X, --kubernetes-version $(kubeadm version -o short)寫成其他版本號會報錯

2.按照提示: 

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

3.安裝calico,這個是CNI插件,用來實現pod間的通信,否則節點會顯示notReady

    1)下載calico.yaml文件: https://docs.projectcalico.org/v3.10/manifests/calico.yaml

    2)kubectl apply -f calico.yaml

         在這里遇到了問題,用最新版本的calico.yaml文件會報錯:

           unable to recognize "calico.yaml": no matches for kind "CustomResourceDefinition" in version "apiextensions.k8s.io/v1

       原因是kubenetes的版本太老,與calico最新版不兼容,用v3.10的calico版本解決了這個問題

4. 在worker節點上,執行:

kubeadm join 172.17.0.33:6443 --token 102952.1a7dd4cc8d1f4cc5 \
> --discovery-token-ca-cert-hash sha256:e25d1baae4af73e325db302ab808ab6c67af6197f870d5001ed1603bb952364a

以上這步是將worker節點加入集群

5.在Master節點上檢查檢查node的狀態:

kubectl get nodes

報錯:

The connection to the server localhost:8080 was refused - did you specify the right host or port?

在Master上執行:

sudo cp /etc/kubernetes/admin.conf $HOME/ sudo chown $(id -u):$(id -g) $HOME/admin.conf export KUBECONFIG=$HOME/admin.conf

6.再次kubectl get nodes 可以顯示節點了

7.在worker節點上執行 kubectl get nodes

   報錯:

The connection to the server localhost:8080 was refused - did you specify the right host or port?

解決方法:

1)將主節點(master節點)中的【/etc/kubernetes/admin.conf】文件拷貝到從節點相同目錄下:

   scp -r /etc/kubernetes/admin.conf @node_ip:/etc/kubernetes/admin.conf

2) 配置環境變量:

    echo "export KUBECONFIG=/etc/kubernetes/admin.conf" >> ~/.bash_profile

  3) 立即生效

source ~/.bash_profile

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM