kubectl
输出格式
显示Pod
的更多信息
kubectl get pod <pod-name> -o wide
以yaml
格式显示Pod
的详细信息
kubectl get pod <pod-name> -o yaml
kubectl
操作示例
-
创建资源对象
根据yaml配置文件一次性创建service和rc
kubectl create -f my-service.yaml -f my-rc.yaml
根据目录下所有.yaml、.yml、.json
文件的定义进行创建操作
kubectl create -f <directory>
-
查看资源对象
查看所有
Pod
列表
kubectl get pods
查看rc
和service
列表
kubectl get rc,service
-
描述资源对象
显示
Node
的详细信息
kubectl describe nodes <node-name>
显示Pod的详细信息
kubectl describe pods/<pod-name>
显示由RC管理的Pod的信息
kubectl describe pods <rc-name>
-
删除资源对象
基于
Pod.yaml
定义的名称删除Pod
kubectl delete -f pod.yaml
删除所有包含某个label
的Pod
和service
kubectl delete pods,services -l name=<label-name>
删除所有Pod
kubectl delete pods --all
-
执行容器的命令
执行
Pod
的data
命令,默认是用Pod
中的第一个容器执行
kubectl exec <pod-name> data
指定Pod
中某个容器执行data
命令
kubectl exec <pod-name> -c <container-name> data
通过bash
获得Pod
中某个容器的TTY,相当于登录容器
kubectl exec -it <pod-name> -c <container-name> bash
-
Pod
的扩容与缩容执行扩容缩容
Pod
的操作
kubectl scale rc redis --replicas=3
我们需要确认的是在rc
配置文件中定义的replicas
数量,当我们执行上述命令的结果大于replicas
的数量时,则我们执行的命令相当于扩容操作,反之相反,可以理解为我们填写的数量是我们需要的Pod
数量。需要注意的是,当我们需要进行永久性扩容时,不要忘记修改rc
配置文件中的replicas
数量。 -
Pod
的滚动升级执行滚动升级操作
kubectl rolling-update redis -f redis-rc.update.yaml
需要注意的是当我们执行rolling-update
命令前需要准备好新的RC
配置文件以及ConfigMap
配置文件,RC
配置文件中需要指定升级后需要使用的镜像名称,或者可以使用kubeclt rolling-update redis --image=redis-2.0
直接指定镜像名称的方式直接升级。