Kubectl使用的简单举例

安装kubectl

在阿里云的Kubernetes界面生成一个新的集群,如图:
akb48

但是这个集群是无法通过ssh登陆云服务器那样登录的,这个时候要操作k8s就有两个招数,第一个招数就是用kubectl这个工具去连接到集群。但是kubectl很难搞,因为它所在的storage.googleapis.com在大陆是无法访问的,如果效仿https://www.kubernetes.org.cn/installkubectl 里面的方式去下载kubectl是无法成功的,如图:
akb48

为了应付这个办法,就要去kubernete的github界面里下载代码包,然后手动上传到云服务器里安装。

首先到https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG-1.11.md#v1112 里的Client Binaries下载1.11版本的kubectl的包,如图:
akb48

将这个包上传到云服务器之后解压缩,然后把kubernetes安装包里的/client/bin/kubectl做一个/usr/local/bin/kubectl的软连接,如图:
akb48

如果所在的网络也无法打开github,那么只好用国内的源https://mirrors.ustc.edu.cn/kubernetes/apt/pool/ ,下载相应的包之后手动上传到云服务器里也能达到一样的效果,缺点就是国内源没有github更新的那么快。

配置kubectl

阿里云在生成kubernetes集群后,点击管理,最下面会有一个配置文件,将整个文件内容写入/root/.kube/config,然后再一次使用kubectl cluster-info就能看到配置成功了,如图:
akb48

再用kubectl config view能进一步看到细节:
akb48

这样就证明可以通过kubectl连接到kubenetes集群了。

kubectl基本操作

  1. kubectl get nodes:查看master和worker的基本情况,如图:
    akb48

  2. kubectl run ngx-test --image=nginx:latest --port=8080 --restart=Never:部署一个以nginx最新镜像为底的叫ngx-test的部署,并且开放下面容器的8080端口,每个部署的名称不能重复。部署会自动生成pod,如果加上了--restart=Never,那么pod生成一次失败就不再生成;

  3. kubectl delete deployment chen-test:删除一个叫chen-test的部署,注意,使用kubectl命令,要删除拥有该pod的Deployment。如果我们直接删除pod,Deployment将会重新创建该pod;

  4. kubectl get deployments:查看部署情况,如图:
    akb48

  5. kubectl proxy: 每个pod在kuber集群里都是一个封闭的网络环境里,可以通过这个命令使API server监听在本地的8001端口上;

  6. kubectl get pods:获取每一个pods的基本情况,如图:
    akb48

  7. kubectl describe pods:查看每一个pods的运行细节,可以出来为什么pods没有正常的运行,如果要特别制定具体的pod,那就是kubectl describe pods pod的名称

  8. kubectl exec -it POD_NAME bash:连接到对应的pod里;

  9. kubectl get pods -n kube-system:查看NAMESPACE是kube-system的所有pod;

10.kubectl delete pods/kubernetes-dashboard-7b9c7bc8c9-q8425 -n kube-system:删除掉kube-system这个NAMESPACE里kubernetes-dashboard-7b9c7bc8c9-q8425这个pod;

参考资料

https://help.aliyun.com/document_detail/64940.html?spm=a2c4g.11186623.4.1.2c4652f3qdpMed (这个是通过ssh访问k8s负载均衡的方法)
https://kubernetes.io/cn/docs/tutorials/kubernetes-basics/

感谢您请我喝咖啡~O(∩_∩)O,如果要联系请直接发我邮箱chenx1242@163.com,我会回复你的
-------------本文结束感谢您的阅读-------------