kubernetes 常用命令

栏目: 编程工具 · 发布时间: 5年前

内容简介:日常工作中最常用的 kubernetes 命令,做下总结参数解释get deployment 包括namespace 名称 deployment 的name,以及预期副本数 和当前副本数 最新的副本数以及可用的副本数和运行时间

日常工作中最常用的 kubernetes 命令,做下总结

kubctl 常用命令说明

[root@ceph0 ~]# kubectl
kubectl controls the Kubernetes cluster manager.

Find more information at: https://kubernetes.io/docs/reference/kubectl/overview/

Basic Commands (Beginner):
  create         Create a resource from a file or from stdin.
  expose         使用 replication controller, service, deployment 或者 pod 并暴露它作为一个 新的
Kubernetes Service
  run            在集群中运行一个指定的镜像
  set            为 objects 设置一个指定的特征

Basic Commands (Intermediate):
  explain        查看资源的文档
  get            显示一个或更多 resources
  edit           在服务器上编辑一个资源
  delete         Delete resources by filenames, stdin, resources and names, or by resources and label selector

Deploy Commands:
  rollout        Manage the rollout of a resource
  scale          为 Deployment, ReplicaSet, Replication Controller 或者 Job 设置一个新的副本数量
  autoscale      自动调整一个 Deployment, ReplicaSet, 或者 ReplicationController 的副本数量

Cluster Management Commands:
  certificate    修改 certificate 资源.
  cluster-info   显示集群信息
  top            Display Resource (CPU/Memory/Storage) usage.
  cordon         标记 node 为 unschedulable
  uncordon       标记 node 为 schedulable
  drain          Drain node in preparation for maintenance
  taint          更新一个或者多个 node 上的 taints

Troubleshooting and Debugging Commands:
  describe       显示一个指定 resource 或者 group 的 resources 详情
  logs           输出容器在 pod 中的日志
  attach         Attach 到一个运行中的 container
  exec           在一个 container 中执行一个命令
  port-forward   Forward one or more local ports to a pod
  proxy          运行一个 proxy 到 Kubernetes API server
  cp             复制 files 和 directories 到 containers 和从容器中复制 files 和 directories.
  auth           Inspect authorization

Advanced Commands:
  apply          通过文件名或标准输入流(stdin)对资源进行配置
  patch          使用 strategic merge patch 更新一个资源的 field(s)
  replace        通过 filename 或者 stdin替换一个资源
  wait           Experimental: Wait for one condition on one or many resources
  convert        在不同的 API versions 转换配置文件

Settings Commands:
  label          更新在这个资源上的 labels
  annotate       更新一个资源的注解
  completion     Output shell completion code for the specified shell (bash or zsh)

Other Commands:
  alpha          Commands for features in alpha
  api-resources  Print the supported API resources on the server
  api-versions   Print the supported API versions on the server, in the form of "group/version"
  config         修改 kubeconfig 文件
  plugin         Runs a command-line plugin
  version        输出 client 和 server 的版本信息

Usage:
  kubectl [flags] [options]

Use "kubectl <command> --help" for more information about a given command.
Use "kubectl options" for a list of global command-line options (applies to all commands).

查看所有 namespace 下的 pod

