{"id":1594,"date":"2020-06-09T21:09:40","date_gmt":"2020-06-09T13:09:40","guid":{"rendered":"http:\/\/39.97.231.10\/?p=1594"},"modified":"2020-06-09T21:09:40","modified_gmt":"2020-06-09T13:09:40","slug":"kubernetes-kubectl","status":"publish","type":"post","link":"http:\/\/www.weijing.co\/?p=1594","title":{"rendered":"Kubernetes kubectl \u6982\u8ff0"},"content":{"rendered":"<header class=\\\"entry-header\\\"><\/header>\n<div class=\\\"entry-content\\\">\n<div id=\\\"toc_container\\\" class=\\\"no_bullets\\\">\n<span style=\\\"font-size: 1rem;\\\">kubectl\u7528\u4e8e\u8fd0\u884cKubernetes\u96c6\u7fa4\u547d\u4ee4\u7684\u7ba1\u7406\u5de5\u5177\u3002\u672c\u6587\u6982\u8ff0\u6db5\u76d6\u4e86kubectl\u8bed\u6cd5\uff0c\u5bf9\u547d\u4ee4\u64cd\u4f5c\u7684\u63cf\u8ff0\uff0c\u5e76\u5217\u4e3e\u7684\u5e38\u89c1\u4f8b\u5b50\u3002\u6709\u5173\u6bcf\u4e2a\u547d\u4ee4\u7684\u8be6\u7ec6\u4fe1\u606f\uff0c\u5305\u62ec\u652f\u6301\u7684\u6240\u6709flags\u548c\u5b50\u547d\u4ee4\u3002<\/span>\n<\/div>\n<h2><span id=\\\"i\\\">\u8bed\u6cd5<\/span><\/h2>\n<p>\u5728\u7ba1\u7406\u5de5\u5177\u754c\u9762\u4f7f\u7528kubectl\u8bed\u6cd5\u8fd0\u884c\u5982\u4e0b\u547d\u4ee4\uff1a<\/p>\n<pre>kubectl [command]\u00a0[TYPE] [NAME] [flags]<\/pre>\n<p>\u5176\u4e2dcommand\uff0cTYPE\uff0cNAME\uff0c\u548cflags\u90fd\u662f\uff1a*\u00a0command\uff1a\u6307\u5b9a\u8981\u5728\u4e00\u4e2a\u6216\u591a\u4e2a\u8d44\u6e90\u6267\u884c\u7684\u64cd\u4f5c\uff0c\u4f8b\u5982\u64cd\u4f5ccreate\uff0cget\uff0cdescribe\uff0cdelete\u3002*\u00a0TYPE\uff1a\u6307\u5b9a\u8d44\u6e90\u7c7b\u578bResource types\u3002Resource types\u4f1a\u533a\u5206\u5927\u5c0f\u5199\uff0c\u4e5f\u53ef\u4ee5\u6307\u5b9a\u5355\u6570\uff0c\u590d\u6570\u6216\u7f29\u5199\u7684\u5f62\u5f0f\u3002\u4f8b\u5982\uff0c\u4ee5\u4e0b\u547d\u4ee4\u5c06\u8f93\u51fa\u76f8\u540c\u7684\u7ed3\u679c\uff1a<br \/>\nshell<br \/>\n$ kubectl get pod pod1<br \/>\n$ kubectl get pods pod1<br \/>\n$ kubectl get po pod1<br \/>\n*\u00a0NAME\uff1a\u6307\u5b9aResource\u7684Name\u3002Name\u533a\u5206\u5927\u5c0f\u5199\uff0c\u5982\u679c\u7701\u7565Name\uff0c\u5219\u663e\u793a\u6240\u6709\u8d44\u6e90\u7684\u8be6\u7ec6\u4fe1\u606f\uff0c<br \/>\n\u4f8b\u5982\uff1a$ kubectl get pods\u3002<br \/>\n\u5f53\u5728\u591a\u4e2a\u8d44\u6e90\u4e0a\u6267\u884c\u64cd\u4f5c\u65f6\uff0c\u53ef\u4ee5\u901a\u8fc7type\u548cname\u00a0\u6307\u5b9a\u6bcf\u4e2a\u8d44\u6e90\uff0c\u6216\u8005\u6307\u5b9a\u4e00\u4e2a\u6216\u591a\u4e2afile:\u901a\u8fc7type\u548cname\u6307\u5b9a\u7684\u8d44\u6e90:\u5982\u679c\u5b83\u4eec\u90fd\u662f\u76f8\u540c\u7684type\uff0c\u5c31\u53ef\u4ee5\u5bf9\u8d44\u6e90\u8fdb\u884c\u5206\u7ec4TYPE1 name1 name2 name&lt;#&gt;<\/p>\n<ul>\n<li>\u4f8b\uff1a$ kubectl get pod example-pod1 example-pod2\u00a0*\u5355\u72ec\u6307\u5b9a\u591a\u79cd\u8d44\u6e90type\uff1aTYPE1\/name1 TYPE1\/name2 TYPE2\/name3 TYPE&lt;#&gt;\/name&lt;#&gt;<\/li>\n<li>\u4f8b\uff1a$ kubectl get pod\/example-pod1 replicationcontroller\/example-rc1\u00a0*\u4f7f\u7528\u4e00\u4e2a\u6216\u591a\u4e2afile\u6765\u6307\u5b9a\u8d44\u6e90\uff1a-f file1 -f file2 -f file&lt;#&gt;\u00a0\u4f7f\u7528YAML\u800c\u4e0d\u662fJSON\uff0c\u56e0\u4e3aYAML\u5f80\u5f80\u66f4\u5bb9\u6613\u638c\u63e1\u4e5f\u5bf9\u7528\u6237\u66f4\u53cb\u597d\uff0c\u7279\u522b\u662f\u5bf9\u4e8e\u914d\u7f6e\u6587\u4ef6\u3002<\/li>\n<li>\u4f8b\uff1a$ kubectl get pod -f .\/pod.yaml\u00a0*\u00a0flags\uff1a\u6307\u5b9a\u53ef\u9009flags\u3002\u4f8b\u5982\uff0c\u4f60\u53ef\u4ee5\u4f7f\u7528-s\u6216&#8211;server flag\u6765\u6307\u5b9aKubernetes API\u00a0Server\u7684\u5730\u5740\u548c\u7aef\u53e3\u3002<\/li>\n<\/ul>\n<p><em>\u63d0\u793a\uff1a\u547d\u4ee4\u884c\u6307\u5b9a\u7684flags\u5c06\u8986\u76d6\u9ed8\u8ba4\u503c\u548c\u4efb\u4f55\u76f8\u5e94\u7684\u73af\u5883\u53d8\u91cf\u3002<\/em><\/p>\n<blockquote><p>\u5982\u679c\u9700\u8981\u66f4\u591a\u76f8\u5173\u5e2e\u52a9\uff0c\u53ea\u9700\u4ece\u7ec8\u7aef\u547d\u4ee4\u7a97\u53e3\u8fd0\u884c kubectl help<\/p><\/blockquote>\n<h2><span id=\\\"Operations\\\">Operations<\/span><\/h2>\n<p>\u4e0b\u8868\u5305\u62ec\u4e86\u6240\u6709kubectl\u64cd\u4f5c\u7b80\u77ed\u63cf\u8ff0\u548c\u901a\u7528\u8bed\u6cd5\uff1a<\/p>\n<table>\n<thead>\n<tr>\n<th>Operation<\/th>\n<th>Syntax<\/th>\n<th>Description<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><a href=\\\"https:\/\/www.kubernetes.org.cn\/doc-46\\\" target=\\\"_blank\\\" rel=\\\"nofollow noopener noreferrer\\\">annotate<\/a><\/td>\n<td>kubectl annotate (-f FILENAME | TYPE NAME | TYPE\/NAME) KEY_1=VAL_1 &#8230; KEY_N=VAL_N [&#8211;overwrite] [&#8211;all] [&#8211;resource-version=version] [flags]<\/td>\n<td>\u4e3a\u4e00\u4e2a\u6216\u591a\u4e2a\u8d44\u6e90\u6dfb\u52a0\u6ce8\u91ca<\/td>\n<\/tr>\n<tr>\n<td>api-versions<\/td>\n<td>kubectl api-versions [flags]<\/td>\n<td>\u5217\u51fa\u652f\u6301\u7684API\u7248\u672c\u3002<\/td>\n<\/tr>\n<tr>\n<td>apply<\/td>\n<td>kubectl apply -f FILENAME [flags]<\/td>\n<td>\u5bf9\u6587\u4ef6\u6216stdin\u7684\u8d44\u6e90\u8fdb\u884c\u914d\u7f6e\u66f4\u6539\u3002<\/td>\n<\/tr>\n<tr>\n<td>attach<\/td>\n<td>kubectl attach POD -c CONTAINER [-i] [-t] [flags]<\/td>\n<td>\u8fde\u63a5\u5230\u4e00\u4e2a\u8fd0\u884c\u7684\u5bb9\u5668\uff0c\u65e2\u53ef\u4ee5\u67e5\u770boutput stream\uff0c\u4e5f\u53ef\u4ee5\u4e0e\u5bb9\u5668(stdin)\u8fdb\u884c\u4ea4\u4e92\u3002<\/td>\n<\/tr>\n<tr>\n<td>autoscale<\/td>\n<td>kubectl autoscale (-f FILENAME | TYPE NAME | TYPE\/NAME) [&#8211;min=MINPODS] &#8211;max=MAXPODS [&#8211;cpu-percent=CPU] [flags]<\/td>\n<td>\u81ea\u52a8\u6269\u5bb9\/\u7f29\u5bb9\u7531replication controller\u7ba1\u7406\u7684\u4e00\u7ec4pod\u3002<\/td>\n<\/tr>\n<tr>\n<td>cluster-info<\/td>\n<td>kubectl cluster-info [flags]<\/td>\n<td>\u663e\u793a\u6709\u5173\u96c6\u7fa4\u4e2dmaster\u548cservices\u7684\u7ec8\u7aef\u4fe1\u606f\u3002<\/td>\n<\/tr>\n<tr>\n<td>config<\/td>\n<td>kubectl config SUBCOMMAND [flags]<\/td>\n<td>\u4fee\u6539kubeconfig\u6587\u4ef6\u3002\u6709\u5173\u8be6\u7ec6\u4fe1\u606f\uff0c\u8bf7\u53c2\u9605\u5404\u4e2a\u5b50\u547d\u4ee4\u3002<\/td>\n<\/tr>\n<tr>\n<td>create<\/td>\n<td>kubectl create -f FILENAME [flags]<\/td>\n<td>\u4ecefile\u6216stdin\u521b\u5efa\u4e00\u4e2a\u6216\u591a\u4e2a\u8d44\u6e90\u3002<\/td>\n<\/tr>\n<tr>\n<td>delete<\/td>\n<td>kubectl delete (-f FILENAME | TYPE [NAME | \/NAME | -l label | &#8211;all]) [flags]<\/td>\n<td>\u4ecefile\uff0cstdin\u6216\u6307\u5b9alabel\u00a0\u9009\u62e9\u5668\uff0cnames\uff0cresource\u9009\u62e9\u5668\u6216resources\u4e2d\u5220\u9664resources\u3002<\/td>\n<\/tr>\n<tr>\n<td>describe<\/td>\n<td>kubectl describe (-f FILENAME | TYPE [NAME_PREFIX | \/NAME | -l label]) [flags]<\/td>\n<td>\u663e\u793a\u4e00\u4e2a\u6216\u591a\u4e2aresources\u7684\u8be6\u7ec6\u72b6\u6001\u3002<\/td>\n<\/tr>\n<tr>\n<td>edit<\/td>\n<td>kubectl edit (-f FILENAME | TYPE NAME | TYPE\/NAME) [flags]<\/td>\n<td>\u4f7f\u7528\u9ed8\u8ba4\u7f16\u8f91\u5668\u7f16\u8f91\u548c\u66f4\u65b0\u670d\u52a1\u5668\u4e0a\u4e00\u4e2a\u6216\u591a\u4e2a\u5b9a\u4e49\u7684\u8d44\u6e90\u3002<\/td>\n<\/tr>\n<tr>\n<td>exec<\/td>\n<td>kubectl exec POD [-c CONTAINER] [-i] [-t] [flags] [&#8211; COMMAND [args&#8230;]]<\/td>\n<td>\u5bf9pod\u4e2d\u7684\u5bb9\u5668\u6267\u884c\u547d\u4ee4\u3002<\/td>\n<\/tr>\n<tr>\n<td>explain<\/td>\n<td>kubectl explain [&#8211;include-extended-apis=true] [&#8211;recursive=false] [flags]<\/td>\n<td>\u83b7\u53d6\u5404\u79cd\u8d44\u6e90\u7684\u6587\u6863\u3002\u4f8b\u5982pod\uff0cnode\uff0cservices\u7b49<\/td>\n<\/tr>\n<tr>\n<td>expose<\/td>\n<td>kubectl expose (-f FILENAME | TYPE NAME | TYPE\/NAME) [&#8211;port=port] [&#8211;protocol=TCP|UDP] [&#8211;target-port=number-or-name] [&#8211;name=name] [&#8212;-external-ip=external-ip-of-service] [&#8211;type=type] [flags]<\/td>\n<td>\u5c06\u00a0replication controller\uff0cservice\u6216pod\u4f5c\u4e3a\u4e00\u4e2a\u65b0\u7684Kubernetes service\u663e\u793a\u3002<\/td>\n<\/tr>\n<tr>\n<td>get<\/td>\n<td>kubectl get (-f FILENAME | TYPE [NAME | \/NAME | -l label]) [&#8211;watch] [&#8211;sort-by=FIELD] [[-o | &#8211;output]=OUTPUT_FORMAT] [flags]<\/td>\n<td>\u5217\u51fa\u4e00\u4e2a\u6216\u591a\u4e2a\u8d44\u6e90\u3002<\/td>\n<\/tr>\n<tr>\n<td>label<\/td>\n<td>kubectl label (-f FILENAME | TYPE NAME | TYPE\/NAME) KEY_1=VAL_1 &#8230; KEY_N=VAL_N [&#8211;overwrite] [&#8211;all] [&#8211;resource-version=version] [flags]<\/td>\n<td>\u6dfb\u52a0\u6216\u66f4\u65b0\u4e00\u4e2a\u6216\u591a\u4e2a\u8d44\u6e90\u7684flags\u3002<\/td>\n<\/tr>\n<tr>\n<td>logs<\/td>\n<td>kubectl logs POD [-c CONTAINER] [&#8211;follow] [flags]<\/td>\n<td>\u5728pod\u4e2d\u6253\u5370\u5bb9\u5668\u7684\u65e5\u5fd7\u3002<\/td>\n<\/tr>\n<tr>\n<td>patch<\/td>\n<td>kubectl patch (-f FILENAME | TYPE NAME | TYPE\/NAME) &#8211;patch PATCH [flags]<\/td>\n<td>\u4f7f\u7528strategic merge \u8865\u4e01\u7a0b\u5e8f\u66f4\u65b0\u8d44\u6e90\u7684\u4e00\u4e2a\u6216\u591a\u4e2a\u5b57\u6bb5\u3002<\/td>\n<\/tr>\n<tr>\n<td>port-forward<\/td>\n<td>kubectl port-forward POD [LOCAL_PORT:]REMOTE_PORT [&#8230;[LOCAL_PORT_N:]REMOTE_PORT_N] [flags]<\/td>\n<td>\u5c06\u4e00\u4e2a\u6216\u591a\u4e2a\u672c\u5730\u7aef\u53e3\u8f6c\u53d1\u5230pod\u3002<\/td>\n<\/tr>\n<tr>\n<td>proxy<\/td>\n<td>kubectl proxy [&#8211;port=PORT] [&#8211;www=static-dir] [&#8211;www-prefix=prefix] [&#8211;api-prefix=prefix] [flags]<\/td>\n<td>\u5728Kubernetes API\u670d\u52a1\u5668\u8fd0\u884c\u4ee3\u7406\u3002<\/td>\n<\/tr>\n<tr>\n<td>replace<\/td>\n<td>kubectl replace -f FILENAME<\/td>\n<td>\u4ecefile\u6216stdin\u66ff\u6362\u8d44\u6e90\u3002<\/td>\n<\/tr>\n<tr>\n<td>rolling-update<\/td>\n<td>kubectl rolling-update OLD_CONTROLLER_NAME ([NEW_CONTROLLER_NAME] &#8211;image=NEW_CONTAINER_IMAGE | -f NEW_CONTROLLER_SPEC) [flags]<\/td>\n<td>\u901a\u8fc7\u9010\u6b65\u66ff\u6362\u6307\u5b9a\u7684replication controller\u53ca\u5176pod\u6765\u6267\u884c\u6eda\u52a8\u66f4\u65b0\u3002<\/td>\n<\/tr>\n<tr>\n<td>run<\/td>\n<td>kubectl run NAME &#8211;image=image [&#8211;env=\\&#8221;key=value\\&#8221;] [&#8211;port=port] [&#8211;replicas=replicas] [&#8211;dry-run=bool] [&#8211;overrides=inline-json] [flags]<\/td>\n<td>\u5728\u96c6\u7fa4\u4e0a\u8fd0\u884c\u6307\u5b9a\u7684\u955c\u50cf\u3002<\/td>\n<\/tr>\n<tr>\n<td>scale<\/td>\n<td>kubectl scale (-f FILENAME | TYPE NAME | TYPE\/NAME) &#8211;replicas=COUNT [&#8211;resource-version=version] [&#8211;current-replicas=count] [flags]<\/td>\n<td>\u66f4\u65b0\u6307\u5b9areplication controller\u7684\u5927\u5c0f\u3002<\/td>\n<\/tr>\n<tr>\n<td>stop<\/td>\n<td>kubectl stop<\/td>\n<td>\u5df2\u5f03\u7528\uff1a\u8bf7\u53c2\u9605kubectl delete\u3002<\/td>\n<\/tr>\n<tr>\n<td>version<\/td>\n<td>kubectl version [&#8211;client] [flags]<\/td>\n<td>\u663e\u793a\u5ba2\u6237\u7aef\u548c\u670d\u52a1\u5668\u4e0a\u8fd0\u884c\u7684Kubernetes\u7248\u672c\u3002<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2><span id=\\\"Resource_types\\\">Resource types<\/span><\/h2>\n<p>\u4e0b\u8868\u5217\u51fa\u4e86\u6240\u6709\u652f\u6301\u7684\u8d44\u6e90\u7c7b\u578b\u53ca\u5176\u7f29\u5199\uff1a<\/p>\n<table>\n<thead>\n<tr>\n<th>Resource type<\/th>\n<th>Abbreviated alias<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>apiservices<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>certificatesigningrequests<\/td>\n<td>csr<\/td>\n<\/tr>\n<tr>\n<td>clusters<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>clusterrolebindings<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>clusterroles<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>componentstatuses<\/td>\n<td>cs<\/td>\n<\/tr>\n<tr>\n<td>configmaps<\/td>\n<td>cm<\/td>\n<\/tr>\n<tr>\n<td>controllerrevisions<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>cronjobs<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>customresourcedefinition<\/td>\n<td>crd<\/td>\n<\/tr>\n<tr>\n<td>daemonsets<\/td>\n<td>ds<\/td>\n<\/tr>\n<tr>\n<td>deployments<\/td>\n<td>deploy<\/td>\n<\/tr>\n<tr>\n<td>endpoints<\/td>\n<td>ep<\/td>\n<\/tr>\n<tr>\n<td>events<\/td>\n<td>ev<\/td>\n<\/tr>\n<tr>\n<td>horizontalpodautoscalers<\/td>\n<td>hpa<\/td>\n<\/tr>\n<tr>\n<td>ingresses<\/td>\n<td>ing<\/td>\n<\/tr>\n<tr>\n<td>jobs<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>limitranges<\/td>\n<td>limits<\/td>\n<\/tr>\n<tr>\n<td>namespaces<\/td>\n<td>ns<\/td>\n<\/tr>\n<tr>\n<td>networkpolicies<\/td>\n<td>netpol<\/td>\n<\/tr>\n<tr>\n<td>nodes<\/td>\n<td>no<\/td>\n<\/tr>\n<tr>\n<td>persistentvolumeclaims<\/td>\n<td>pvc<\/td>\n<\/tr>\n<tr>\n<td>persistentvolumes<\/td>\n<td>pv<\/td>\n<\/tr>\n<tr>\n<td>poddisruptionbudget<\/td>\n<td>pdb<\/td>\n<\/tr>\n<tr>\n<td>podpreset<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>pods<\/td>\n<td>po<\/td>\n<\/tr>\n<tr>\n<td>podsecuritypolicies<\/td>\n<td>psp<\/td>\n<\/tr>\n<tr>\n<td>podtemplates<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>replicasets<\/td>\n<td>rs<\/td>\n<\/tr>\n<tr>\n<td>replicationcontrollers<\/td>\n<td>rc<\/td>\n<\/tr>\n<tr>\n<td>resourcequotas<\/td>\n<td>quota<\/td>\n<\/tr>\n<tr>\n<td>rolebindings<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>roles<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>secrets<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>serviceaccounts<\/td>\n<td>sa<\/td>\n<\/tr>\n<tr>\n<td>services<\/td>\n<td>svc<\/td>\n<\/tr>\n<tr>\n<td>statefulsets<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>storageclasses<\/td>\n<td><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2><span id=\\\"_Output_options\\\">\u8f93\u51fa\u9009\u9879 Output options<\/span><\/h2>\n<p>\u4f7f\u7528\u4ee5\u4e0b\u90e8\u5206\u6765\u4e86\u89e3\u5982\u4f55\u683c\u5f0f\u5316\u6216\u5bf9\u67d0\u4e9b\u547d\u4ee4\u7684\u8f93\u51fa\u8fdb\u884c\u6392\u5e8f\u3002\u3002<\/p>\n<h3><span id=\\\"_Formatting_output\\\">\u683c\u5f0f\u5316\u8f93\u51fa Formatting output<\/span><\/h3>\n<p>\u6240\u6709kubectl\u547d\u4ee4\u8f93\u51fa\u7684\u9ed8\u8ba4\u683c\u5f0f\u662f\u53ef\u8bfb\u7684\u7eaf\u6587\u672c\u683c\u5f0f\u3002\u8981\u4ee5\u7279\u5b9a\u7684\u683c\u5f0f\u5411\u7ec8\u7aef\u7a97\u53e3\u8f93\u51fa\u8be6\u7ec6\u4fe1\u606f\uff0c\u53ef\u4ee5\u5c06-o\u6216-output flags\u00a0\u6dfb\u52a0\u5230\u652f\u6301\u7684kubectl\u547d\u4ee4\u4e2d\u3002<br \/>\n\u8bed\u6cd5\uff1a<\/p>\n<pre>kubectl [command]\u00a0[TYPE] [NAME] -o=&lt;output_format&gt;<\/pre>\n<p>\u6839\u636ekubectl\u64cd\u4f5c\uff0c\u652f\u6301\u4ee5\u4e0b\u8f93\u51fa\u683c\u5f0f\uff1a<\/p>\n<table>\n<thead>\n<tr>\n<th>\u8f93\u51fa\u683c\u5f0f<\/th>\n<th>\u63cf\u8ff0<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>-o=custom-columns=&lt;spec&gt;<\/td>\n<td>\u4f7f\u7528\u9017\u53f7\u5206\u9694\u7684<a href=\\\"https:\/\/kubernetes.io\/docs\/user-guide\/kubectl-overview\/#custom-columns\\\" target=\\\"_blank\\\" rel=\\\"nofollow noopener noreferrer\\\">custom columns<\/a>\u5217\u8868\u6253\u5370\u4e00\u4e2a\u8868\u3002<\/td>\n<\/tr>\n<tr>\n<td>-o=custom-columns-file=&lt;filename&gt;<\/td>\n<td>\u4f7f\u7528\u6587\u4ef6\u4e2d\u7684<a href=\\\"https:\/\/kubernetes.io\/docs\/user-guide\/kubectl-overview\/#custom-columns\\\" target=\\\"_blank\\\" rel=\\\"nofollow noopener noreferrer\\\">custom columns<\/a>\u6a21\u677f\u6253\u5370\u8868&lt;filename&gt;\u3002<\/td>\n<\/tr>\n<tr>\n<td>-o=json<\/td>\n<td>\u8f93\u51faJSON\u683c\u5f0f\u7684API\u5bf9\u8c61\u3002<\/td>\n<\/tr>\n<tr>\n<td>-o=jsonpath=&lt;template&gt;<\/td>\n<td>\u6253\u5370\u5728<a href=\\\"https:\/\/kubernetes.io\/docs\/user-guide\/jsonpath\\\" target=\\\"_blank\\\" rel=\\\"nofollow noopener noreferrer\\\">jsonpath<\/a>\u8868\u8fbe\u5f0f\u4e2d\u5b9a\u4e49\u7684\u5b57\u6bb5\u3002<\/td>\n<\/tr>\n<tr>\n<td>-o=jsonpath-file=&lt;filename&gt;<\/td>\n<td>\u6253\u5370\u7531\u00a0file\u4e2d\u7684<a href=\\\"https:\/\/kubernetes.io\/docs\/user-guide\/jsonpath\\\" target=\\\"_blank\\\" rel=\\\"nofollow noopener noreferrer\\\">jsonpath<\/a>\u8868\u8fbe\u5f0f\u5b9a\u4e49\u7684\u5b57\u6bb5&lt;filename&gt;\u3002<\/td>\n<\/tr>\n<tr>\n<td>-o=name<\/td>\n<td>\u4ec5\u6253\u5370\u8d44\u6e90\u540d\u79f0\uff0c\u800c\u4e0d\u6253\u5370\u5176\u4ed6\u5185\u5bb9\u3002<\/td>\n<\/tr>\n<tr>\n<td>-o=wide<\/td>\n<td>\u4ee5\u7eaf\u6587\u672c\u683c\u5f0f\u8f93\u51fa\u4efb\u4f55\u9644\u52a0\u4fe1\u606f\u3002\u5bf9\u4e8epod\uff0c\u5305\u62ecnode\u540d\u79f0\u3002<\/td>\n<\/tr>\n<tr>\n<td>-o=yaml<\/td>\n<td>\u8f93\u51faYAML\u683c\u5f0f\u7684API\u5bf9\u8c61\u3002<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u4f8b\u5982:<br \/>\n\u5728\u6b64\u793a\u4f8b\u4e2d\uff0c\u4ee5\u4e0b\u547d\u4ee4\u5c06\u5355\u4e2apod\u7684\u8be6\u7ec6\u4fe1\u606f\u4f5c\u4e3aYAML\u683c\u5f0f\u5316\u5bf9\u8c61\u8f93\u51fa\uff1a<\/p>\n<pre>$ kubectl get pod web-pod-13je7 -o=yaml<\/pre>\n<p>\u6ce8\u610f\uff1a\u6709\u5173\u6bcf\u4e2a\u547d\u4ee4\u652f\u6301\u54ea\u79cd\u8f93\u51fa\u683c\u5f0f\u7684\u8be6\u7ec6\u4fe1\u606f\u3002<\/p>\n<h4><span id=\\\"Custom_columns\\\">Custom columns<\/span><\/h4>\n<p>\u8981\u5b9a\u4e49custom columns\u5e76\u4ec5\u5c06\u6240\u9700\u7684\u8be6\u7ec6\u4fe1\u606f\u8f93\u51fa\uff0c\u53ef\u4ee5\u4f7f\u7528\u8be5custom-columns\u9009\u9879\uff0c\u9009\u62e9Inline\u5b9a\u4e49custom columns\u6216\u4f7f\u7528\u6a21\u677f\u6587\u4ef6\u5b9a\u4e49\uff1a-o=custom-columns=&lt;spec&gt;\u6216-o=custom-columns-file=&lt;filename&gt;\u3002<br \/>\n\u4f8b\u5982<br \/>\nInline\u65b9\u5f0f\uff1a<\/p>\n<pre>$ kubectl get pods &lt;pod-name&gt; -o=custom-columns=NAME:.metadata.name,RSRC:.metadata.resourceVersion<\/pre>\n<p>\u6a21\u677f\u6587\u4ef6\u65b9\u5f0f\uff1a<\/p>\n<pre>$ kubectl get pods &lt;pod-name&gt; -o=custom-columns-file=template.txt<\/pre>\n<p>\u5176\u4e2d\uff0ctemplate.txt\u6587\u4ef6\u5305\u542b\uff1a<\/p>\n<pre>NAME \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0RSRC\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0metadata.name \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0metadata.resourceVersion<\/pre>\n<p>\u4efb\u4f55\u4e00\u4e2a\u547d\u4ee4\u8fd0\u884c\u7684\u7ed3\u679c\u5c06\u662f\uff1a<\/p>\n<pre>NAME \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0RSRC\nsubmit-queue \u00a0\u00a0610995<\/pre>\n<h3><span id=\\\"Sorting_list_objects\\\">Sorting list objects<\/span><\/h3>\n<p>\u8981\u5c06\u5bf9\u8c61\u8f93\u51fa\u5230\u7ec8\u7aef\u7a97\u53e3\u4e2d\u7684\u6392\u5e8f\u5217\u8868\uff0c\u53ef\u4ee5\u5c06&#8211;sort-by\u6807\u5fd7\u6dfb\u52a0\u5230kubectl\u652f\u6301\u7684\u547d\u4ee4\u4e2d\uff0c\u901a\u8fc7\u4f7f\u7528&#8211;sort-by\u6807\u5fd7\u6307\u5b9a\u4efb\u4f55\u6570\u5b57\u6216\u5b57\u7b26\u4e32\u5b57\u6bb5\u6765\u5bf9\u5bf9\u8c61\u8fdb\u884c\u6392\u5e8f\uff0c\u8981\u6307\u5b9a\u5b57\u6bb5\uff0c\u8bf7\u4f7f\u7528jsonpath\u8868\u8fbe\u5f0f\u3002<br \/>\n\u547d\u4ee4\uff1a<\/p>\n<pre>kubectl [command]\u00a0[TYPE] [NAME] --sort-by=&lt;jsonpath_exp&gt;<\/pre>\n<p>\u4f8b\u5982<br \/>\n\u8981\u6253\u5370\u6309\u540d\u79f0\u6392\u5e8f\u7684pod\u5217\u8868\uff0c\u8bf7\u8fd0\u884c\uff1a<\/p>\n<pre>$ kubectl get pods --sort-by=.metadata.name<\/pre>\n<h2><span id=\\\"i-2\\\">\u793a\u4f8b\uff1a\u5e38\u7528\u64cd\u4f5c<\/span><\/h2>\n<p>\u4f7f\u7528\u4ee5\u4e0b\u4e00\u7ec4\u793a\u4f8b\u6765\u5e2e\u52a9\u4f60\u719f\u6089\u8fd0\u884ckubectl\u5e38\u7528\u64cd\u4f5c\uff1a<br \/>\nkubectl create &#8211; \u4ecefile\u6216stdin\u4e2d\u521b\u5efa\u8d44\u6e90\u3002<\/p>\n<pre>\/\/ Create a service using the definition in example-service.yaml.\n$ kubectl create -f example-service.yaml\n\/\/ Create a replication controller using the definition in example-controller.yaml.\n$ kubectl create -f example-controller.yaml\n\/\/ Create the objects that are defined in any .yaml, .yml, or .json file within the &lt;directory&gt; directory.\n$ kubectl create -f &lt;directory&gt;<\/pre>\n<p>kubectl get\u00a0\u5217\u51fa\u4e00\u4e2a\u6216\u591a\u4e2a\u8d44\u6e90\u3002<\/p>\n<pre>\/\/ List all pods in plain-text output format.\n$ kubectl get pods\n\/\/ List all pods in plain-text output format and includes additional information (such as node name).\n$ kubectl get pods -o wide\n\/\/ List the replication controller with the specified name in plain-text output format. Tip: You can shorten and replace the \\'replicationcontroller\\' resource type with the alias \\'rc\\'.\n$ kubectl get replicationcontroller &lt;rc-name&gt;\n\/\/ List all replication controllers and services together in plain-text output format.\n$ kubectl get rc,services<\/pre>\n<p>kubectl describe\u00a0&#8211; \u663e\u793a\u4e00\u4e2a\u6216\u591a\u4e2a\u8d44\u6e90\u7684\u8be6\u7ec6\u72b6\u6001\u3002<\/p>\n<pre>\/\/ Display the details of the node with name &lt;node-name&gt;.\n$ kubectl describe nodes &lt;node-name&gt;\n\/\/ Display the details of the pod with name &lt;pod-name&gt;.\n$ kubectl describe pods\/&lt;pod-name&gt;\n\/\/ Display the details of all the pods that are managed by the replication controller named &lt;rc-name&gt;.\n\/\/ Remember: Any pods that are created by the replication controller get prefixed with the name of the replication controller.\n$ kubectl describe pods &lt;rc-name&gt;<\/pre>\n<p>kubectl delete\u00a0&#8211; \u4ecefile\u3001stdin\u6216\u6307\u5b9alabel\u9009\u62e9\u5668\uff0cnames\uff0cresource\u9009\u62e9\u5668\u6216resources\u4e2d\u5220\u9664resources\u8d44\u6e90\u3002<\/p>\n<pre>\/\/ Delete a pod using the type and name specified in the pod.yaml file.\n$ kubectl delete -f pod.yaml\n\/\/ Delete all the pods and services that have the label name=&lt;label-name&gt;.\n$ kubectl delete pods,services -l name=&lt;label-name&gt;\n\/\/ Delete all pods.\n$ kubectl delete pods --all<\/pre>\n<p>kubectl exec\u00a0&#8211; \u5bf9pod\u4e2d\u7684\u5bb9\u5668\u6267\u884c\u547d\u4ee4\u3002<\/p>\n<pre>\/\/ Get output from running \\'date\\' from pod &lt;pod-name&gt;. By default, output is from the first container.\n$ kubectl exec &lt;pod-name&gt; date\n\/\/ Get output from running \\'date\\' in container &lt;container-name&gt; of pod &lt;pod-name&gt;.\n$ kubectl exec &lt;pod-name&gt; -c &lt;container-name&gt; date\n\/\/ Get an interactive TTY and run \/bin\/bash from pod &lt;pod-name&gt;. By default, output is from the first container.\n$ kubectl exec -ti &lt;pod-name&gt; \/bin\/bash<\/pre>\n<p>kubectl logs\u00a0&#8211; \u6253\u5370pod\u4e2d\u7684\u5bb9\u5668\u7684\u65e5\u5fd7\u3002<\/p>\n<pre>\/\/ Return a snapshot of the logs from pod &lt;pod-name&gt;.\n$ kubectl logs &lt;pod-name&gt;\n\/\/ Start streaming the logs from pod &lt;pod-name&gt;. This is similar to the \\'tail -f\\' Linux command.\n$ kubectl logs -f &lt;pod-name&gt;<\/pre>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>kubectl\u7528\u4e8e\u8fd0\u884cKubernetes\u96c6\u7fa4\u547d\u4ee4\u7684\u7ba1\u7406\u5de5\u5177\u3002\u672c\u6587\u6982\u8ff0\u6db5\u76d6\u4e86kubectl\u8bed\u6cd5\uff0c\u5bf9\u547d\u4ee4\u64cd\u4f5c\u7684\u63cf &hellip;<\/p>\n<p class=\"read-more\"> <a class=\"\" href=\"http:\/\/www.weijing.co\/?p=1594\"> <span class=\"screen-reader-text\">Kubernetes kubectl \u6982\u8ff0<\/span> \u67e5\u770b\u5168\u6587 &raquo;<\/a><\/p>\n","protected":false},"author":4,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"default","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"default","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":""},"categories":[104,123],"tags":[],"uagb_featured_image_src":{"full":false,"thumbnail":false,"medium":false,"medium_large":false,"large":false,"1536x1536":false,"2048x2048":false,"mailpoet_newsletter_max":false,"woocommerce_thumbnail":false,"woocommerce_single":false,"woocommerce_gallery_thumbnail":false,"shop_catalog":false,"shop_single":false,"shop_thumbnail":false},"uagb_author_info":{"display_name":"weijing","author_link":"http:\/\/www.weijing.co\/?author=4"},"uagb_comment_info":0,"uagb_excerpt":"kubectl\u7528\u4e8e\u8fd0\u884cKubernetes\u96c6\u7fa4\u547d\u4ee4\u7684\u7ba1\u7406\u5de5\u5177\u3002\u672c\u6587\u6982\u8ff0\u6db5\u76d6\u4e86kubectl\u8bed\u6cd5\uff0c\u5bf9\u547d\u4ee4\u64cd\u4f5c\u7684\u63cf&hellip;","_links":{"self":[{"href":"http:\/\/www.weijing.co\/index.php?rest_route=\/wp\/v2\/posts\/1594"}],"collection":[{"href":"http:\/\/www.weijing.co\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.weijing.co\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.weijing.co\/index.php?rest_route=\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"http:\/\/www.weijing.co\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1594"}],"version-history":[{"count":0,"href":"http:\/\/www.weijing.co\/index.php?rest_route=\/wp\/v2\/posts\/1594\/revisions"}],"wp:attachment":[{"href":"http:\/\/www.weijing.co\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1594"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.weijing.co\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1594"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.weijing.co\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1594"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}