一、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创建podkubectl 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