[root@ceph0 ~]# kubectl get pods --all-namespaces
NAMESPACE     NAME                                         READY     STATUS    RESTARTS   AGE
cluster       infra-etcd-cluster-0                         1/1       Running   0          23d
cluster       infra-etcd-cluster-1                         1/1       Running   0          23d
cluster       infra-etcd-cluster-2                         1/1       Running   0          23d
cluster       kube-apiserver-5d76df98fc-8vxlb              1/1       Running   0          23d
cluster       kube-apiserver-5d76df98fc-ds5q7              1/1       Running   1          23d
cluster       kube-apiserver-5d76df98fc-xvbxn              1/1       Running   0          23d
cluster       kube-controller-manager-c47df946f-4rvlr      1/1       Running   22         23d
cluster       kube-controller-manager-c47df946f-j4sw8      1/1       Running   25         23d
cluster       kube-controller-manager-c47df946f-pkhpt      1/1       Running   25         23d
cluster       kube-scheduler-688bddcddc-dkw6g              1/1       Running   21         23d
cluster       kube-scheduler-688bddcddc-ll2hx              1/1       Running   18         23d
cluster       kube-scheduler-688bddcddc-lpbx9              1/1       Running   22         23d
kube-system   etcd-192.168.10.186                          1/1       Running   1          23d
kube-system   etcd-192.168.10.187                          1/1       Running   0          23d
kube-system   etcd-192.168.10.25                           1/1       Running   1          23d
kube-system   kube-proxy-4zkgl                             1/1       Running   0          23d
kube-system   kube-proxy-f56fz                             1/1       Running   0          23d
kube-system   kube-proxy-m6k8b                             1/1       Running   0          23d
kube-system   milky-ctrl-9cc54bcbc-8ktvb                   1/1       Running   11         23d
kube-system   milky-ctrl-9cc54bcbc-9mmbm                   1/1       Running   2          23d
kube-system   milky-ctrl-9cc54bcbc-mwrgl                   1/1       Running   1          23d

参数解释

属性 说明
NAMESPACE 所在的namespace
NAME pod 名称
READY 当前准备就绪的pod 1/1 表示当前1和就绪1个 如果是pod 异常了 这个值会发生变化
STATUS 容器的生命周期
RESTARTS pod 重启的次数
AGE pod 运行的时间

查看所有 namespace 下的 deployments

get deployment 包括namespace 名称 deployment 的name,以及预期副本数 和当前副本数 最新的副本数以及可用的副本数和运行时间

[root@ceph0 ~]# kubectl get deployments --all-namespaces
NAMESPACE     NAME                        DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
cluster       kube-apiserver              3         3         3            3           23d
cluster       kube-controller-manager     3         3         3            3           23d
cluster       kube-scheduler              3         3         3            3           23d
kube-system   milky-ctrl                  3         3         3            3           23d

查看pod 的 IP 和node 地址

[root@ceph0 ~]# kubectl get pods --all-namespaces -o wide
NAMESPACE     NAME                                         READY     STATUS    RESTARTS   AGE       IP               NODE
cluster       infra-etcd-cluster-0                         1/1       Running   0          23d       192.168.10.187   192.168.10.187
cluster       infra-etcd-cluster-1                         1/1       Running   0          23d       192.168.10.186   192.168.10.186
cluster       infra-etcd-cluster-2                         1/1       Running   0          23d       192.168.10.25    192.168.10.25
cluster       kube-apiserver-5d76df98fc-8vxlb              1/1       Running   0          23d       192.168.10.187   192.168.10.187
cluster       kube-apiserver-5d76df98fc-ds5q7              1/1       Running   1          23d       192.168.10.25    192.168.10.25
cluster       kube-apiserver-5d76df98fc-xvbxn              1/1       Running   0          23d       192.168.10.186   192.168.10.186
cluster       kube-controller-manager-c47df946f-4rvlr      1/1       Running   22         23d       192.168.10.186   192.168.10.186
cluster       kube-controller-manager-c47df946f-j4sw8      1/1       Running   25         23d       192.168.10.187   192.168.10.187
cluster       kube-controller-manager-c47df946f-pkhpt      1/1       Running   25         23d       192.168.10.25    192.168.10.25
cluster       kube-scheduler-688bddcddc-dkw6g              1/1       Running   21         23d       192.168.10.187   192.168.10.187
cluster       kube-scheduler-688bddcddc-ll2hx              1/1       Running   18         23d       192.168.10.186   192.168.10.186
cluster       kube-scheduler-688bddcddc-lpbx9              1/1       Running   22         23d       192.168.10.25    192.168.10.25

查看deployment 配置

describe 用来显示一个指定 resource 或者 group 的 resources 详情。

