kubectl 常规命令

一.kubectl输出格式

kubectl命令可以用多种格式对结果进行显示,输出格式通过-o参数指定
$ kubectl [command] [TYPE] [NAME] -o=<output_format>
(1)-o=custom-columns=<spec> :根据自定义列名进行输出,以逗号分隔
(2)-o=custom-columns-file=<filename> :从文件中获取自定义列名进行输出
(3)-o=json : 以JSON格式显示结果
(4)-o=jsonpath=<filename> :输出jsonpath表达式定义的字段信息,来源于文件
(5)-o=name :仅输出资源对象的名称
(6)-o=wide :输出额外信息,对于pod,将输出Pod所在的Node名
(7)-o=yaml :以yaml的格式显示结果

二.kubectl操作示例

1.创建资源对象
(1)根据yaml配置文件一次性创建service和rc
$ kubectl create -f my-service.yaml -f my-rc.yaml
(2)根据<directory>目录下所有.yaml .yml .json文件定义进行创建操作
$ kubectl create -f <directory>

2.查看资源对象
(1)查看所有的Pod列表
$ kubectl get pods
(2)查看rc和service列表
$ kubectl get rc,service

3.描述资源对象
(1)显示Node的详细信息
$ kubectl descirbe nodes <node-name>

(2)显示Pod的详细信息
$ kubectl descirbe pods/<pod-name>

(3) 显示由RC管理的Pod的信息
$ kubectl descirbe pods <rc-name>

4.删除资源对象
(1)基于pod.yaml定义的名称删除Pod
$ kubectl delete -f pod.yaml

(2)删除所有包含某个label的Pod和service
$kubectl delete pods,service -l name=<label-name>

(3)删除所有Pod
$kubectl delete pods --all

5.执行容器的命令
(1)执行Pod的date命令,默认使用Pod中的第1个容器执行
$kubectl exec <pod-name> date

(2) 指定Pod中某个容器执行date命令
$kubectl exec <pod-name> -c <container-name> date

(3)通过bash获得Pod中某个容器的TTY,相当于登录容器
$kubectl exec -it <pod-name> -c <container-name> /bin/bash

6.查看容器的日志
(1)查看容器输出到stdout的日志
$ kubectl logs <pod-name>

(2)跟踪查看容器的日志,相当于tail -f 命令的结果
$ kubectl logs -f <pod-name> -c <container-name>

原文地址:https://www.cnblogs.com/lovegrace/p/11020236.html