安装kubectl
在阿里云的Kubernetes界面生成一个新的集群,如图:
但是这个集群是无法通过ssh登陆云服务器那样登录的,这个时候要操作k8s就有两个招数,第一个招数就是用kubectl
这个工具去连接到集群。但是kubectl
很难搞,因为它所在的storage.googleapis.com
在大陆是无法访问的,如果效仿https://www.kubernetes.org.cn/installkubectl 里面的方式去下载kubectl
是无法成功的,如图:
为了应付这个办法,就要去kubernete的github界面里下载代码包,然后手动上传到云服务器里安装。
首先到https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG-1.11.md#v1112 里的Client Binaries
下载1.11版本的kubectl的包,如图:
将这个包上传到云服务器之后解压缩,然后把kubernetes安装包里的/client/bin/kubectl
做一个/usr/local/bin/kubectl
的软连接,如图:
如果所在的网络也无法打开github,那么只好用国内的源https://mirrors.ustc.edu.cn/kubernetes/apt/pool/ ,下载相应的包之后手动上传到云服务器里也能达到一样的效果,缺点就是国内源没有github更新的那么快。
配置kubectl
阿里云在生成kubernetes集群后,点击管理
,最下面会有一个配置文件,将整个文件内容写入/root/.kube/config
,然后再一次使用kubectl cluster-info
就能看到配置成功了,如图:
再用kubectl config view
能进一步看到细节:
这样就证明可以通过kubectl连接到kubenetes集群了。
kubectl基本操作
kubectl get nodes
:查看master和worker的基本情况,如图:kubectl run ngx-test --image=nginx:latest --port=8080 --restart=Never
:部署一个以nginx最新镜像为底的叫ngx-test
的部署,并且开放下面容器的8080端口,每个部署的名称不能重复。部署会自动生成pod,如果加上了--restart=Never
,那么pod生成一次失败就不再生成;kubectl delete deployment chen-test
:删除一个叫chen-test
的部署,注意,使用kubectl命令,要删除拥有该pod的Deployment。如果我们直接删除pod,Deployment将会重新创建该pod;kubectl get deployments
:查看部署情况,如图:kubectl proxy
: 每个pod在kuber集群里都是一个封闭的网络环境里,可以通过这个命令使API server监听在本地的8001端口上;kubectl get pods
:获取每一个pods的基本情况,如图:kubectl describe pods
:查看每一个pods的运行细节,可以出来为什么pods没有正常的运行,如果要特别制定具体的pod,那就是kubectl describe pods pod的名称
;kubectl exec -it POD_NAME bash
:连接到对应的pod里;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/