[root@ceph0 ~]# kubectl describe deployment kube-apiserver -n cluster
Name:                   kube-apiserver
Namespace:              cluster
CreationTimestamp:      Fri, 15 Feb 2019 17:20:43 +0800
Labels:                 <none>
Annotations:            deployment.kubernetes.io/revision=1
Selector:               component=kube-apiserver
Replicas:               3 desired | 3 updated | 3 total | 3 available | 0 unavailable
StrategyType:           RollingUpdate
MinReadySeconds:        0
RollingUpdateStrategy:  25% max unavailable, 25% max surge
Pod Template:
  Labels:  component=kube-apiserver
  Containers:
   kube-apiserver:
    Image:      harbor-inner.env1.qingzhou.com/library/kube-apiserver-amd64:v1.11.1
    Port:       <none>
    Host Port:  <none>
    Command:
      kube-apiserver
      --bind-address=$(K8S_KUBE_ADVERTISE_ADDRESS)
      --insecure-bind-address=127.0.0.1
      --insecure-port=28080
      --secure-port=26443
      --authorization-mode=Node,RBAC
      --allow-privileged=true
      --kubelet-https=true
      --apiserver-count=3
      --kubelet-client-certificate=/etc/kubernetes/pki/kubernetes.pem
      --kubelet-client-key=/etc/kubernetes/pki/kubernetes-key.pem
      --basic-auth-file=/etc/kubernetes/pki/basic-auth.csv
      --enable-bootstrap-token-auth=true
      --token-auth-file=/etc/kubernetes/pki/token.csv
      --client-ca-file=/etc/kubernetes/pki/ca.pem
      --tls-cert-file=/etc/kubernetes/pki/kubernetes.pem
      --tls-private-key-file=/etc/kubernetes/pki/kubernetes-key.pem
      --service-account-key-file=/etc/kubernetes/pki/ca-key.pem
      --logtostderr=true
      --log-dir=/var/log/kubernetes
      --requestheader-client-ca-file=/etc/kubernetes/pki/front-proxy-ca.pem
      --requestheader-allowed-names=kubernetes
      --requestheader-extra-headers-prefix=X-Remote-Extra-
      --requestheader-group-headers=X-Remote-Group
      --requestheader-username-headers=X-Remote-User
      --proxy-client-cert-file=/etc/kubernetes/pki/front-proxy-client.pem
      --proxy-client-key-file=/etc/kubernetes/pki/front-proxy-client-key.pem
      --runtime-config=api/all=true
      --enable-aggregator-routing=true
      --admission-control=Initializers,NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,ResourceQuota
      --service-cluster-ip-range=10.88.0.0/16
      --etcd-servers=http://192.168.10.186:14389,http://192.168.10.25:14389,http://192.168.10.187:14389
    Requests:
      cpu:  250m
    Environment:
      K8S_KUBE_ADVERTISE_ADDRESS:   (v1:spec.nodeName)
    Mounts:
      /etc/kubernetes/pki/ from k8spki (ro)
      /etc/localtime from localtime (rw)
      /var/log/kubernetes/ from datalog (rw)
  Volumes:
   k8spki:
    Type:          HostPath (bare host directory volume)
    Path:          /data/user-k8s/cluster/etc/pki
    HostPathType:  DirectoryOrCreate
   datalog:
    Type:          HostPath (bare host directory volume)
    Path:          /data/user-k8s/cluster/log/kubernetes
    HostPathType:  DirectoryOrCreate
   localtime:
    Type:          HostPath (bare host directory volume)
    Path:          /etc/localtime
    HostPathType:
Conditions:
  Type           Status  Reason
  ----           ------  ------
  Progressing    True    NewReplicaSetAvailable
  Available      True    MinimumReplicasAvailable
OldReplicaSets:  kube-apiserver-5d76df98fc (3/3 replicas created)
NewReplicaSet:   <none>
Events:          <none>

查看pod 的 logs

  • -f 实时输出日志
kubectl logs -f pod-name -n namspaces

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Introduction to Tornado

Introduction to Tornado

Michael Dory、Adam Parrish、Brendan Berg / O'Reilly Media / 2012-3-28 / USD 23.99

Tornado is a scalable, non-blocking web server and web application framework written in Python. It is also light-weight to deploy, fun to write for, and incredibly powerful. Tornado was written with p......一起来看看 《Introduction to Tornado》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具