Kubernetes集群的学习笔记(2)
Kubernetes的基本使用命令。
对控制命令进行分类整理:
查看k8s整体状态的命令
- kubectl describe node node1.docker
查看node的详细信息 - kubectl version
查看kube的版本信息,同时显示客户端的版本及服务端的版本 - kubectl cluster-info
查看kube的集群信息,master节点的所在地址及kubeDNS的所在地址
手动运行Pods的命令
- kubectl run nginx –image=nginx –replicas=5
启动5个nginx的pods - kubectl run nginx –image=nginx –port:80 –replicas=5 –dry-run=true
启动5个nginx的pod的测试,但不执行改变,并expose端口80
查看Pods的命令
- kubectl get pods
列出所有节点正在运行的pod的状态信息 - kubectl get deployment
列出所有的deployment控制器的信息,所有的pod属于cni0桥,不属于docker桥
删除单独一个Pods的命令
- kubectl delete pods hayden-nginx-6dd3ffd4c5-ww7mk
删除一个指定的pod
手动建立Pods并对外发布的命令
- kubectl expose deployment hayden-nginx –type=[{ClusterIP},NodePort,LoadBalancer,ExternalName] –name=nginx-service –target-port=80 –protocol=TCP
创建一个新的service,将内部的通信以service的形式对外交付
查看svc状态的命令
- kubectl get svc
查看service的状态
查看属于某个名称空间的命令
- kubectl get nodes -n kube-system -o wide
查看属于kube-system的节点的信息 - kubectl get svc -n kube-system -o wide
查看属于kube-system的服务的信息
从不重启Pods的设置
- kubectl run t-centos –image=centos -it –restart=Never –replicas=1
启动1个普通的容器作为客户端进行服务的访问 - kubectl describe svc nginx-service
查看指定服务的详细信息 - kubectl get nodes –show-labels
查看节点的标签
对svc进行编辑和修改
- kubectl edit svc nginx-service
编辑一个service的属性,命令打开vim的编辑界面进行配置文件的更改 - kubectl delete svc nginx-service
删除一个service - kubectl get deployment -w
长时间监控一个控制器的状态改变
对Pods的升级和回滚
- kubectl set image deployment hayden-nginx hayden-nginx=nginx:latest
对容器指定其他的镜像进行动态的升级及更新 - kubectl rollout status deployment hayden-nginx
对容器版本的更新进行进度的查看
指定版本的回滚
- kubectl rollout undo deployment hayden-nginx
对升级的版本进行回滚,可指定回滚的版本,默认是上一个版本
Service发布到NodePort
外部访问到service的方法是定义type为NodePort,可在创建service的时候定义类型,或者使用kubectl edit svc nginx-service将type变更为NodePort 。
创建资源的逻辑思路
刚从docker的管理思路过来的时候还是有些茫然, 不太知道该怎么用。其实从k8s的管理逻辑上,我们将之前的container 变更为 pod,将pod的管理交给一个deployment,将deployment已经启动的所有容器通过对外提供service的方式expose到外部。例如:我需要一个httpd服务,不需要直接去docker启动了,我直接在k8s上定义一个deployment-httpd,通过k8s的控制器去调度容器。如果需要控制容器对外提供服务,那就直接创建一个service,通过service去直接定义和管理对外的服务即可。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Liarlee's Notebook!