kubectl describe命令:
输出指定的一个或多个资源的详细信息
语法:
1
| kubectl describe (-f FILENAME | TYPE [NAME_PREFIX | -l label] | TYPE/NAME) [options]
|
示例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| # 查看一个node kubectl describe nodes master
# 查看一个pod kubectl describe pods/nginx
# 查看pod.json中的资源类型和名称指定的pod kubectl describe -f pod.json
# 查看所有的pod kubectl describe pods
# 查看所有包含label name=myLabel的pod kubectl describe po -l name=myLabel
# 查看deployments副本控制中被名为nginx管理的pod kubectl describe pods nginx -n kube-system
# 查看kube-system名称空间service中名称为ye-nginx-service的详细信息 kubectl describe svc/ye-nginx-service -n kube-system
|
kubectl run 命令:
- 创建并运行一个或多个容器镜像。
- 创建一个deployment 或job 来管理容器。
语法:
1 2
| kubectl run NAME --image=image [--env="key=value"] [--port=port] [--replicas=replicas] [--dry-run=bool] [--overrides=inline-json] [--command] -- [COMMAND] [args...] [options]
|
示例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| 启动nginx实例,默认是创建在default名称空间 kubectl run nginx --image=nginx
创建到指定的kube-system空间中 kubectl run nginx --image=nginx:1.8 --replicas=5 -l name=nginx -n kube-system
启动hazelcast实例,暴露容器端口 5701。 kubectl run hazelcast --image=hazelcast --port=5701
启动nginx实例,设置副本数5。 kubectl run nginx --image=nginx --replicas=5
启动一个名为busybox的实例,镜像busybox,并且进入容器内。 kubectl run -i -t busybox --image=busybox --restart=Never
|
kubectl delete 命令:
通过文件名、控制台输入、资源名或者label selector删除资源。接受JSON和YAML格式的描述文件。
只能指定以下参数类型中的一种:文件名、资源类型和名称、资源类型和label selector。 注意:delete命令不检查资源版本,如果有人在你进行删除操作的同时进行更新操作,他所做的更新将随资源同时被删除。
语法:
1
| kubectl delete ([-f FILENAME] | TYPE [(NAME | -l label |
|
示例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| 使用 pod.json中指定的资源类型和名称删除pod。 kubectl delete -f ./pod.json
根据传入stdin的JSON所指定的类型和名称删除pod。 cat pod.json | kubectl delete -f -
删除名为“baz”和“foo”的Pod和Service。 kubectl delete pod,service baz foo
删除 Label name = myLabel的pod和Service。 kubectl delete pods,services -l name=myLabel
强制删除dead node上的pod kubectl delete pod foo
删除所有pod kubectl delete pods
删除deployments控制器中名字为nginx kubectl delete deployments nginx
删除kube-system名称空间中的nginx kubectl delete deployments nginx -n kube-system
|
默认情况下,所有删除在30秒内都是正常的。
kubectl delete
命令支持-grace-period = <seconds>
选项,该选项允许用户覆盖默认值并指定自己的值。值0
强制删除pod
.
在kubectl version> = 1.5
中,必须指定一个附加标志--force
以及--grace-period = 0
才能执行强制删除。
kubectl expose命令:
将资源暴露为新的Kubernetes Service。
语法:
1 2
| kubectl expose (-f FILENAME | TYPE NAME) [--port=port] [--protocol=TCP|UDP] [--target-port=number-or-name] [--name=name] [--external-ip=external-ip-of-service] [--type=type] [options]
|
示例:
1 2 3 4 5 6 7 8
| 为deployments的nginx创建service,并通过Service的80端口转发至容器的8000端口上。 kubectl expose rc nginx --port=80 --target-port=8000
由“nginx-controller.yaml”中指定的type和name标识的RC创建Service,并通过Service的80端口转发至容器的8000端口上。 kubectl expose -f nginx-controller.yaml --port=80 --target-port=8000
暴露指定空间中的资源,例如下面指定暴露kube-system中的nginx资源暴露service名称为ye-nginx-service暴露的端口是80,容器的端口也是80(target-port)。 kubectl expose deployments nginx --port=80 --protocol=TCP --target-port=80 --name=ye-nginx-service -n kube-system
|
kubectl get 命令:
获取列出一个或多个资源的信息。
可以使用的资源包括:
- componentstatuses (缩写 cs)
- deployments (缩写 deploy)
- namespaces (缩写 ns)
- nodes (缩写 no)
- pods (缩写 po)
- replicasets (缩写 rs)
- services (缩写 svc)
1
| kubectl get [(-o|--output=)json|yaml|wide|custom-columns=...|custom-columns-file=...|go-template=...|go-template-file=...|jsonpath=...|jsonpath-file=...] (TYPE[.VERSION][.GROUP] [NAME | -l label] | TYPE[.VERSION][.GROUP]/NAME ...) [flags] [options]
|
示例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| 列出所有运行的Pod信息。 kubectl get pods
列出Pod以及运行Pod节点信息。 kubectl get pods -o wide
列出Pod以及运行Pod节点信息以及labels信息。 kubectl get pods -o wide --show-labels
查看指定名称空间的详细信息 kubectl get pods -n kube-system -o wide
列出指定NAME的信息。 kubectl get deployments nginx -n kube-system
列出组件的状态信息 kubectl get cs
列出kubernetes名称空间 kubectl get ns
查看kubenetes节点信息 kubectl get nodes
查看default中的service服务 kubectl get svc
查看kube-system中的service服务 kubectl get svc -n kube-system
查看kubu-system中service服务的详细信息和label标签 kubectl get svc -n kube-system --show-labels -o wide
|
kubectl scale 命令:
扩容或缩容 Deployment、ReplicaSet、Replication Controller或 Job 中Pod数量。
scale也可以指定多个前提条件,如:当前副本数量或 –resource-version ,进行伸缩比例设置前,系统会先验证前提条件是否成立。
语法:
1
| kubectl scale [--resource-version=version] [--current-replicas=count] --replicas=COUNT (-f FILENAME | TYPE NAME) [options]
|
示例:
1 2 3 4 5 6 7 8
| 将deployments副本控制器中名为nginx的pod副本数设置为3。 kubectl scale --replicas=3 deployments nginx -n kube-system
将由“foo.yaml”配置文件中指定的资源对象和名称标识的Pod资源副本设为3。 kubectl scale --replicas=3 -f foo.yaml
如果当前副本数为2,则将其扩展至3。 kubectl scale --current-replicas=2 --replicas=3 deployment/mysql
|