一. kubectl常用操作命令

1、kubectl apply (以文件更新一个或多个资源)

kubectl apply -f example-service.yaml  创建一个service 资源

kubectl apply -f <directory>  对该目录下的所有yaml、yml和json文件中的定义进行创建

2、kubectl  get (列出一个或多个资源对象的信息)

kubectl  get  pods   --all-namespaces    列出所有namespace下的pod信息

kubectl  get  pod   <pod-name>   -o  wide  显示pod的更多信息

kubectl  get  pod   <pod-name>  -o  yaml  以yaml 格式显示pod 的信息

kubectl  get  pod   <pod-name>  -o  custom-columns=NAME:.metadata.name  自定义格式输出,Name是自定义列名,metadata.name是yaml文件中的

kubectl  get  pods  --all-namespaces  --sort-by=.metadata.name  根据name排序

kubectl  get  pods  --all-namespaces  --field-selector=spec.nodeName=node01   列出节点node01上所有的pod (指定namespace,可使用 -n namespaceName)

3、kubectl  describe  (显示一个或多个资源信息)

kubectl  describe  node  <node-name>   显示<node-name>的节点信息

kubectl  describe  pod  <pode-name>  -n namespaceName     展示<pode-name>的描述信息

4、kubectl  delete  

kubectl  delete  -f  pod.yaml   使用yaml文件删除pod

kubectl  delete  pods, services  -l  <lable-key>=<lable-value>   删除所有带<lable-key>=<lable-value> 标签的pod和service

kubectl  delete  pods  -all  删除所有的pod

5、kubectl  exec  (在pod的容器中执行命令)

kubectl  exec  <pod-name>  -- date   在pod-name 的pod中的第一个容器中执行date命令并打印输出结果

kubectl  exec  <pod-name>  -c  <container-name>  -- date   在指定的容器里执行date命令并打印出来

kubectl exec  -it  <pod-name>  -n  namespaceName  -- /bin/bash   在pod的第一个容器中运行/bin/bash 命令并进入交互式的TTY终端界面

6、kubectl  logs  (打印pod中容器的日志)

kubectl  logs  <pod-name>  打印pod-name中的第一个容器的日志

kubectl  logs  <pod-name>  -c  <container-name>   打印指定容器的日志

kubectl  logs  -f  <pod-name>  持续打印pod中第一个容器的日志,类似于tail  -f  

7、kubectl  cp  (在容器和node之间复制文件)

kubectl  cp  <pod-name>:/etc/test/  /temp    将pod(默认第一个容器)中的 /etc/test 文件复制到宿主机的/temp 目录下

8、kubectl  edit  (在线编辑运行中的资源对象)

kubectl  edit  deploy  nginx   编辑运行中的一个Deployment

9、kubectl  port-forward  (将pod的端口号映射到宿主机上)

kubectl  port-forward  -address 0.0.0.0  pod/pod-name  8888:80  将pod的8端口映射到宿主机上的8888端口

10、kubectl  label  (对资源对象设置标签)

kubectl  label  pod  podName  test=true   

kubectl  label  namespace  namespaceName  testing=true

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