kubernetes 官方命令文档:https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands

1 kubectl命令遵循这一语法格式:kubectl  an_action  a_resource  a_resource_name  –flags

2 kubectl get all显示运行中的Pod、Service、Deployment以及ReplicaSet的关键信息,all是指所有已存在的资源

3 kubectl get events显示了event的历史记录。它像是Kubernetes级别的日志,而不是容器级别的日志。

  • help—获取帮助  如,kubectl get pods –help

  • get— 显示有关一个或多个资源的信息。 可以将get和单个对象一起使用,并添加--watch标志以实时观察更新。

  • describe—显示关于一个或多个资源的详细信息

  • logs—显示容器日志 。logs命令需要一个pod名称。当在多个pod中时,使用-c my-container标志来指定一个容器。使用--previous标志来获取不再运行的容器信息

  • exec—进入容器中一个正在运行的进程。例如,要在my_pod中进入容器并运行Bash,请输入kubectl exec -it my_pod bash。

  • apply—创建或选择一个资源。 如果资源不存在,apply将创建它;如果它存在,apply将更改

  • delete—删除一个或多个资源。 kubectl delete pod my_pod这一命令可用于删除名称为my_pod的Pod。要删除所有相同类型的资源,需要使用--all标志。例如,使用kubectl delete rs –all 。 请注意,如果你尝试这一操作,那么要先删除Deployment,否则ReplicaSet将会重新启动。

  • kubectl delete namespace demo-namespace
    删除命名空间不仅删除命名空间,还会清理其中部署了的所有资源

5 kubectl使用配置文件来访问Kubernetes集群。

  1. 如果设置了--kubeconfig标志,则仅加载给定文件。该标志只能设置一次,不会发生合并。

  2. 如果设置了$ KUBECONFIG环境变量,则根据系统的正常路径分隔规则,将其解析为文件系统路径列表。

  3. 否则,如果上述两项都未设置,则使用${HOME}/.kube/config 文件,不进行任何合并

6 查看当前配置:kubectl config view

查看配置的摘要:kubectl config get-contexts

7 查看当前使用的上下文:kubectl config current-context
更改连接的上下文:kubectl config use-context ***
更改当前上下文的命名空间:kubectl config set-context --current --namespaces=rancher

修改当前上下文的命名空间:kubectl config set-context $(kubectl config current-context)  --namespace=demo-namespace

恢复到默认命名空间:kubectl config set-context $(kubectl config current-context)  --namespace= 

kubectl  常用命令

8 检测核心组件状态:kubectl get cs 【如果你的集群运行不正常,这是一个很好的、进行第一次诊断检查的机会】

9 收集服务信息:kubectl cluster-info

10 查看节点信息:kubectl get nodes -o wide

11 可用的命名空间:kubectl get namespaces         创建命名空间:kubectl create namespace test-demo

跨命名空间查询集群上的资源:kubectl get all --all-namespaces

通过文件创建命名空间:kubectl apply -f demo-namespace.yml

kubectl  常用命令

要将操作应用于不同的命名空间,我们必须在命令中包含—namespace=这一选项,如 kubectl  create deployment --image nginx demo-nginx  --namespace=demo-namespace 

查看指定命名空间里的资源:kubectl  create deployment --image nginx demo-nginx  --namespace=demo-namespace 

12 查询资源最新的事件:kubectl get events --all-namespaces

13 查看当前部署的pod: kubectl get pods
查看pod所属的命名空间;kubectl get pods  --all-namespaces

14 清理部署的资源:kubectl delete deployment nginx

15 pod

kubectl  常用命令

 

 16 资源删除

kubectl  常用命令

 

17 服务

kubectl  常用命令

 

18 事件

kubectl  常用命令

 

19 命名空间

kubectl  常用命令

 

20 终极命令

kubectl  常用命令

 

 21 scale

kubectl  常用命令

 

  22 利用wget访问页面:

kubectl  常用命令

 23 创建服务:kubectl  expose

kubectl  常用命令

24 创建deployment 

kubectl  常用命令

 

 kubectl  常用命令

25 升级 & 回滚 

kubectl  常用命令

 kubectl  常用命令

 26 编辑:

kubectl  常用命令

 

 27 

kubectl  常用命令

 

28 通过文件创建:

kubectl  常用命令

29 基于文件删除:

kubectl  常用命令

 

 30 查询资源定义字段有哪些:

kubectl explain pods
kubectl explain pods.met

