kubectl命令行接口
/ / 点击kubectl作为客户端的CLI工具,可以让用户通过命令对kubernetes集群进行操作。
kubectl语法
$ kubectl [command] [type] [name] [flags]
- command: 子命令,用于操作kubernetes集群资源对象的命令, create、delete、describe、get、apply、etc.
- type: 资源对象的类型。
- name: 资源对象的名称。
- flags: 子命令可选参数。
一条命令同时对多个资源对象进行操作
$ kubectl get pods pod1 pod2
$ kubectl get pod/pod1 rc/rc1
$ kubectl create -f pod1.yaml -f rc1.yaml -f server1.yaml
常用示例
- 创建资源对象
$ kubectl create -f my-service.yaml -f my-rc.yaml
$ kubectl create -f <directory>
- 查看资源对象
$ kubectl get pods
$ kubectl get rc,service
- 描述资源对象
$ kubectl describe nodes <node-name>
$ kubectl describe pods/<pod-name>
$ kubectl describe pods <rc-name>
- 删除资源对象
$ kubectl delete -f pod.yaml
$ kubectl delete pods,services -l name=<label-name>
$ kubectl delete pods --all
- 执行容器命令
$ kubectl exec <pod-name> date
$ kubectl exec <pod-name> -c <container-name> date
$ kubectl exec <pod-name> -c <container-name> /bin/bash
- 查看容器日志
$ kubectl logs <pod-name>
$ kubectl logs -f <pod-name> -c <container-name>
- 创建/更新资源对象
$ kubectl apply -f app.yaml
- 在线编辑运行中的资源对象
$ kubectl edit deploy nginx
- 将Pod的开放端口映射到本地
$ kubectl port-forward --address 0.0.0.0 pod/nginx-6ddbbc47fb-sfdcv 8888:80
- 在Pod和本地之间复制文件
$ kubectl cp nginx-6ddbbc47fb-sfdcv:/etc/fstab /tmp
- 资源对象的标签设置
$ kubectl label namespace default testing=true
- 检查可用的API资源类型列表
$ kubectl api-resources
help
$ kubectl help
在日常使用中多使用help来寻求帮助:)