一、kubernetes kubectl get 命令详解

kubectl get 获取列出一个或多个资源的信息。

可以使用的资源包括:

kubectl get all 		
列出所有不同的资源对象
kubectl get certificatesigningrequests (aka 'csr')  
 列出所有csr请求    
kubectl get	clusterrolebindings   
列出所有集群角色绑定
kubectl get	clusterroles
列出集群角色
kubectl get	clusters (valid only for federation apiservers)
列出集群
kubectl get	componentstatuses (aka 'cs')
查询etcd集群及scheduler、controller-manager的健康状态
kubectl get	configmaps (aka 'cm')
获取资源对象
kubectl get	controllerrevisions
kubectl get	cronjobs
kubectl get	daemonsets (aka 'ds')
kubectl get	deployments (aka 'deploy')
kubectl get	endpoints (aka 'ep')
注: 对 Kubernetes 集群中的应用,Kubernetes 提供了简单的 Endpoints API,只要 Service 中的一组 Pod 发生变更,应用程序就会被更新
kubectl get	events (aka 'ev')
kubectl get	horizontalpodautoscalers (aka 'hpa')
kubectl get	ingresses (aka 'ing')
kubectl get	jobs
kubectl get	limitranges (aka 'limits')
kubectl get	namespaces (aka 'ns')
kubectl get	networkpolicies (aka 'netpol')
kubectl get	nodes (aka 'no')
kubectl get	persistentvolumeclaims (aka 'pvc')
kubectl get	persistentvolumes (aka 'pv')
kubectl get	poddisruptionbudgets (aka 'pdb')
kubectl get	podpreset
kubectl get	pods (aka 'po')
kubectl get	podsecuritypolicies (aka 'psp')
kubectl get	podtemplates
kubectl get	replicasets (aka 'rs')
kubectl get	replicationcontrollers (aka 'rc')
kubectl get	resourcequotas (aka 'quota')
kubectl get	rolebindings
kubectl get	roles
kubectl get	secrets
kubectl get	serviceaccounts (aka 'sa')
kubectl get	services (aka 'svc')
kubectl get	statefulsets
kubectl get	storageclasses
kubectl get	thirdpartyresources
  • 语法

      get [(-o|--output=)json|yaml|wide|custom-columns=...|custom-columns-file=...|go-template=...|go-template-file=...|jsonpath=...|jsonpath-file=...] (TYPE [NAME | -l label] | TYPE/NAME ...) [flags]
    
  • 示例

列出默认命名空间所有运行的Pod信息

kubectl get pods

查看所有命名空间的pod的信息

kubectl get pods --all-namespaces -o wide

以JSON格式输出一个pod信息。

 kubectl get pod busybox -o json

以yaml格式输出一个pod信息。

kubectl get pod busybox -o yaml

以“pod.yaml”配置文件中指定资源对象和名称输出JSON格式的Pod信息。

kubectl get -f pod.yaml -o json

列出所有replication controllers和service信息。

kubectl get rc,services

按其资源和名称列出相应信息。

kubectl get rc/web service/frontend pods/web-pod-13je7

列出所有节点的详细信息

kubectl get no -o wide

二、kubectl create命令

通过配置文件名或stdin创建一个集群资源对象。

  • 语法

      create -f FILENAME
    
  • 示例
    通过pod.yaml创建pod

      kubectl create -f pod.yaml
    

三、kubectl delete命令

通过配置文件名、stdin、资源名称或label选择器来删除资源。

  • 语法

    delete ([-f FILENAME] | TYPE [(NAME | -l label | --all)])
    
  • 示例
    删除名为“baz”和“foo”的Pod和Service。

    kubectl delete pod,service baz foo
    

删除 Label name = myLabel的pod和Service。

    kubectl delete pods,services -l name=myLabel

强制删除dead node上的pod

    kubectl delete pod foo --grace-period=0 --force

删除所有pod

    kubectl delete pods --all

四、Kubernetes kubectl scale 命令详解

  • 语法

    scale [--resource-version=version] [--current-replicas=count] --replicas=COUNT (-f FILENAME | TYPE NAME)
    
  • 示例
    将名为foo中的pod副本数设置为3。

    kubectl scale --replicas=3 rs/foo
    

将由“foo.yaml”配置文件中指定的资源对象和名称标识的Pod资源副本设为3。

    kubectl scale --replicas=3 -f foo.yaml

如果当前副本数为2,则将其扩展至3。

    kubectl scale --current-replicas=2 --replicas=3 deployment/mysql

设置多个RC中Pod副本数量。

    kubectl scale --replicas=5 rc/foo rc/bar rc/baz

参考地址:https://kubernetes.io/docs/reference/kubectl/overview/

Logo

开源、云原生的融合云平台

更多推荐