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