31 大部分资源的配置清单:
apiVersion:group/version
$ kubectl api-version
kind: 资源类别
metadata:元数据
name
namespace
labels
annotations
spec:期望的状态
status:当前状态,本字段由kubernetes维护

 32

查看名称空间:kubectl get namespace 或 kubectl get ns (namespace简称ns)
查看空间中的资源:kubectl get all -n default
创建空间:kubectl create namespace app
删除空间:kubectl delete namespace app
创建deployment(简写deploy):kubectl create deployment nginx-dp --image=nginx:1.7.9 -n kube-public
查看deployment : kubectl get deployment -n kube-public
展示扩展信息(-o wide):kubectl get pods -n kube-public -o wide
看详细信息:kubectl describe deployment nginx-dp -n kube-public
进入pod:kubectl -exec -it pod-id /bin/bash -n kube-public
删除pod(删除是重启的方法之一):kubectl delete pod pod-id -n kube-public [--force --grace-period=0 ]
删除deployment:kubectl delete deploy nginx-dp -n kube-public
创建服务:kubectl expose deployment nginx-dp --port=80 -n kube-public
查看服务:kubectl get svc -n kube-public
扩容:kubectl scale deployment nginx-dp --replication=2 -n kube-public
命令大全:kubectl --help
查看yaml:kubectl get pods pod-id -o yaml -n kube-public
查看yaml中字段含义:kubectl explain service.metadata
语法格式:kubectl create/apply/delete -f /path/yaml
应用yaml:kubectl apply -f nginx-svc.yaml
利用yaml删除:kubectl delete -f nginx-svc.yaml
在线修改yaml:kubectl edit svc nginx-dp
daemonset缩写ds

33 

查看资源名称:kubectl api-resources

查看资源字段规范:kubectl explian deployment.spec --recursive
kubectl explain仅显示单个级别的字段。你可以使用--recursive标志来显示所有级别的字段

自定义列输出选项的用法如下:kubectl get pods -o custom-columns='NAME:metadata.name'
kubectl get pods -o custom-columns='NAME:metadata.name,NODE:spec.nodeName'
# Pod调度的节点保存在Pod的spec.nodeName字段中(请参阅kubectl explain pod.spec.nodeName)

# Select all elements of a list
kubectl get pods -o custom-columns='DATA:spec.containers[*].image'
# Select a specific element of a list
kubectl get pods -o custom-columns='DATA:spec.containers[0].image'
# Select those elements of a list that match a filter expression
kubectl get pods -o custom-columns='DATA:spec.containers[?(@.image!="nginx")].image'
# Select all fields under a specific location, regardless of their name
kubectl get pods -o custom-columns='DATA:metadata.*'
# Select all fields with a specific name, regardless of their location
kubectl get pods -o custom-columns='DATA:..image'

34 

kubectl logs rc-nginx-2-kpiqt logs命令用于显示pod运行中,容器内程序输出到标准输出的内容
kubectl rolling-update rc-nginx-2 -f rc-nginx.yaml 对于已经部署并且正在运行的业务,rolling-update提供了不中断业务的更新方式
kubectl scale rc rc-nginx-3 —replicas=4 scale用于程序在负载加重或缩小时副本进行扩容或缩小
kubectl autoscale rc rc-nginx-3 —min=1 —max=4 autoscale命令会给一个rc指定一个副本数的范围

kubectl attach kube-dns-v9-rcfuk -c skydns —namespace=kube-system attach命令类似于docker的attach命令,可以直接查看容器中以daemon形式运行的进程的输出

kubectl version
kubectl api-versions

 ======

kubectl cluster-info

Kubernetes master is running at https://172.16.16.3:6443
coredns is running at https://172.16.16.3:6443/api/v1/namespaces/kube-system/services/coredns:dns/proxy
kubernetes-dashboard is running at https://172.16.16.3:6443/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy
多个yaml文件
kubectl create -f nginx -deploy.yaml - f nginx-svc.yaml
列出 kube-namespace 名称空间中拥有 k8s-app 标签名称的所有 Pod 对象:
 kubectl get pods -1 k8s-app -n kube-system
kubectl logs -f
为上面的命令添加“ J”选项,还能用于持续监控指定容器中的日志输出
复 制 master 主机上的 /etc/kubernetes/admin.conf 至相关用户主目录下 的 .kube/config 文件即可正常执行

 

打印环境变量
 kubectl exec jupyterhub-7c9f5458dc-flt7k  -n baaisys-oauth  -- printenv

 

相关文章: