奶油桃子 發表於 2020-2-4 23:12:00

kubernetes快速入门

<p><strong><span style="font-size: 18pt">            kubernetes快速入门</span></strong></p>
<p><strong><span style="font-size: 18pt">                                     作者:尹正杰</span></strong></p>
<p><strong><span style="font-size: 18pt">版权声明:原创作品,谢绝转载!否则将追究法律责任。</span></strong></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><span style="font-size: 14pt; color: rgba(255, 0, 255, 1)"><strong>一.API Server客户端命令工具kubectl使用入门</strong></span></p>
<p><strong><span style="font-size: 18px">1&gt;.查看kubectl命令的帮助信息</span></strong></p>
<div class="cnblogs_code">
<pre># kubectl -<span style="color: rgba(0, 0, 0, 1)">h
kubectl controls the Kubernetes cluster manager.

Find more information at: https:</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">kubernetes.io/docs/reference/kubectl/overview/</span>
<span style="color: rgba(0, 0, 0, 1)">
Basic Commands (Beginner):
create         Create a resource from a file or from stdin.
expose         Take a replication controller, service, deployment or pod and expose it as a </span><span style="color: rgba(0, 0, 255, 1)">new</span><span style="color: rgba(0, 0, 0, 1)"> Kubernetes Service
run            Run a particular image on the cluster
set            Set specific features on objects

Basic Commands (Intermediate):
explain      Documentation of resources
get            Display one or many resources
edit         Edit a resource on the server
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          Set a </span><span style="color: rgba(0, 0, 255, 1)">new</span> size <span style="color: rgba(0, 0, 255, 1)">for</span><span style="color: rgba(0, 0, 0, 1)"> a Deployment, ReplicaSet or Replication Controller
autoscale      Auto</span>-<span style="color: rgba(0, 0, 0, 1)">scale a Deployment, ReplicaSet, or ReplicationController

Cluster Management Commands:
certificate    Modify certificate resources.
cluster</span>-<span style="color: rgba(0, 0, 0, 1)">info   Display cluster info
top            Display Resource (CPU</span>/Memory/<span style="color: rgba(0, 0, 0, 1)">Storage) usage.
cordon         Mark node as unschedulable
uncordon       Mark node as schedulable
drain          Drain node in preparation </span><span style="color: rgba(0, 0, 255, 1)">for</span><span style="color: rgba(0, 0, 0, 1)"> maintenance
taint          Update the taints on one or more nodes

Troubleshooting and Debugging Commands:
describe       Show details of a specific resource or group of resources
logs         Print the logs </span><span style="color: rgba(0, 0, 255, 1)">for</span><span style="color: rgba(0, 0, 0, 1)"> a container in a pod
attach         Attach to a running container
exec         Execute a command in a container
port</span>-<span style="color: rgba(0, 0, 0, 1)">forward   Forward one or more local ports to a pod
proxy          Run a proxy to the Kubernetes API server
cp             Copy files and directories to and from containers.
auth         Inspect authorization

Advanced Commands:
diff         Diff live version against would</span>-<span style="color: rgba(0, 0, 0, 1)">be applied version
apply          Apply a configuration to a resource by filename or stdin
patch          Update field(s) of a resource using strategic merge patch
replace      Replace a resource by filename or stdin
wait         Experimental: Wait </span><span style="color: rgba(0, 0, 255, 1)">for</span><span style="color: rgba(0, 0, 0, 1)"> a specific condition on one or many resources.
convert      Convert config files between different API versions
kustomize      Build a kustomization target from a directory or a remote url.

Settings Commands:
label          Update the labels on a resource
annotate       Update the annotations on a resource
completion   Output shell completion code </span><span style="color: rgba(0, 0, 255, 1)">for</span><span style="color: rgba(0, 0, 0, 1)"> the specified shell (bash or zsh)

Other Commands:
api</span>-<span style="color: rgba(0, 0, 0, 1)">resourcesPrint the supported API resources on the server
api</span>-versions   Print the supported API versions on the server, in the form of "group/version"<span style="color: rgba(0, 0, 0, 1)">
config         Modify kubeconfig files
plugin         Provides utilities </span><span style="color: rgba(0, 0, 255, 1)">for</span><span style="color: rgba(0, 0, 0, 1)"> interacting with plugins.
version      Print the client and server version information

Usage:
kubectl

Use </span>"kubectl &lt;command&gt; --help" <span style="color: rgba(0, 0, 255, 1)">for</span><span style="color: rgba(0, 0, 0, 1)"> more information about a given command.
Use </span>"kubectl options" <span style="color: rgba(0, 0, 255, 1)">for</span> a list of global command-<span style="color: rgba(0, 0, 0, 1)">line options (applies to all commands).
# </pre>
</div>
<p><strong><span style="font-size: 18px">2&gt;.查看k8s node信息(需要注意的是,node是集群级别的资源)</span></strong></p>
<div class="cnblogs_code"><img src="http://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif"><img id="code_img_opened_63b48ea6-7798-4145-97e3-27a3361f9d07" class="code_img_opened lazyload" style="display: none" alt="" data-src="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif">
<div id="cnblogs_code_open_63b48ea6-7798-4145-97e3-27a3361f9d07" class="cnblogs_code_hide">
<pre># kubectl get node
NAME                           STATUS   ROLES    AGE   VERSION
master200.yinzhengjie.org.cn   Ready    master   9h    v1.</span>17.2<span style="color: rgba(0, 0, 0, 1)">
node201.yinzhengjie.org.cn   Ready    </span>&lt;none&gt;   9h    v1.17.2<span style="color: rgba(0, 0, 0, 1)">
node202.yinzhengjie.org.cn   Ready    </span>&lt;none&gt;   8h    v1.17.2<span style="color: rgba(0, 0, 0, 1)">
node203.yinzhengjie.org.cn   Ready    </span>&lt;none&gt;   8h    v1.17.2<span style="color: rgba(0, 0, 0, 1)">
# </pre>
</div>
<span class="cnblogs_code_collapse"># kubectl get node</span></div>
<p><strong><span style="font-size: 18px">3&gt;.查看k8s 集群的名称空间</span></strong></p>
<div class="cnblogs_code">
<pre># kubectl get ns              #查看所有的名称空间
NAME            STATUS   AGE
</span><span style="color: rgba(0, 0, 255, 1)">default</span><span style="color: rgba(0, 0, 0, 1)">         Active   9h
kube</span>-node-<span style="color: rgba(0, 0, 0, 1)">lease   Active   9h
kube</span>-<span style="color: rgba(0, 0, 255, 1)">public</span><span style="color: rgba(0, 0, 0, 1)">       Active   9h
kube</span>-<span style="color: rgba(0, 0, 0, 1)">system       Active   9h
#
# kubectl get ns <span style="color: rgba(0, 0, 255, 1)">default          #查看指定的名称空间</span><span style="color: rgba(0, 0, 0, 1)">
NAME      STATUS   AGE
</span><span style="color: rgba(0, 0, 255, 1)">default</span><span style="color: rgba(0, 0, 0, 1)">   Active   9h
#
# kubectl get ns kube-node-<span style="color: rgba(0, 0, 0, 1)">lease
NAME            STATUS   AGE
kube</span>-node-<span style="color: rgba(0, 0, 0, 1)">lease   Active   9h
#
# kubectl get ns kube-<span style="color: rgba(0, 0, 255, 1)">public</span><span style="color: rgba(0, 0, 0, 1)">
NAME          STATUS   AGE
kube</span>-<span style="color: rgba(0, 0, 255, 1)">public</span><span style="color: rgba(0, 0, 0, 1)">   Active   9h
#
# kubectl get ns kube-<span style="color: rgba(0, 0, 0, 1)">system
NAME          STATUS   AGE
kube</span>-<span style="color: rgba(0, 0, 0, 1)">system   Active   9h
#
# </pre>
</div>
<div class="cnblogs_code"><img id="code_img_closed_3b905b91-e1b7-411c-8c5f-a919f1602a8b" class="code_img_closed lazyload" alt="" data-src="http://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif"><img id="code_img_opened_3b905b91-e1b7-411c-8c5f-a919f1602a8b" class="code_img_opened lazyload" style="display: none" alt="" data-src="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif">
<div id="cnblogs_code_open_3b905b91-e1b7-411c-8c5f-a919f1602a8b" class="cnblogs_code_hide">
<pre># kubectl get namespace kube-system -o yaml        #只查看kube-<span style="color: rgba(0, 0, 0, 1)">system的名称空间信息并以yaml格式显式
apiVersion: v1
kind: Namespace
metadata:
creationTimestamp: </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">2020-02-04T11:39:31Z</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">
name: kube</span>-<span style="color: rgba(0, 0, 0, 1)">system
resourceVersion: </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">4</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">
selfLink: </span>/api/v1/namespaces/kube-<span style="color: rgba(0, 0, 0, 1)">system
uid: bd3792cd</span>-09e4-4ca8-848f-<span style="color: rgba(0, 0, 0, 1)">73ac8ea2748c
spec:
finalizers:
</span>-<span style="color: rgba(0, 0, 0, 1)"> kubernetes
status:
phase: Active
#
# kubectl get ns/kube-system -<span style="color: rgba(0, 0, 0, 1)">o yaml             #是上面的简写形式
apiVersion: v1
kind: Namespace
metadata:
creationTimestamp: </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">2020-02-04T11:39:31Z</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">
name: kube</span>-<span style="color: rgba(0, 0, 0, 1)">system
resourceVersion: </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">4</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">
selfLink: </span>/api/v1/namespaces/kube-<span style="color: rgba(0, 0, 0, 1)">system
uid: bd3792cd</span>-09e4-4ca8-848f-<span style="color: rgba(0, 0, 0, 1)">73ac8ea2748c
spec:
finalizers:
</span>-<span style="color: rgba(0, 0, 0, 1)"> kubernetes
status:
phase: Active
#
# </pre>
</div>
<span class="cnblogs_code_collapse"># kubectl get namespace kube-system -o yaml        #只查看kube-system的名称空间信息并以yaml格式显式</span></div>
<div class="cnblogs_code"><img id="code_img_closed_9cd4b186-1e8f-4949-8ef7-bc42dc2b1554" class="code_img_closed lazyload" alt="" data-src="http://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif"><img id="code_img_opened_9cd4b186-1e8f-4949-8ef7-bc42dc2b1554" class="code_img_opened lazyload" style="display: none" alt="" data-src="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif">
<div id="cnblogs_code_open_9cd4b186-1e8f-4949-8ef7-bc42dc2b1554" class="cnblogs_code_hide">
<pre># kubectl get namespace kube-system -o json         #只查看kube-<span style="color: rgba(0, 0, 0, 1)">system的名称空间信息并以json格式显式
{
    </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">apiVersion</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">v1</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,
    </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">kind</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Namespace</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,
    </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">metadata</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">: {
      </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">creationTimestamp</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">2020-02-04T11:39:31Z</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,
      </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">name</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">kube-system</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,
      </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">resourceVersion</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">4</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,
      </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">selfLink</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">/api/v1/namespaces/kube-system</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,
      </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">uid</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">bd3792cd-09e4-4ca8-848f-73ac8ea2748c</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">
    },
    </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">spec</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">: {
      </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">finalizers</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">: [
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">kubernetes</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">
      ]
    },
    </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">status</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">: {
      </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">phase</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Active</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">
    }
}
#
# kubectl get ns/kube-system -<span style="color: rgba(0, 0, 0, 1)">o json                #很显然,是上面的一种简写格式
{
    </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">apiVersion</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">v1</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,
    </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">kind</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Namespace</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,
    </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">metadata</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">: {
      </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">creationTimestamp</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">2020-02-04T11:39:31Z</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,
      </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">name</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">kube-system</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,
      </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">resourceVersion</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">4</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,
      </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">selfLink</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">/api/v1/namespaces/kube-system</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,
      </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">uid</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">bd3792cd-09e4-4ca8-848f-73ac8ea2748c</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">
    },
    </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">spec</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">: {
      </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">finalizers</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">: [
            </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">kubernetes</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">
      ]
    },
    </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">status</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">: {
      </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">phase</span><span style="color: rgba(128, 0, 0, 1)">"</span>: <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">Active</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">
    }
}
#
# </pre>
</div>
<span class="cnblogs_code_collapse"># kubectl get namespace kube-system -o json         #只查看kube-system的名称空间信息并以json格式显式</span></div>
<p><strong><span style="font-size: 18px">4&gt;.查看指定名称空间的pod(在k8s中容器被封装成pod)</span></strong></p>
<div class="cnblogs_code"><img id="code_img_closed_c23a5bf5-e8ef-4a30-926a-07838b6e28fb" class="code_img_closed lazyload" alt="" data-src="http://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif"><img id="code_img_opened_c23a5bf5-e8ef-4a30-926a-07838b6e28fb" class="code_img_opened lazyload" style="display: none" alt="" data-src="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif">
<div id="cnblogs_code_open_c23a5bf5-e8ef-4a30-926a-07838b6e28fb" class="cnblogs_code_hide">
<pre># kubectl get pods -n kube-<span style="color: rgba(0, 0, 0, 1)">system
NAME                                                   READY   STATUS    RESTARTS   AGE
coredns</span>-6955765f44-455fh                               <span style="color: rgba(128, 0, 128, 1)">1</span>/<span style="color: rgba(128, 0, 128, 1)">1</span>   Running   <span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">          9h
coredns</span>-6955765f44-q6zqj                               <span style="color: rgba(128, 0, 128, 1)">1</span>/<span style="color: rgba(128, 0, 128, 1)">1</span>   Running   <span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">          9h
etcd</span>-master200.yinzhengjie.org.cn                      <span style="color: rgba(128, 0, 128, 1)">1</span>/<span style="color: rgba(128, 0, 128, 1)">1</span>   Running   <span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">          9h
kube</span>-apiserver-master200.yinzhengjie.org.cn            <span style="color: rgba(128, 0, 128, 1)">1</span>/<span style="color: rgba(128, 0, 128, 1)">1</span>   Running   <span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">          9h
kube</span>-controller-manager-master200.yinzhengjie.org.cn   <span style="color: rgba(128, 0, 128, 1)">1</span>/<span style="color: rgba(128, 0, 128, 1)">1</span>   Running   <span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">          9h
kube</span>-flannel-ds-amd64-hnnhb                            <span style="color: rgba(128, 0, 128, 1)">1</span>/<span style="color: rgba(128, 0, 128, 1)">1</span>   Running   <span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">          9h
kube</span>-flannel-ds-amd64-jhmh6                            <span style="color: rgba(128, 0, 128, 1)">1</span>/<span style="color: rgba(128, 0, 128, 1)">1</span>   Running   <span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">          8h
kube</span>-flannel-ds-amd64-lnldz                            <span style="color: rgba(128, 0, 128, 1)">1</span>/<span style="color: rgba(128, 0, 128, 1)">1</span>   Running   <span style="color: rgba(128, 0, 128, 1)">2</span><span style="color: rgba(0, 0, 0, 1)">          9h
kube</span>-flannel-ds-amd64-nwv2l                            <span style="color: rgba(128, 0, 128, 1)">1</span>/<span style="color: rgba(128, 0, 128, 1)">1</span>   Running   <span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">          8h
kube</span>-proxy-2shb4                                       <span style="color: rgba(128, 0, 128, 1)">1</span>/<span style="color: rgba(128, 0, 128, 1)">1</span>   Running   <span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">          9h
kube</span>-proxy-6r9dx                                       <span style="color: rgba(128, 0, 128, 1)">1</span>/<span style="color: rgba(128, 0, 128, 1)">1</span>   Running   <span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">          9h
kube</span>-proxy-cg2m6                                       <span style="color: rgba(128, 0, 128, 1)">1</span>/<span style="color: rgba(128, 0, 128, 1)">1</span>   Running   <span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">          8h
kube</span>-proxy-lp5pr                                       <span style="color: rgba(128, 0, 128, 1)">1</span>/<span style="color: rgba(128, 0, 128, 1)">1</span>   Running   <span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">          8h
kube</span>-scheduler-master200.yinzhengjie.org.cn            <span style="color: rgba(128, 0, 128, 1)">1</span>/<span style="color: rgba(128, 0, 128, 1)">1</span>   Running   <span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">          9h
# </pre>
</div>
<span class="cnblogs_code_collapse"># kubectl get pods -n kube-system</span></div>
<div class="cnblogs_code"><img id="code_img_closed_3d8565c7-700b-47b0-8878-7b48acece6d9" class="code_img_closed lazyload" alt="" data-src="http://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif"><img id="code_img_opened_3d8565c7-700b-47b0-8878-7b48acece6d9" class="code_img_opened lazyload" style="display: none" alt="" data-src="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif">
<div id="cnblogs_code_open_3d8565c7-700b-47b0-8878-7b48acece6d9" class="cnblogs_code_hide">
<pre># kubectl get pods -n kube-system -<span style="color: rgba(0, 0, 0, 1)">o wide
NAME                                                   READY   STATUS    RESTARTS   AGE   IP            NODE                           NOMINATED NODE   READINESS GATES
coredns</span>-6955765f44-455fh                               <span style="color: rgba(128, 0, 128, 1)">1</span>/<span style="color: rgba(128, 0, 128, 1)">1</span>   Running   <span style="color: rgba(128, 0, 128, 1)">1</span>          9h    <span style="color: rgba(128, 0, 128, 1)">10.244</span>.<span style="color: rgba(128, 0, 128, 1)">0.5</span>      master200.yinzhengjie.org.cn   &lt;none&gt;         &lt;none&gt;<span style="color: rgba(0, 0, 0, 1)">
coredns</span>-6955765f44-q6zqj                               <span style="color: rgba(128, 0, 128, 1)">1</span>/<span style="color: rgba(128, 0, 128, 1)">1</span>   Running   <span style="color: rgba(128, 0, 128, 1)">1</span>          9h    <span style="color: rgba(128, 0, 128, 1)">10.244</span>.<span style="color: rgba(128, 0, 128, 1)">0.4</span>      master200.yinzhengjie.org.cn   &lt;none&gt;         &lt;none&gt;<span style="color: rgba(0, 0, 0, 1)">
etcd</span>-master200.yinzhengjie.org.cn                      <span style="color: rgba(128, 0, 128, 1)">1</span>/<span style="color: rgba(128, 0, 128, 1)">1</span>   Running   <span style="color: rgba(128, 0, 128, 1)">1</span>          9h    <span style="color: rgba(128, 0, 128, 1)">172.200</span>.<span style="color: rgba(128, 0, 128, 1)">1.200</span>   master200.yinzhengjie.org.cn   &lt;none&gt;         &lt;none&gt;<span style="color: rgba(0, 0, 0, 1)">
kube</span>-apiserver-master200.yinzhengjie.org.cn            <span style="color: rgba(128, 0, 128, 1)">1</span>/<span style="color: rgba(128, 0, 128, 1)">1</span>   Running   <span style="color: rgba(128, 0, 128, 1)">1</span>          9h    <span style="color: rgba(128, 0, 128, 1)">172.200</span>.<span style="color: rgba(128, 0, 128, 1)">1.200</span>   master200.yinzhengjie.org.cn   &lt;none&gt;         &lt;none&gt;<span style="color: rgba(0, 0, 0, 1)">
kube</span>-controller-manager-master200.yinzhengjie.org.cn   <span style="color: rgba(128, 0, 128, 1)">1</span>/<span style="color: rgba(128, 0, 128, 1)">1</span>   Running   <span style="color: rgba(128, 0, 128, 1)">1</span>          9h    <span style="color: rgba(128, 0, 128, 1)">172.200</span>.<span style="color: rgba(128, 0, 128, 1)">1.200</span>   master200.yinzhengjie.org.cn   &lt;none&gt;         &lt;none&gt;<span style="color: rgba(0, 0, 0, 1)">
kube</span>-flannel-ds-amd64-hnnhb                            <span style="color: rgba(128, 0, 128, 1)">1</span>/<span style="color: rgba(128, 0, 128, 1)">1</span>   Running   <span style="color: rgba(128, 0, 128, 1)">1</span>          9h    <span style="color: rgba(128, 0, 128, 1)">172.200</span>.<span style="color: rgba(128, 0, 128, 1)">1.200</span>   master200.yinzhengjie.org.cn   &lt;none&gt;         &lt;none&gt;<span style="color: rgba(0, 0, 0, 1)">
kube</span>-flannel-ds-amd64-jhmh6                            <span style="color: rgba(128, 0, 128, 1)">1</span>/<span style="color: rgba(128, 0, 128, 1)">1</span>   Running   <span style="color: rgba(128, 0, 128, 1)">1</span>          8h    <span style="color: rgba(128, 0, 128, 1)">172.200</span>.<span style="color: rgba(128, 0, 128, 1)">1.203</span>   node203.yinzhengjie.org.cn   &lt;none&gt;         &lt;none&gt;<span style="color: rgba(0, 0, 0, 1)">
kube</span>-flannel-ds-amd64-lnldz                            <span style="color: rgba(128, 0, 128, 1)">1</span>/<span style="color: rgba(128, 0, 128, 1)">1</span>   Running   <span style="color: rgba(128, 0, 128, 1)">2</span>          9h    <span style="color: rgba(128, 0, 128, 1)">172.200</span>.<span style="color: rgba(128, 0, 128, 1)">1.201</span>   node201.yinzhengjie.org.cn   &lt;none&gt;         &lt;none&gt;<span style="color: rgba(0, 0, 0, 1)">
kube</span>-flannel-ds-amd64-nwv2l                            <span style="color: rgba(128, 0, 128, 1)">1</span>/<span style="color: rgba(128, 0, 128, 1)">1</span>   Running   <span style="color: rgba(128, 0, 128, 1)">1</span>          8h    <span style="color: rgba(128, 0, 128, 1)">172.200</span>.<span style="color: rgba(128, 0, 128, 1)">1.202</span>   node202.yinzhengjie.org.cn   &lt;none&gt;         &lt;none&gt;<span style="color: rgba(0, 0, 0, 1)">
kube</span>-proxy-2shb4                                       <span style="color: rgba(128, 0, 128, 1)">1</span>/<span style="color: rgba(128, 0, 128, 1)">1</span>   Running   <span style="color: rgba(128, 0, 128, 1)">1</span>          9h    <span style="color: rgba(128, 0, 128, 1)">172.200</span>.<span style="color: rgba(128, 0, 128, 1)">1.201</span>   node201.yinzhengjie.org.cn   &lt;none&gt;         &lt;none&gt;<span style="color: rgba(0, 0, 0, 1)">
kube</span>-proxy-6r9dx                                       <span style="color: rgba(128, 0, 128, 1)">1</span>/<span style="color: rgba(128, 0, 128, 1)">1</span>   Running   <span style="color: rgba(128, 0, 128, 1)">1</span>          9h    <span style="color: rgba(128, 0, 128, 1)">172.200</span>.<span style="color: rgba(128, 0, 128, 1)">1.200</span>   master200.yinzhengjie.org.cn   &lt;none&gt;         &lt;none&gt;<span style="color: rgba(0, 0, 0, 1)">
kube</span>-proxy-cg2m6                                       <span style="color: rgba(128, 0, 128, 1)">1</span>/<span style="color: rgba(128, 0, 128, 1)">1</span>   Running   <span style="color: rgba(128, 0, 128, 1)">1</span>          8h    <span style="color: rgba(128, 0, 128, 1)">172.200</span>.<span style="color: rgba(128, 0, 128, 1)">1.202</span>   node202.yinzhengjie.org.cn   &lt;none&gt;         &lt;none&gt;<span style="color: rgba(0, 0, 0, 1)">
kube</span>-proxy-lp5pr                                       <span style="color: rgba(128, 0, 128, 1)">1</span>/<span style="color: rgba(128, 0, 128, 1)">1</span>   Running   <span style="color: rgba(128, 0, 128, 1)">1</span>          8h    <span style="color: rgba(128, 0, 128, 1)">172.200</span>.<span style="color: rgba(128, 0, 128, 1)">1.203</span>   node203.yinzhengjie.org.cn   &lt;none&gt;         &lt;none&gt;<span style="color: rgba(0, 0, 0, 1)">
kube</span>-scheduler-master200.yinzhengjie.org.cn            <span style="color: rgba(128, 0, 128, 1)">1</span>/<span style="color: rgba(128, 0, 128, 1)">1</span>   Running   <span style="color: rgba(128, 0, 128, 1)">1</span>          9h    <span style="color: rgba(128, 0, 128, 1)">172.200</span>.<span style="color: rgba(128, 0, 128, 1)">1.200</span>   master200.yinzhengjie.org.cn   &lt;none&gt;         &lt;none&gt;<span style="color: rgba(0, 0, 0, 1)">
#
# </pre>
</div>
<span class="cnblogs_code_collapse"># kubectl get pods -n kube-system -o wide        &nbsp; #以长格式显式pod信息,较比上面的命令内容更加详细</span></div>
<p><strong><span style="font-size: 18px">5&gt;.查看当前系统上支持的资源类型</span></strong></p>
<div class="cnblogs_code">
<pre># kubectl api-<span style="color: rgba(0, 0, 0, 1)">resources         <span style="color: rgba(255, 0, 255, 1)"> #注意哈,NAME那一列是资源的名称,但是由于有些资源名称太长了,也有简写形式,即"SHORTNAMES"那一列,我在接下来会频繁使用简写形式的资源类型</span>
NAME                              SHORTNAMES   APIGROUP                     NAMESPACED   KIND
bindings                                                                      </span><span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">         Binding
componentstatuses               cs                                          </span><span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">      ComponentStatus
configmaps                        cm                                          </span><span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">         ConfigMap
endpoints                         ep                                          </span><span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">         Endpoints
events                            ev                                          </span><span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">         Event
limitranges                     limits                                    </span><span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">         LimitRange
namespaces                        ns                                          </span><span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">      Namespace
nodes                           no                                          </span><span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">      Node
persistentvolumeclaims            pvc                                       </span><span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">         PersistentVolumeClaim
persistentvolumes               pv                                          </span><span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">      PersistentVolume
pods                              po                                          </span><span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">         Pod
podtemplates                                                                  </span><span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">         PodTemplate
replicationcontrollers            rc                                          </span><span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">         ReplicationController
resourcequotas                  quota                                       </span><span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">         ResourceQuota
secrets                                                                     </span><span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">         Secret
serviceaccounts                   sa                                          </span><span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">         ServiceAccount
services                        svc                                       </span><span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">         Service
mutatingwebhookconfigurations                  admissionregistration.k8s.io   </span><span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">      MutatingWebhookConfiguration
validatingwebhookconfigurations                admissionregistration.k8s.io   </span><span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">      ValidatingWebhookConfiguration
customresourcedefinitions         crd,crds   apiextensions.k8s.io         </span><span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">      CustomResourceDefinition
apiservices                                    apiregistration.k8s.io         </span><span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">      APIService
controllerrevisions                            apps                           </span><span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">         ControllerRevision
daemonsets                        ds         apps                           </span><span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">         DaemonSet
deployments                     deploy       apps                           </span><span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">         Deployment
replicasets                     rs         apps                           </span><span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">         ReplicaSet
statefulsets                      sts          apps                           </span><span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">         StatefulSet
tokenreviews                                 authentication.k8s.io          </span><span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">      TokenReview
localsubjectaccessreviews                      authorization.k8s.io         </span><span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">         LocalSubjectAccessReview
selfsubjectaccessreviews                     authorization.k8s.io         </span><span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">      SelfSubjectAccessReview
selfsubjectrulesreviews                        authorization.k8s.io         </span><span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">      SelfSubjectRulesReview
subjectaccessreviews                           authorization.k8s.io         </span><span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">      SubjectAccessReview
horizontalpodautoscalers          hpa          autoscaling                  </span><span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">         HorizontalPodAutoscaler
cronjobs                        cj         batch                        </span><span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">         CronJob
jobs                                           batch                        </span><span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">         Job
certificatesigningrequests      csr          certificates.k8s.io            </span><span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">      CertificateSigningRequest
leases                                       coordination.k8s.io            </span><span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">         Lease
endpointslices                                 discovery.k8s.io               </span><span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">         EndpointSlice
events                            ev         events.k8s.io                  </span><span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">         Event
ingresses                         ing          extensions                     </span><span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">         Ingress
ingresses                         ing          networking.k8s.io            </span><span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">         Ingress
networkpolicies                   netpol       networking.k8s.io            </span><span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">         NetworkPolicy
runtimeclasses                                 node.k8s.io                  </span><span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">      RuntimeClass
poddisruptionbudgets            pdb          policy                         </span><span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">         PodDisruptionBudget
podsecuritypolicies               psp          policy                         </span><span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">      PodSecurityPolicy
clusterrolebindings                            rbac.authorization.k8s.io      </span><span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">      ClusterRoleBinding
clusterroles                                 rbac.authorization.k8s.io      </span><span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">      ClusterRole
rolebindings                                 rbac.authorization.k8s.io      </span><span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">         RoleBinding
roles                                          rbac.authorization.k8s.io      </span><span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">         Role
priorityclasses                   pc         scheduling.k8s.io            </span><span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">      PriorityClass
csidrivers                                     storage.k8s.io               </span><span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">      CSIDriver
csinodes                                       storage.k8s.io               </span><span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">      CSINode
storageclasses                  sc         storage.k8s.io               </span><span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">      StorageClass
volumeattachments                              storage.k8s.io               </span><span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">      VolumeAttachment
# </span></pre>
</div>
<p><strong><span style="font-size: 18px">6&gt;.查看当前集群的deployments控制器</span></strong></p>
<div class="cnblogs_code">
<pre># kubectl get deploy -n kube-system -<span style="color: rgba(0, 0, 0, 1)">o wide
NAME      READY   UP</span>-TO-<span style="color: rgba(0, 0, 0, 1)">DATE   AVAILABLE   AGE   CONTAINERS   IMAGES                     SELECTOR
coredns   </span><span style="color: rgba(128, 0, 128, 1)">2</span>/<span style="color: rgba(128, 0, 128, 1)">2</span>   <span style="color: rgba(128, 0, 128, 1)">2</span>            <span style="color: rgba(128, 0, 128, 1)">2</span>         9h    coredns      k8s.gcr.io/coredns:<span style="color: rgba(128, 0, 128, 1)">1.6</span>.<span style="color: rgba(128, 0, 128, 1)">5</span>   k8s-app=kube-<span style="color: rgba(0, 0, 0, 1)">dns
#
# </pre>
</div>
<p><strong><span style="font-size: 18px">7&gt;.创建资源(以创建名称空间为案例)</span></strong></p>
<div class="cnblogs_code"><img id="code_img_closed_85421a25-5ef3-443c-8773-f7dae143eebb" class="code_img_closed lazyload" alt="" data-src="http://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif"><img id="code_img_opened_85421a25-5ef3-443c-8773-f7dae143eebb" class="code_img_opened lazyload" style="display: none" alt="" data-src="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif">
<div id="cnblogs_code_open_85421a25-5ef3-443c-8773-f7dae143eebb" class="cnblogs_code_hide">
<pre># kubectl create --<span style="color: rgba(0, 0, 0, 1)">help
Create a resource from a </span><span style="color: rgba(0, 0, 255, 1)">file</span><span style="color: rgba(0, 0, 0, 1)"> or from stdin.

JSON and YAML formats are accepted.

Examples:
# Create a pod using the data </span><span style="color: rgba(0, 0, 255, 1)">in</span><span style="color: rgba(0, 0, 0, 1)"> pod.json.
kubectl create </span>-f ./<span style="color: rgba(0, 0, 0, 1)">pod.json

# Create a pod based on the JSON passed into stdin.
</span><span style="color: rgba(0, 0, 255, 1)">cat</span> pod.json | kubectl create -f -<span style="color: rgba(0, 0, 0, 1)">

# Edit the data </span><span style="color: rgba(0, 0, 255, 1)">in</span> docker-registry.yaml <span style="color: rgba(0, 0, 255, 1)">in</span> JSON <span style="color: rgba(0, 0, 255, 1)">then</span><span style="color: rgba(0, 0, 0, 1)"> create the resource using the edited data.
kubectl create </span>-f docker-registry.yaml --edit -<span style="color: rgba(0, 0, 0, 1)">o json

Available Commands:
clusterrole         Create a ClusterRole.
clusterrolebindingCreate a ClusterRoleBinding </span><span style="color: rgba(0, 0, 255, 1)">for</span><span style="color: rgba(0, 0, 0, 1)"> a particular ClusterRole
configmap         Create a configmap from a local </span><span style="color: rgba(0, 0, 255, 1)">file</span><span style="color: rgba(0, 0, 0, 1)">, directory or literal value
cronjob             Create a cronjob with the specified name.
deployment          Create a deployment with the specified name.
job               Create a job with the specified name.
namespace         Create a namespace with the specified name
poddisruptionbudget Create a pod disruption budget with the specified name.
priorityclass       Create a priorityclass with the specified name.
quota               Create a quota with the specified name.
role                Create a role with single rule.
rolebinding         Create a RoleBinding </span><span style="color: rgba(0, 0, 255, 1)">for</span><span style="color: rgba(0, 0, 0, 1)"> a particular Role or ClusterRole
secret            Create a secret using specified subcommand
service             Create a service using specified subcommand.
serviceaccount      Create a service account with the specified name

Options:
      </span>--allow-missing-template-keys=<span style="color: rgba(0, 0, 255, 1)">true</span>: If <span style="color: rgba(0, 0, 255, 1)">true</span>, ignore any errors <span style="color: rgba(0, 0, 255, 1)">in</span> templates when a field or map key is missing <span style="color: rgba(0, 0, 255, 1)">in</span><span style="color: rgba(0, 0, 0, 1)">
the template. Only applies to golang and jsonpath output formats.
      </span>--dry-run=<span style="color: rgba(0, 0, 255, 1)">false</span>: If <span style="color: rgba(0, 0, 255, 1)">true</span>, only print the <span style="color: rgba(0, 0, 255, 1)">object</span><span style="color: rgba(0, 0, 0, 1)"> that would be sent, without sending it.
      </span>--edit=<span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">: Edit the API resource before creating
</span>-f, --filename=<span style="color: rgba(0, 0, 0, 1)">[]: Filename, directory, or URL to files to use to create the resource
</span>-k, --kustomize=<span style="color: rgba(128, 0, 0, 1)">''</span>: Process the kustomization directory. This flag can<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">t be used together with -f or -R.</span>
-o, --output=<span style="color: rgba(128, 0, 0, 1)">''</span><span style="color: rgba(0, 0, 0, 1)">: Output format. One of:
json</span>|yaml|name|go-template|go-template-<span style="color: rgba(0, 0, 255, 1)">file</span>|template|templatefile|jsonpath|jsonpath-<span style="color: rgba(0, 0, 255, 1)">file</span><span style="color: rgba(0, 0, 0, 1)">.
      </span>--raw=<span style="color: rgba(128, 0, 0, 1)">''</span>: Raw URI to POST to the server.Uses the transport specified by the kubeconfig <span style="color: rgba(0, 0, 255, 1)">file</span><span style="color: rgba(0, 0, 0, 1)">.
      </span>--record=<span style="color: rgba(0, 0, 255, 1)">false</span>: Record current kubectl command <span style="color: rgba(0, 0, 255, 1)">in</span> the resource annotation. If set to <span style="color: rgba(0, 0, 255, 1)">false</span>, <span style="color: rgba(0, 0, 255, 1)">do</span><span style="color: rgba(0, 0, 0, 1)"> not record the
command. If set to </span><span style="color: rgba(0, 0, 255, 1)">true</span>, record the command. If not set, default to updating the existing annotation value only <span style="color: rgba(0, 0, 255, 1)">if</span><span style="color: rgba(0, 0, 0, 1)"> one
already exists.
</span>-R, --recursive=<span style="color: rgba(0, 0, 255, 1)">false</span>: Process the directory used <span style="color: rgba(0, 0, 255, 1)">in</span> -f, --<span style="color: rgba(0, 0, 0, 1)">filename recursively. Useful when you want to manage
related manifests organized within the same directory.
      </span>--save-config=<span style="color: rgba(0, 0, 255, 1)">false</span>: If <span style="color: rgba(0, 0, 255, 1)">true</span>, the configuration of current <span style="color: rgba(0, 0, 255, 1)">object</span> will be saved <span style="color: rgba(0, 0, 255, 1)">in</span><span style="color: rgba(0, 0, 0, 1)"> its annotation. Otherwise, the
annotation will be unchanged. This flag is useful when you want to perform kubectl apply on this </span><span style="color: rgba(0, 0, 255, 1)">object</span> <span style="color: rgba(0, 0, 255, 1)">in</span><span style="color: rgba(0, 0, 0, 1)"> the future.
</span>-l, --selector=<span style="color: rgba(128, 0, 0, 1)">''</span>: Selector (label query) to filter on, supports <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">=</span><span style="color: rgba(128, 0, 0, 1)">'</span>, <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">==</span><span style="color: rgba(128, 0, 0, 1)">'</span>, and <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">!=</span><span style="color: rgba(128, 0, 0, 1)">'</span>.(e.g. -l key1=value1,key2=<span style="color: rgba(0, 0, 0, 1)">value2)
      </span>--template=<span style="color: rgba(128, 0, 0, 1)">''</span>: Template <span style="color: rgba(0, 0, 255, 1)">string</span> or path to template <span style="color: rgba(0, 0, 255, 1)">file</span> to use when -o=go-template, -o=go-template-<span style="color: rgba(0, 0, 255, 1)">file</span><span style="color: rgba(0, 0, 0, 1)">. The
template format is golang templates .</span>
      --validate=<span style="color: rgba(0, 0, 255, 1)">true</span>: If <span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">, use a schema to validate the input before sending it
      </span>--windows-line-endings=<span style="color: rgba(0, 0, 255, 1)">false</span>: Only relevant <span style="color: rgba(0, 0, 255, 1)">if</span> --edit=<span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">. Defaults to the line ending native to your platform.

Usage:
kubectl create </span>-<span style="color: rgba(0, 0, 0, 1)">f FILENAME

Use </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">kubectl &lt;command&gt; --help</span><span style="color: rgba(128, 0, 0, 1)">"</span> <span style="color: rgba(0, 0, 255, 1)">for</span> <span style="color: rgba(0, 0, 255, 1)">more</span><span style="color: rgba(0, 0, 0, 1)"> information about a given command.
Use </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">kubectl options</span><span style="color: rgba(128, 0, 0, 1)">"</span> <span style="color: rgba(0, 0, 255, 1)">for</span> a list of global command-<span style="color: rgba(0, 0, 0, 1)">line options (applies to all commands).
#
# </pre>
</div>
<span class="cnblogs_code_collapse"># kubectl create --help</span></div>
<div class="cnblogs_code">
<pre># kubectl get namespace          #查看名称空间
NAME            STATUS   AGE
default         Active   9h
kube</span>-node-<span style="color: rgba(0, 0, 0, 1)">lease   Active   9h
kube</span>-<span style="color: rgba(0, 0, 0, 1)">public       Active   9h
kube</span>-<span style="color: rgba(0, 0, 0, 1)">system       Active   9h
#
# kubectl get ns               #也是查看名称空间,只不过这里是简写形式而已
NAME            STATUS   AGE
default         Active   9h
kube</span>-node-<span style="color: rgba(0, 0, 0, 1)">lease   Active   9h
kube</span>-<span style="color: rgba(0, 0, 0, 1)">public       Active   9h
kube</span>-<span style="color: rgba(0, 0, 0, 1)">system       Active   9h
#
# kubectl create namespace operation    #创建一个叫做"operation"的名称空间
namespace</span>/<span style="color: rgba(0, 0, 0, 1)">operation created
#
# kubectl create ns development
namespace</span>/<span style="color: rgba(0, 0, 0, 1)">development created
#
# kubectl create ns testing
namespace</span>/<span style="color: rgba(0, 0, 0, 1)">testing created
#
# kubectl get ns
NAME            STATUS   AGE
default         Active   9h
development       Active   38s
kube</span>-node-<span style="color: rgba(0, 0, 0, 1)">lease   Active   9h
kube</span>-<span style="color: rgba(0, 0, 0, 1)">public       Active   9h
kube</span>-<span style="color: rgba(0, 0, 0, 1)">system       Active   9h
operation         Active   65s
testing         Active   3s
#
# </pre>
</div>
<p><strong><span style="font-size: 18px">8&gt;.删除资源<strong>(以删除名称空间为案例)</strong></span></strong></p>
<div class="cnblogs_code"><img id="code_img_closed_3b2251b8-85f5-41c3-b2ed-111746beb6a3" class="code_img_closed lazyload" alt="" data-src="http://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif"><img id="code_img_opened_3b2251b8-85f5-41c3-b2ed-111746beb6a3" class="code_img_opened lazyload" style="display: none" alt="" data-src="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif">
<div id="cnblogs_code_open_3b2251b8-85f5-41c3-b2ed-111746beb6a3" class="cnblogs_code_hide">
<pre># kubectl delete --<span style="color: rgba(0, 0, 0, 1)">help
Delete resources by filenames, stdin, resources and names, or by resources and label selector.

JSON and YAML formats are accepted. Only one type of the arguments may be specified: filenames, resources and names, or
resources and label selector.

Some resources, such as pods, support graceful deletion. These resources define a default period before they are
forcibly terminated (the grace period) but you may override that value with the </span>--grace-period flag, or pass --<span style="color: rgba(0, 0, 0, 1)">now to
set a grace</span>-period of <span style="color: rgba(128, 0, 128, 1)">1</span>. Because these resources often represent entities <span style="color: rgba(0, 0, 255, 1)">in</span><span style="color: rgba(0, 0, 0, 1)"> the cluster, deletion may not be
acknowledged immediately. If the node hosting a pod is down or cannot reach the API server, termination may take
significantly longer than the grace period. To force delete a resource, you must pass a grace period of </span><span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)"> and specify
the </span>--force flag. Note: only a subset of resources support graceful deletion. In absence of the support, --grace-<span style="color: rgba(0, 0, 0, 1)">period
is ignored.

IMPORTANT: Force deleting pods does not </span><span style="color: rgba(0, 0, 255, 1)">wait</span> <span style="color: rgba(0, 0, 255, 1)">for</span> confirmation that the pod<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">s processes have been terminated, which can</span>
leave those processes running <span style="color: rgba(0, 0, 255, 1)">until</span><span style="color: rgba(0, 0, 0, 1)"> the node detects the deletion and completes graceful deletion. If your processes use
shared storage or talk to a remote API and depend on the name of the pod to identify themselves, force deleting those
pods may result </span><span style="color: rgba(0, 0, 255, 1)">in</span> multiple processes running on different machines using the same identification <span style="color: rgba(0, 0, 255, 1)">which</span><span style="color: rgba(0, 0, 0, 1)"> may lead to data
corruption or inconsistency. Only force delete pods when you are sure the pod is terminated, or </span><span style="color: rgba(0, 0, 255, 1)">if</span><span style="color: rgba(0, 0, 0, 1)"> your application can
tolerate multiple copies of the same pod running at once. Also, </span><span style="color: rgba(0, 0, 255, 1)">if</span><span style="color: rgba(0, 0, 0, 1)"> you force delete pods the scheduler may place new
pods on those nodes before the node has released those resources and causing those pods to be evicted immediately.

Note that the delete command does NOT </span><span style="color: rgba(0, 0, 255, 1)">do</span> resource version checks, so <span style="color: rgba(0, 0, 255, 1)">if</span><span style="color: rgba(0, 0, 0, 1)"> someone submits an update to a resource right
when you submit a delete, their update will be lost along with the rest of the resource.

Examples:
# Delete a pod using the type and name specified </span><span style="color: rgba(0, 0, 255, 1)">in</span><span style="color: rgba(0, 0, 0, 1)"> pod.json.
kubectl delete </span>-f ./<span style="color: rgba(0, 0, 0, 1)">pod.json

# Delete resources from a directory containing kustomization.yaml </span>- e.g. <span style="color: rgba(0, 0, 255, 1)">dir</span>/<span style="color: rgba(0, 0, 0, 1)">kustomization.yaml.
kubectl delete </span>-k <span style="color: rgba(0, 0, 255, 1)">dir</span><span style="color: rgba(0, 0, 0, 1)">

# Delete a pod based on the type and name </span><span style="color: rgba(0, 0, 255, 1)">in</span><span style="color: rgba(0, 0, 0, 1)"> the JSON passed into stdin.
</span><span style="color: rgba(0, 0, 255, 1)">cat</span> pod.json | kubectl delete -f -<span style="color: rgba(0, 0, 0, 1)">

# Delete pods and services with same names </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">baz</span><span style="color: rgba(128, 0, 0, 1)">"</span> and <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">foo</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">
kubectl delete pod,service baz foo

# Delete pods and services with label name</span>=<span style="color: rgba(0, 0, 0, 1)">myLabel.
kubectl delete pods,services </span>-l name=<span style="color: rgba(0, 0, 0, 1)">myLabel

# Delete a pod with minimal delay
kubectl delete pod foo </span>--<span style="color: rgba(0, 0, 0, 1)">now

# Force delete a pod on a dead node
kubectl delete pod foo </span>--grace-period=<span style="color: rgba(128, 0, 128, 1)">0</span> --<span style="color: rgba(0, 0, 0, 1)">force

# Delete all pods
kubectl delete pods </span>--<span style="color: rgba(0, 0, 0, 1)">all

Options:
      </span>--all=<span style="color: rgba(0, 0, 255, 1)">false</span>: Delete all resources, including uninitialized ones, <span style="color: rgba(0, 0, 255, 1)">in</span><span style="color: rgba(0, 0, 0, 1)"> the namespace of the specified resource types.
</span>-A, --all-namespaces=<span style="color: rgba(0, 0, 255, 1)">false</span>: If present, list the requested <span style="color: rgba(0, 0, 255, 1)">object</span>(s) across all namespaces. Namespace <span style="color: rgba(0, 0, 255, 1)">in</span><span style="color: rgba(0, 0, 0, 1)"> current
context is ignored even </span><span style="color: rgba(0, 0, 255, 1)">if</span> specified with --<span style="color: rgba(0, 0, 0, 1)">namespace.
      </span>--cascade=<span style="color: rgba(0, 0, 255, 1)">true</span>: If <span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">, cascade the deletion of the resources managed by this resource (e.g. Pods created by a
ReplicationController).Default </span><span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">.
      </span>--field-selector=<span style="color: rgba(128, 0, 0, 1)">''</span>: Selector (field query) to filter on, supports <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">=</span><span style="color: rgba(128, 0, 0, 1)">'</span>, <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">==</span><span style="color: rgba(128, 0, 0, 1)">'</span>, and <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">!=</span><span style="color: rgba(128, 0, 0, 1)">'</span>.(e.g. --field-<span style="color: rgba(0, 0, 0, 1)">selector
key1</span>=value1,key2=<span style="color: rgba(0, 0, 0, 1)">value2). The server only supports a limited number of field queries per type.
</span>-f, --filename=<span style="color: rgba(0, 0, 0, 1)">[]: containing the resource to delete.
      </span>--force=<span style="color: rgba(0, 0, 255, 1)">false</span>: Only used when grace-period=<span style="color: rgba(128, 0, 128, 1)">0</span>. If <span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">, immediately remove resources from API and bypass graceful
deletion. Note that immediate deletion of some resources may result </span><span style="color: rgba(0, 0, 255, 1)">in</span><span style="color: rgba(0, 0, 0, 1)"> inconsistency or data loss and requires
confirmation.
      </span>--grace-period=-<span style="color: rgba(128, 0, 128, 1)">1</span>: Period of <span style="color: rgba(0, 0, 255, 1)">time</span> <span style="color: rgba(0, 0, 255, 1)">in</span> seconds given to the resource to terminate gracefully. Ignored <span style="color: rgba(0, 0, 255, 1)">if</span><span style="color: rgba(0, 0, 0, 1)"> negative.
Set to </span><span style="color: rgba(128, 0, 128, 1)">1</span> <span style="color: rgba(0, 0, 255, 1)">for</span> immediate shutdown. Can only be set to <span style="color: rgba(128, 0, 128, 1)">0</span> when --force is <span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)"> (force deletion).
      </span>--ignore-not-found=<span style="color: rgba(0, 0, 255, 1)">false</span>: Treat <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">resource not found</span><span style="color: rgba(128, 0, 0, 1)">"</span> as a successful delete. Defaults to <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">true</span><span style="color: rgba(128, 0, 0, 1)">"</span> when --<span style="color: rgba(0, 0, 0, 1)">all is
specified.
</span>-k, --kustomize=<span style="color: rgba(128, 0, 0, 1)">''</span>: Process a kustomization directory. This flag can<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">t be used together with -f or -R.</span>
      --now=<span style="color: rgba(0, 0, 255, 1)">false</span>: If <span style="color: rgba(0, 0, 255, 1)">true</span>, resources are signaled <span style="color: rgba(0, 0, 255, 1)">for</span> immediate shutdown (same as --grace-period=<span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">).
</span>-o, --output=<span style="color: rgba(128, 0, 0, 1)">''</span>: Output mode. Use <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">-o name</span><span style="color: rgba(128, 0, 0, 1)">"</span> <span style="color: rgba(0, 0, 255, 1)">for</span> shorter output (resource/<span style="color: rgba(0, 0, 0, 1)">name).
      </span>--raw=<span style="color: rgba(128, 0, 0, 1)">''</span>: Raw URI to DELETE to the server.Uses the transport specified by the kubeconfig <span style="color: rgba(0, 0, 255, 1)">file</span><span style="color: rgba(0, 0, 0, 1)">.
</span>-R, --recursive=<span style="color: rgba(0, 0, 255, 1)">false</span>: Process the directory used <span style="color: rgba(0, 0, 255, 1)">in</span> -f, --<span style="color: rgba(0, 0, 0, 1)">filename recursively. Useful when you want to manage
related manifests organized within the same directory.
</span>-l, --selector=<span style="color: rgba(128, 0, 0, 1)">''</span><span style="color: rgba(0, 0, 0, 1)">: Selector (label query) to filter on, not including uninitialized ones.
      </span>--timeout=0s: The length of <span style="color: rgba(0, 0, 255, 1)">time</span> to <span style="color: rgba(0, 0, 255, 1)">wait</span><span style="color: rgba(0, 0, 0, 1)"> before giving up on a delete, zero means determine a timeout from the
size of the </span><span style="color: rgba(0, 0, 255, 1)">object</span>
      --<span style="color: rgba(0, 0, 255, 1)">wait</span>=<span style="color: rgba(0, 0, 255, 1)">true</span>: If <span style="color: rgba(0, 0, 255, 1)">true</span>, <span style="color: rgba(0, 0, 255, 1)">wait</span> <span style="color: rgba(0, 0, 255, 1)">for</span> resources to be gone before returning. This waits <span style="color: rgba(0, 0, 255, 1)">for</span><span style="color: rgba(0, 0, 0, 1)"> finalizers.

Usage:
kubectl delete ([</span>-f FILENAME] | [-k DIRECTORY] | TYPE [(NAME | -l label | --<span style="color: rgba(0, 0, 0, 1)">all)])

Use </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">kubectl options</span><span style="color: rgba(128, 0, 0, 1)">"</span> <span style="color: rgba(0, 0, 255, 1)">for</span> a list of global command-<span style="color: rgba(0, 0, 0, 1)">line options (applies to all commands).
#
# </pre>
</div>
<span class="cnblogs_code_collapse"># kubectl delete --help</span></div>
<div class="cnblogs_code">
<pre># kubectl get ns
NAME            STATUS   AGE
default         Active   10h
development       Active   7m14s
kube</span>-node-<span style="color: rgba(0, 0, 0, 1)">lease   Active   10h
kube</span>-<span style="color: rgba(0, 0, 0, 1)">public       Active   10h
kube</span>-<span style="color: rgba(0, 0, 0, 1)">system       Active   10h
operation         Active   7m41s
testing         Active   6m39s
#
# kubectl delete ns operation      <span style="color: rgba(255, 0, 255, 1)">#删除名称为"operation"名称空间,如果想要删除多个名称空间使用空格隔开即可(删除资源时会删除该名称空间下的所有pods资源,因此删除名称空间是很危险的操作,生产环境要谨慎操作哈~</span><span style="color: rgba(0, 0, 0, 1)"><span style="color: rgba(255, 0, 255, 1)">)</span>
namespace </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">operation</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)"> deleted
#
# kubectl delete ns/development ns/<span style="color: rgba(0, 0, 0, 1)">testing    <span style="color: rgba(255, 0, 255, 1)">#当然,我们也可以使用这种方式删除多个名称空间</span>
namespace </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">development</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)"> deleted
#
namespace </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">testing</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)"> deleted
#
# kubectl get namespace
NAME            STATUS   AGE
default         Active   10h
kube</span>-node-<span style="color: rgba(0, 0, 0, 1)">lease   Active   10h
kube</span>-<span style="color: rgba(0, 0, 0, 1)">public       Active   10h
kube</span>-<span style="color: rgba(0, 0, 0, 1)">system       Active   10h
#
# </pre>
</div>
<p><strong><span style="font-size: 18px">9&gt;.查看资源的描述信息</span></strong></p>
<div class="cnblogs_code">
<pre># kubectl get ns
NAME            STATUS   AGE
default         Active   10h
kube</span>-node-<span style="color: rgba(0, 0, 0, 1)">lease   Active   10h
kube</span>-<span style="color: rgba(0, 0, 0, 1)">public       Active   10h
kube</span>-<span style="color: rgba(0, 0, 0, 1)">system       Active   10h
#
#
# kubectl describe ns/kube-<span style="color: rgba(0, 0, 0, 1)">system
Name:         kube</span>-<span style="color: rgba(0, 0, 0, 1)">system
Labels:       </span>&lt;none&gt;<span style="color: rgba(0, 0, 0, 1)">
Annotations:</span>&lt;none&gt;<span style="color: rgba(0, 0, 0, 1)">
Status:       Active

No resource quota.

No LimitRange resource.
# </pre>
</div>
<p><strong><span style="font-size: 18px">10&gt;.创建service</span></strong></p>
<div class="cnblogs_code"><img id="code_img_closed_8ce7e822-3cd3-4fcf-8da9-3e8336a3cb85" class="code_img_closed lazyload" alt="" data-src="http://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif"><img id="code_img_opened_8ce7e822-3cd3-4fcf-8da9-3e8336a3cb85" class="code_img_opened lazyload" style="display: none" alt="" data-src="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif">
<div id="cnblogs_code_open_8ce7e822-3cd3-4fcf-8da9-3e8336a3cb85" class="cnblogs_code_hide">
<pre># kubectl create service--<span style="color: rgba(0, 0, 0, 1)">help
Create a service using specified subcommand.

Aliases:
service, svc

Available Commands:
clusterip    Create a ClusterIP service.
externalname Create an ExternalName service.
loadbalancer Create a LoadBalancer service.
nodeport   Create a NodePort service.

Usage:
kubectl create service

Use </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">kubectl &lt;command&gt; --help</span><span style="color: rgba(128, 0, 0, 1)">"</span> <span style="color: rgba(0, 0, 255, 1)">for</span> <span style="color: rgba(0, 0, 255, 1)">more</span><span style="color: rgba(0, 0, 0, 1)"> information about a given command.
Use </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">kubectl options</span><span style="color: rgba(128, 0, 0, 1)">"</span> <span style="color: rgba(0, 0, 255, 1)">for</span> a list of global command-<span style="color: rgba(0, 0, 0, 1)">line options (applies to all commands).
# </pre>
</div>
<span class="cnblogs_code_collapse"># kubectl create service --help</span></div>
<div class="cnblogs_code"><img id="code_img_closed_473413f8-cfc6-4659-8521-99f360c31aa5" class="code_img_closed lazyload" alt="" data-src="http://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif"><img id="code_img_opened_473413f8-cfc6-4659-8521-99f360c31aa5" class="code_img_opened lazyload" style="display: none" alt="" data-src="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif">
<div id="cnblogs_code_open_473413f8-cfc6-4659-8521-99f360c31aa5" class="cnblogs_code_hide">
<pre># kubectl create serviceclusterip --<span style="color: rgba(0, 0, 0, 1)">help
Create a ClusterIP service with the specified name.

Examples:
# Create a new ClusterIP service named my</span>-<span style="color: rgba(0, 0, 0, 1)">cs
kubectl create service clusterip my</span>-cs --tcp=<span style="color: rgba(128, 0, 128, 1)">5678</span>:<span style="color: rgba(128, 0, 128, 1)">8080</span><span style="color: rgba(0, 0, 0, 1)">

# Create a new ClusterIP service named my</span>-cs (<span style="color: rgba(0, 0, 255, 1)">in</span><span style="color: rgba(0, 0, 0, 1)"> headless mode)
kubectl create service clusterip my</span>-cs --clusterip=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">None</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">

Options:
      </span>--allow-missing-template-keys=<span style="color: rgba(0, 0, 255, 1)">true</span>: If <span style="color: rgba(0, 0, 255, 1)">true</span>, ignore any errors <span style="color: rgba(0, 0, 255, 1)">in</span> templates when a field or map key is missing <span style="color: rgba(0, 0, 255, 1)">in</span><span style="color: rgba(0, 0, 0, 1)">
the template. Only applies to golang and jsonpath output formats.
      </span>--clusterip=<span style="color: rgba(128, 0, 0, 1)">''</span>: Assign your own ClusterIP or set to <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">None</span><span style="color: rgba(128, 0, 0, 1)">'</span> <span style="color: rgba(0, 0, 255, 1)">for</span> a <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">headless</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)"> service (no loadbalancing).
      </span>--dry-run=<span style="color: rgba(0, 0, 255, 1)">false</span>: If <span style="color: rgba(0, 0, 255, 1)">true</span>, only print the <span style="color: rgba(0, 0, 255, 1)">object</span><span style="color: rgba(0, 0, 0, 1)"> that would be sent, without sending it.
      </span>--generator=<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">service-clusterip/v1</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">: The name of the API generator to use.
</span>-o, --output=<span style="color: rgba(128, 0, 0, 1)">''</span><span style="color: rgba(0, 0, 0, 1)">: Output format. One of:
json</span>|yaml|name|go-template|go-template-<span style="color: rgba(0, 0, 255, 1)">file</span>|template|templatefile|jsonpath|jsonpath-<span style="color: rgba(0, 0, 255, 1)">file</span><span style="color: rgba(0, 0, 0, 1)">.
      </span>--save-config=<span style="color: rgba(0, 0, 255, 1)">false</span>: If <span style="color: rgba(0, 0, 255, 1)">true</span>, the configuration of current <span style="color: rgba(0, 0, 255, 1)">object</span> will be saved <span style="color: rgba(0, 0, 255, 1)">in</span><span style="color: rgba(0, 0, 0, 1)"> its annotation. Otherwise, the
annotation will be unchanged. This flag is useful when you want to perform kubectl apply on this </span><span style="color: rgba(0, 0, 255, 1)">object</span> <span style="color: rgba(0, 0, 255, 1)">in</span><span style="color: rgba(0, 0, 0, 1)"> the future.
      </span>--tcp=[]: Port pairs can be specified as <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">&lt;port&gt;:&lt;targetPort&gt;</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">.
      </span>--template=<span style="color: rgba(128, 0, 0, 1)">''</span>: Template <span style="color: rgba(0, 0, 255, 1)">string</span> or path to template <span style="color: rgba(0, 0, 255, 1)">file</span> to use when -o=go-template, -o=go-template-<span style="color: rgba(0, 0, 255, 1)">file</span><span style="color: rgba(0, 0, 0, 1)">. The
template format is golang templates .</span>
      --validate=<span style="color: rgba(0, 0, 255, 1)">true</span>: If <span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">, use a schema to validate the input before sending it

Usage:
kubectl create service clusterip NAME [</span>--tcp=&lt;port&gt;:&lt;targetPort&gt;] [--dry-<span style="color: rgba(0, 0, 0, 1)">run]

Use </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">kubectl options</span><span style="color: rgba(128, 0, 0, 1)">"</span> <span style="color: rgba(0, 0, 255, 1)">for</span> a list of global command-<span style="color: rgba(0, 0, 0, 1)">line options (applies to all commands).
# </pre>
</div>
<span class="cnblogs_code_collapse"># kubectl create service clusterip --help</span></div>
<div class="cnblogs_code">
<pre># kubectl get svc
NAME         TYPE      CLUSTER</span>-IP   EXTERNAL-<span style="color: rgba(0, 0, 0, 1)">IP   PORT(S)   AGE
kubernetes   ClusterIP   </span><span style="color: rgba(128, 0, 128, 1)">10.96</span>.<span style="color: rgba(128, 0, 128, 1)">0.1</span>    &lt;none&gt;      <span style="color: rgba(128, 0, 128, 1)">443</span>/<span style="color: rgba(0, 0, 0, 1)">TCP   11h
#
# kubectl create service clusterip nginx-service --tcp=<span style="color: rgba(128, 0, 128, 1)">80</span>:<span style="color: rgba(128, 0, 128, 1)">80</span>      #创建一个名称为<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">nginx-service</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">的service资源,指定tcp 80端口映射到目标的80端口,IP地址会动态分配
service</span>/nginx-<span style="color: rgba(0, 0, 0, 1)">service created
#
# kubectl get svc
NAME            TYPE      CLUSTER</span>-IP      EXTERNAL-<span style="color: rgba(0, 0, 0, 1)">IP   PORT(S)   AGE
kubernetes      ClusterIP   </span><span style="color: rgba(128, 0, 128, 1)">10.96</span>.<span style="color: rgba(128, 0, 128, 1)">0.1</span>       &lt;none&gt;      <span style="color: rgba(128, 0, 128, 1)">443</span>/<span style="color: rgba(0, 0, 0, 1)">TCP   11h
nginx</span>-service   ClusterIP   <span style="color: rgba(128, 0, 128, 1)">10.111</span>.<span style="color: rgba(128, 0, 128, 1)">57.222</span>   &lt;none&gt;      <span style="color: rgba(128, 0, 128, 1)">80</span>/<span style="color: rgba(0, 0, 0, 1)">TCP    1s
#
#</pre>
</div>
<div class="cnblogs_code"><img id="code_img_closed_611b88cf-9ce3-4391-aeb7-aa8635368928" class="code_img_closed lazyload" alt="" data-src="http://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif"><img id="code_img_opened_611b88cf-9ce3-4391-aeb7-aa8635368928" class="code_img_opened lazyload" style="display: none" alt="" data-src="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif">
<div id="cnblogs_code_open_611b88cf-9ce3-4391-aeb7-aa8635368928" class="cnblogs_code_hide">
<pre># kubectl get service
NAME            TYPE      CLUSTER</span>-IP      EXTERNAL-<span style="color: rgba(0, 0, 0, 1)">IP   PORT(S)   AGE
kubernetes      ClusterIP   </span><span style="color: rgba(128, 0, 128, 1)">10.96</span>.<span style="color: rgba(128, 0, 128, 1)">0.1</span>       &lt;none&gt;      <span style="color: rgba(128, 0, 128, 1)">443</span>/<span style="color: rgba(0, 0, 0, 1)">TCP   11h
nginx</span>-service   ClusterIP   <span style="color: rgba(128, 0, 128, 1)">10.111</span>.<span style="color: rgba(128, 0, 128, 1)">57.222</span>   &lt;none&gt;      <span style="color: rgba(128, 0, 128, 1)">80</span>/<span style="color: rgba(0, 0, 0, 1)">TCP    2m24s
#
# kubectl get svc
NAME            TYPE      CLUSTER</span>-IP      EXTERNAL-<span style="color: rgba(0, 0, 0, 1)">IP   PORT(S)   AGE
kubernetes      ClusterIP   </span><span style="color: rgba(128, 0, 128, 1)">10.96</span>.<span style="color: rgba(128, 0, 128, 1)">0.1</span>       &lt;none&gt;      <span style="color: rgba(128, 0, 128, 1)">443</span>/<span style="color: rgba(0, 0, 0, 1)">TCP   11h
nginx</span>-service   ClusterIP   <span style="color: rgba(128, 0, 128, 1)">10.111</span>.<span style="color: rgba(128, 0, 128, 1)">57.222</span>   &lt;none&gt;      <span style="color: rgba(128, 0, 128, 1)">80</span>/<span style="color: rgba(0, 0, 0, 1)">TCP    2m33s
#
# kubectl get service/nginx-service -<span style="color: rgba(0, 0, 0, 1)">o yaml          #以yaml格式显式service服务
apiVersion: v1
kind: Service
metadata:
creationTimestamp: </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">2020-02-04T23:23:14Z</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">
labels:
    app: nginx</span>-<span style="color: rgba(0, 0, 0, 1)">service
name: nginx</span>-<span style="color: rgba(0, 0, 0, 1)">service
namespace: default
resourceVersion: </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">31112</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">
selfLink: </span>/api/v1/namespaces/default/services/nginx-<span style="color: rgba(0, 0, 0, 1)">service
uid: 3e32c499</span>-5cdd-<span style="color: rgba(128, 0, 128, 1)">4986</span>-bca1-<span style="color: rgba(0, 0, 0, 1)">abff14c31ee8
spec:
clusterIP: </span><span style="color: rgba(128, 0, 128, 1)">10.111</span>.<span style="color: rgba(128, 0, 128, 1)">57.222</span><span style="color: rgba(0, 0, 0, 1)">
ports:
</span>- name: <span style="color: rgba(128, 0, 128, 1)">80</span>-<span style="color: rgba(128, 0, 128, 1)">80</span><span style="color: rgba(0, 0, 0, 1)">
    port: </span><span style="color: rgba(128, 0, 128, 1)">80</span><span style="color: rgba(0, 0, 0, 1)">
    protocol: TCP
    targetPort: </span><span style="color: rgba(128, 0, 128, 1)">80</span><span style="color: rgba(0, 0, 0, 1)">
selector:
    app: nginx</span>-<span style="color: rgba(0, 0, 0, 1)">service
sessionAffinity: None
type: ClusterIP
status:
loadBalancer: {}
#
# </pre>
</div>
<span class="cnblogs_code_collapse"># kubectl get service/nginx-service -o yaml          #以yaml格式显式service服务</span></div>
<p><strong><span style="font-size: 18px">11&gt;.删除service</span></strong></p>
<div class="cnblogs_code"><img id="code_img_closed_33e3356e-d051-4864-90de-e5fb5d9ad06b" class="code_img_closed lazyload" alt="" data-src="http://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif"><img id="code_img_opened_33e3356e-d051-4864-90de-e5fb5d9ad06b" class="code_img_opened lazyload" style="display: none" alt="" data-src="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif">
<div id="cnblogs_code_open_33e3356e-d051-4864-90de-e5fb5d9ad06b" class="cnblogs_code_hide">
<pre># kubectl delete service --<span style="color: rgba(0, 0, 0, 1)">help
Delete resources by filenames, stdin, resources and names, or by resources and label selector.

JSON and YAML formats are accepted. Only one type of the arguments may be specified: filenames, resources and names, or
resources and label selector.

Some resources, such as pods, support graceful deletion. These resources define a default period before they are
forcibly terminated (the grace period) but you may override that value with the </span>--grace-period flag, or pass --<span style="color: rgba(0, 0, 0, 1)">now to
set a grace</span>-period of <span style="color: rgba(128, 0, 128, 1)">1</span>. Because these resources often represent entities <span style="color: rgba(0, 0, 255, 1)">in</span><span style="color: rgba(0, 0, 0, 1)"> the cluster, deletion may not be
acknowledged immediately. If the node hosting a pod is down or cannot reach the API server, termination may take
significantly longer than the grace period. To force delete a resource, you must pass a grace period of </span><span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)"> and specify
the </span>--force flag. Note: only a subset of resources support graceful deletion. In absence of the support, --grace-<span style="color: rgba(0, 0, 0, 1)">period
is ignored.

IMPORTANT: Force deleting pods does not </span><span style="color: rgba(0, 0, 255, 1)">wait</span> <span style="color: rgba(0, 0, 255, 1)">for</span> confirmation that the pod<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">s processes have been terminated, which can</span>
leave those processes running <span style="color: rgba(0, 0, 255, 1)">until</span><span style="color: rgba(0, 0, 0, 1)"> the node detects the deletion and completes graceful deletion. If your processes use
shared storage or talk to a remote API and depend on the name of the pod to identify themselves, force deleting those
pods may result </span><span style="color: rgba(0, 0, 255, 1)">in</span> multiple processes running on different machines using the same identification <span style="color: rgba(0, 0, 255, 1)">which</span><span style="color: rgba(0, 0, 0, 1)"> may lead to data
corruption or inconsistency. Only force delete pods when you are sure the pod is terminated, or </span><span style="color: rgba(0, 0, 255, 1)">if</span><span style="color: rgba(0, 0, 0, 1)"> your application can
tolerate multiple copies of the same pod running at once. Also, </span><span style="color: rgba(0, 0, 255, 1)">if</span><span style="color: rgba(0, 0, 0, 1)"> you force delete pods the scheduler may place new
pods on those nodes before the node has released those resources and causing those pods to be evicted immediately.

Note that the delete command does NOT </span><span style="color: rgba(0, 0, 255, 1)">do</span> resource version checks, so <span style="color: rgba(0, 0, 255, 1)">if</span><span style="color: rgba(0, 0, 0, 1)"> someone submits an update to a resource right
when you submit a delete, their update will be lost along with the rest of the resource.

Examples:
# Delete a pod using the type and name specified </span><span style="color: rgba(0, 0, 255, 1)">in</span><span style="color: rgba(0, 0, 0, 1)"> pod.json.
kubectl delete </span>-f ./<span style="color: rgba(0, 0, 0, 1)">pod.json

# Delete resources from a directory containing kustomization.yaml </span>- e.g. <span style="color: rgba(0, 0, 255, 1)">dir</span>/<span style="color: rgba(0, 0, 0, 1)">kustomization.yaml.
kubectl delete </span>-k <span style="color: rgba(0, 0, 255, 1)">dir</span><span style="color: rgba(0, 0, 0, 1)">

# Delete a pod based on the type and name </span><span style="color: rgba(0, 0, 255, 1)">in</span><span style="color: rgba(0, 0, 0, 1)"> the JSON passed into stdin.
</span><span style="color: rgba(0, 0, 255, 1)">cat</span> pod.json | kubectl delete -f -<span style="color: rgba(0, 0, 0, 1)">

# Delete pods and services with same names </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">baz</span><span style="color: rgba(128, 0, 0, 1)">"</span> and <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">foo</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">
kubectl delete pod,service baz foo

# Delete pods and services with label name</span>=<span style="color: rgba(0, 0, 0, 1)">myLabel.
kubectl delete pods,services </span>-l name=<span style="color: rgba(0, 0, 0, 1)">myLabel

# Delete a pod with minimal delay
kubectl delete pod foo </span>--<span style="color: rgba(0, 0, 0, 1)">now

# Force delete a pod on a dead node
kubectl delete pod foo </span>--grace-period=<span style="color: rgba(128, 0, 128, 1)">0</span> --<span style="color: rgba(0, 0, 0, 1)">force

# Delete all pods
kubectl delete pods </span>--<span style="color: rgba(0, 0, 0, 1)">all

Options:
      </span>--all=<span style="color: rgba(0, 0, 255, 1)">false</span>: Delete all resources, including uninitialized ones, <span style="color: rgba(0, 0, 255, 1)">in</span><span style="color: rgba(0, 0, 0, 1)"> the namespace of the specified resource types.
</span>-A, --all-namespaces=<span style="color: rgba(0, 0, 255, 1)">false</span>: If present, list the requested <span style="color: rgba(0, 0, 255, 1)">object</span>(s) across all namespaces. Namespace <span style="color: rgba(0, 0, 255, 1)">in</span><span style="color: rgba(0, 0, 0, 1)"> current
context is ignored even </span><span style="color: rgba(0, 0, 255, 1)">if</span> specified with --<span style="color: rgba(0, 0, 0, 1)">namespace.
      </span>--cascade=<span style="color: rgba(0, 0, 255, 1)">true</span>: If <span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">, cascade the deletion of the resources managed by this resource (e.g. Pods created by a
ReplicationController).Default </span><span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">.
      </span>--field-selector=<span style="color: rgba(128, 0, 0, 1)">''</span>: Selector (field query) to filter on, supports <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">=</span><span style="color: rgba(128, 0, 0, 1)">'</span>, <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">==</span><span style="color: rgba(128, 0, 0, 1)">'</span>, and <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">!=</span><span style="color: rgba(128, 0, 0, 1)">'</span>.(e.g. --field-<span style="color: rgba(0, 0, 0, 1)">selector
key1</span>=value1,key2=<span style="color: rgba(0, 0, 0, 1)">value2). The server only supports a limited number of field queries per type.
</span>-f, --filename=<span style="color: rgba(0, 0, 0, 1)">[]: containing the resource to delete.
      </span>--force=<span style="color: rgba(0, 0, 255, 1)">false</span>: Only used when grace-period=<span style="color: rgba(128, 0, 128, 1)">0</span>. If <span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">, immediately remove resources from API and bypass graceful
deletion. Note that immediate deletion of some resources may result </span><span style="color: rgba(0, 0, 255, 1)">in</span><span style="color: rgba(0, 0, 0, 1)"> inconsistency or data loss and requires
confirmation.
      </span>--grace-period=-<span style="color: rgba(128, 0, 128, 1)">1</span>: Period of <span style="color: rgba(0, 0, 255, 1)">time</span> <span style="color: rgba(0, 0, 255, 1)">in</span> seconds given to the resource to terminate gracefully. Ignored <span style="color: rgba(0, 0, 255, 1)">if</span><span style="color: rgba(0, 0, 0, 1)"> negative.
Set to </span><span style="color: rgba(128, 0, 128, 1)">1</span> <span style="color: rgba(0, 0, 255, 1)">for</span> immediate shutdown. Can only be set to <span style="color: rgba(128, 0, 128, 1)">0</span> when --force is <span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)"> (force deletion).
      </span>--ignore-not-found=<span style="color: rgba(0, 0, 255, 1)">false</span>: Treat <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">resource not found</span><span style="color: rgba(128, 0, 0, 1)">"</span> as a successful delete. Defaults to <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">true</span><span style="color: rgba(128, 0, 0, 1)">"</span> when --<span style="color: rgba(0, 0, 0, 1)">all is
specified.
</span>-k, --kustomize=<span style="color: rgba(128, 0, 0, 1)">''</span>: Process a kustomization directory. This flag can<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">t be used together with -f or -R.</span>
      --now=<span style="color: rgba(0, 0, 255, 1)">false</span>: If <span style="color: rgba(0, 0, 255, 1)">true</span>, resources are signaled <span style="color: rgba(0, 0, 255, 1)">for</span> immediate shutdown (same as --grace-period=<span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">).
</span>-o, --output=<span style="color: rgba(128, 0, 0, 1)">''</span>: Output mode. Use <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">-o name</span><span style="color: rgba(128, 0, 0, 1)">"</span> <span style="color: rgba(0, 0, 255, 1)">for</span> shorter output (resource/<span style="color: rgba(0, 0, 0, 1)">name).
      </span>--raw=<span style="color: rgba(128, 0, 0, 1)">''</span>: Raw URI to DELETE to the server.Uses the transport specified by the kubeconfig <span style="color: rgba(0, 0, 255, 1)">file</span><span style="color: rgba(0, 0, 0, 1)">.
</span>-R, --recursive=<span style="color: rgba(0, 0, 255, 1)">false</span>: Process the directory used <span style="color: rgba(0, 0, 255, 1)">in</span> -f, --<span style="color: rgba(0, 0, 0, 1)">filename recursively. Useful when you want to manage
related manifests organized within the same directory.
</span>-l, --selector=<span style="color: rgba(128, 0, 0, 1)">''</span><span style="color: rgba(0, 0, 0, 1)">: Selector (label query) to filter on, not including uninitialized ones.
      </span>--timeout=0s: The length of <span style="color: rgba(0, 0, 255, 1)">time</span> to <span style="color: rgba(0, 0, 255, 1)">wait</span><span style="color: rgba(0, 0, 0, 1)"> before giving up on a delete, zero means determine a timeout from the
size of the </span><span style="color: rgba(0, 0, 255, 1)">object</span>
      --<span style="color: rgba(0, 0, 255, 1)">wait</span>=<span style="color: rgba(0, 0, 255, 1)">true</span>: If <span style="color: rgba(0, 0, 255, 1)">true</span>, <span style="color: rgba(0, 0, 255, 1)">wait</span> <span style="color: rgba(0, 0, 255, 1)">for</span> resources to be gone before returning. This waits <span style="color: rgba(0, 0, 255, 1)">for</span><span style="color: rgba(0, 0, 0, 1)"> finalizers.

Usage:
kubectl delete ([</span>-f FILENAME] | [-k DIRECTORY] | TYPE [(NAME | -l label | --<span style="color: rgba(0, 0, 0, 1)">all)])

Use </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">kubectl options</span><span style="color: rgba(128, 0, 0, 1)">"</span> <span style="color: rgba(0, 0, 255, 1)">for</span> a list of global command-<span style="color: rgba(0, 0, 0, 1)">line options (applies to all commands).
#
# </pre>
</div>
<span class="cnblogs_code_collapse"># kubectl delete service --help</span></div>
<div class="cnblogs_code"><img id="code_img_closed_d736ef55-6d51-46ed-88c5-ffd1fdb6189b" class="code_img_closed lazyload" alt="" data-src="http://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif"><img id="code_img_opened_d736ef55-6d51-46ed-88c5-ffd1fdb6189b" class="code_img_opened lazyload" style="display: none" alt="" data-src="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif">
<div id="cnblogs_code_open_d736ef55-6d51-46ed-88c5-ffd1fdb6189b" class="cnblogs_code_hide">
<pre># kubectl get service
NAME            TYPE      CLUSTER</span>-IP      EXTERNAL-<span style="color: rgba(0, 0, 0, 1)">IP   PORT(S)   AGE
kubernetes      ClusterIP   </span><span style="color: rgba(128, 0, 128, 1)">10.96</span>.<span style="color: rgba(128, 0, 128, 1)">0.1</span>       &lt;none&gt;      <span style="color: rgba(128, 0, 128, 1)">443</span>/<span style="color: rgba(0, 0, 0, 1)">TCP   11h
nginx</span>-service   ClusterIP   <span style="color: rgba(128, 0, 128, 1)">10.111</span>.<span style="color: rgba(128, 0, 128, 1)">57.222</span>   &lt;none&gt;      <span style="color: rgba(128, 0, 128, 1)">80</span>/<span style="color: rgba(0, 0, 0, 1)">TCP    7m8s
#
# kubectl delete service/nginx-<span style="color: rgba(0, 0, 0, 1)">service
service </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">nginx-service</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)"> deleted
#
# kubectl get svc
NAME         TYPE      CLUSTER</span>-IP   EXTERNAL-<span style="color: rgba(0, 0, 0, 1)">IP   PORT(S)   AGE
kubernetes   ClusterIP   </span><span style="color: rgba(128, 0, 128, 1)">10.96</span>.<span style="color: rgba(128, 0, 128, 1)">0.1</span>    &lt;none&gt;      <span style="color: rgba(128, 0, 128, 1)">443</span>/<span style="color: rgba(0, 0, 0, 1)">TCP   11h
#
# </pre>
</div>
<span class="cnblogs_code_collapse"># kubectl delete service/nginx-service</span></div>
<p><strong><span style="font-size: 18px">12&gt;.以“组/版本”的形式打印服务器上支持的API版本</span></strong></p>
<div class="cnblogs_code"><img id="code_img_closed_4727e544-e39a-4e2e-9138-9e89c50231b9" class="code_img_closed lazyload" alt="" data-src="http://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif"><img id="code_img_opened_4727e544-e39a-4e2e-9138-9e89c50231b9" class="code_img_opened lazyload" style="display: none" alt="" data-src="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif">
<div id="cnblogs_code_open_4727e544-e39a-4e2e-9138-9e89c50231b9" class="cnblogs_code_hide">
<pre># kubectl api-<span style="color: rgba(0, 0, 0, 1)">versions
admissionregistration.k8s.io</span>/<span style="color: rgba(0, 0, 0, 1)">v1
admissionregistration.k8s.io</span>/<span style="color: rgba(0, 0, 0, 1)">v1beta1
apiextensions.k8s.io</span>/<span style="color: rgba(0, 0, 0, 1)">v1
apiextensions.k8s.io</span>/<span style="color: rgba(0, 0, 0, 1)">v1beta1
apiregistration.k8s.io</span>/<span style="color: rgba(0, 0, 0, 1)">v1
apiregistration.k8s.io</span>/<span style="color: rgba(0, 0, 0, 1)">v1beta1
apps</span>/<span style="color: rgba(0, 0, 0, 1)">v1
authentication.k8s.io</span>/<span style="color: rgba(0, 0, 0, 1)">v1
authentication.k8s.io</span>/<span style="color: rgba(0, 0, 0, 1)">v1beta1
authorization.k8s.io</span>/<span style="color: rgba(0, 0, 0, 1)">v1
authorization.k8s.io</span>/<span style="color: rgba(0, 0, 0, 1)">v1beta1
autoscaling</span>/<span style="color: rgba(0, 0, 0, 1)">v1
autoscaling</span>/<span style="color: rgba(0, 0, 0, 1)">v2beta1
autoscaling</span>/<span style="color: rgba(0, 0, 0, 1)">v2beta2
batch</span>/<span style="color: rgba(0, 0, 0, 1)">v1
batch</span>/<span style="color: rgba(0, 0, 0, 1)">v1beta1
certificates.k8s.io</span>/<span style="color: rgba(0, 0, 0, 1)">v1beta1
coordination.k8s.io</span>/<span style="color: rgba(0, 0, 0, 1)">v1
coordination.k8s.io</span>/<span style="color: rgba(0, 0, 0, 1)">v1beta1
discovery.k8s.io</span>/<span style="color: rgba(0, 0, 0, 1)">v1beta1
events.k8s.io</span>/<span style="color: rgba(0, 0, 0, 1)">v1beta1
extensions</span>/<span style="color: rgba(0, 0, 0, 1)">v1beta1
networking.k8s.io</span>/<span style="color: rgba(0, 0, 0, 1)">v1
networking.k8s.io</span>/<span style="color: rgba(0, 0, 0, 1)">v1beta1
node.k8s.io</span>/<span style="color: rgba(0, 0, 0, 1)">v1beta1
policy</span>/<span style="color: rgba(0, 0, 0, 1)">v1beta1
rbac.authorization.k8s.io</span>/<span style="color: rgba(0, 0, 0, 1)">v1
rbac.authorization.k8s.io</span>/<span style="color: rgba(0, 0, 0, 1)">v1beta1
scheduling.k8s.io</span>/<span style="color: rgba(0, 0, 0, 1)">v1
scheduling.k8s.io</span>/<span style="color: rgba(0, 0, 0, 1)">v1beta1
storage.k8s.io</span>/<span style="color: rgba(0, 0, 0, 1)">v1
storage.k8s.io</span>/<span style="color: rgba(0, 0, 0, 1)">v1beta1
v1
# </pre>
</div>
<span class="cnblogs_code_collapse"># kubectl api-versions</span></div>
<p><strong><span style="font-size: 18px">13&gt;.监控(watch)正在运行的pod</span></strong></p>
<div class="cnblogs_code"><img id="code_img_closed_1c3ece21-5184-4872-9cae-c6b67c2a7df5" class="code_img_closed lazyload" alt="" data-src="http://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif"><img id="code_img_opened_1c3ece21-5184-4872-9cae-c6b67c2a7df5" class="code_img_opened lazyload" style="display: none" alt="" data-src="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif">
<div id="cnblogs_code_open_1c3ece21-5184-4872-9cae-c6b67c2a7df5" class="cnblogs_code_hide">
<pre># kubectl get pods -<span style="color: rgba(0, 0, 255, 1)">w</span><span style="color: rgba(0, 0, 0, 1)">
NAME                     READY   STATUS    RESTARTS   AGE
liveness</span>-exec            <span style="color: rgba(128, 0, 128, 1)">1</span>/<span style="color: rgba(128, 0, 128, 1)">1</span>   Running   <span style="color: rgba(128, 0, 128, 1)">6</span><span style="color: rgba(0, 0, 0, 1)">          9m58s
liveness</span>-http            <span style="color: rgba(128, 0, 128, 1)">1</span>/<span style="color: rgba(128, 0, 128, 1)">1</span>   Running   <span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">          8s
mynginx</span>-677d85dbd5-t9xfz   <span style="color: rgba(128, 0, 128, 1)">1</span>/<span style="color: rgba(128, 0, 128, 1)">1</span>   Running   <span style="color: rgba(128, 0, 128, 1)">0</span>          4h36m</pre>
</div>
<span class="cnblogs_code_collapse"># kubectl get pods -w</span></div>
<p>&nbsp;</p>
<p><span style="font-size: 14pt; color: rgba(255, 0, 255, 1)"><strong>二.使用kubectl部署一个nginx镜像案例</strong></span></p>
<p><span style="font-size: 18px"><strong>1&gt;.创建容器之前查看default名称空间信息</strong></span></p>
<div class="cnblogs_code">
<pre># kubectl get ns
NAME            STATUS   AGE
default         Active   10h
kube</span>-node-<span style="color: rgba(0, 0, 0, 1)">lease   Active   10h
kube</span>-<span style="color: rgba(0, 0, 0, 1)">public       Active   10h
kube</span>-<span style="color: rgba(0, 0, 0, 1)">system       Active   10h
#
# kubectl get all              #注意,此处我们没有指定名称空间,那么就是使用的default这个名称空间哟~
NAME               TYPE      CLUSTER</span>-IP   EXTERNAL-<span style="color: rgba(0, 0, 0, 1)">IP   PORT(S)   AGE
service</span>/kubernetes   ClusterIP   <span style="color: rgba(128, 0, 128, 1)">10.96</span>.<span style="color: rgba(128, 0, 128, 1)">0.1</span>    &lt;none&gt;      <span style="color: rgba(128, 0, 128, 1)">443</span>/<span style="color: rgba(0, 0, 0, 1)">TCP   10h
#
#
# kubectl get all -<span style="color: rgba(0, 0, 0, 1)">n default        #查看default名称空间的所有资源
NAME               TYPE      CLUSTER</span>-IP   EXTERNAL-<span style="color: rgba(0, 0, 0, 1)">IP   PORT(S)   AGE
service</span>/kubernetes   ClusterIP   <span style="color: rgba(128, 0, 128, 1)">10.96</span>.<span style="color: rgba(128, 0, 128, 1)">0.1</span>    &lt;none&gt;      <span style="color: rgba(128, 0, 128, 1)">443</span>/<span style="color: rgba(0, 0, 0, 1)">TCP   10h
#
# kubectl get pods               #如果咱们没有指定名称空间,默认使用的就是default这个名称空间哟~<span style="color: rgba(0, 0, 0, 1)">
No resources found </span><span style="color: rgba(0, 0, 255, 1)">in</span><span style="color: rgba(0, 0, 0, 1)"> default namespace.
#
# kubectl get pods -<span style="color: rgba(0, 0, 0, 1)">n default        #查看default名称空间的pods信息
No resources found </span><span style="color: rgba(0, 0, 255, 1)">in</span><span style="color: rgba(0, 0, 0, 1)"> default namespace.
# </pre>
</div>
<p><span style="font-size: 18px"><strong>2&gt;.创建一个nginx的pod</strong></span></p>
<div class="cnblogs_code"><img id="code_img_closed_ca3c12e6-83ea-4ace-8430-7e88d3ecf96f" class="code_img_closed lazyload" alt="" data-src="http://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif"><img id="code_img_opened_ca3c12e6-83ea-4ace-8430-7e88d3ecf96f" class="code_img_opened lazyload" style="display: none" alt="" data-src="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif">
<div id="cnblogs_code_open_ca3c12e6-83ea-4ace-8430-7e88d3ecf96f" class="cnblogs_code_hide">
<pre># kubectl create deploy --<span style="color: rgba(0, 0, 0, 1)">help
Create a deployment with the specified name.

Aliases:
deployment, deploy

Examples:
# Create a new deployment named my</span>-<span style="color: rgba(0, 0, 0, 1)">dep that runs the busybox image.
kubectl create deployment my</span>-dep --image=<span style="color: rgba(0, 0, 0, 1)">busybox

Options:
      </span>--allow-missing-template-keys=<span style="color: rgba(0, 0, 255, 1)">true</span>: If <span style="color: rgba(0, 0, 255, 1)">true</span>, ignore any errors <span style="color: rgba(0, 0, 255, 1)">in</span> templates when a field or map key is missing <span style="color: rgba(0, 0, 255, 1)">in</span><span style="color: rgba(0, 0, 0, 1)">
the template. Only applies to golang and jsonpath output formats.
      </span>--dry-run=<span style="color: rgba(0, 0, 255, 1)">false</span>: If <span style="color: rgba(0, 0, 255, 1)">true</span>, only print the <span style="color: rgba(0, 0, 255, 1)">object</span><span style="color: rgba(0, 0, 0, 1)"> that would be sent, without sending it.
      </span>--generator=<span style="color: rgba(128, 0, 0, 1)">''</span><span style="color: rgba(0, 0, 0, 1)">: The name of the API generator to use.
      </span>--image=<span style="color: rgba(0, 0, 0, 1)">[]: Image name to run.
</span>-o, --output=<span style="color: rgba(128, 0, 0, 1)">''</span><span style="color: rgba(0, 0, 0, 1)">: Output format. One of:
json</span>|yaml|name|go-template|go-template-<span style="color: rgba(0, 0, 255, 1)">file</span>|template|templatefile|jsonpath|jsonpath-<span style="color: rgba(0, 0, 255, 1)">file</span><span style="color: rgba(0, 0, 0, 1)">.
      </span>--save-config=<span style="color: rgba(0, 0, 255, 1)">false</span>: If <span style="color: rgba(0, 0, 255, 1)">true</span>, the configuration of current <span style="color: rgba(0, 0, 255, 1)">object</span> will be saved <span style="color: rgba(0, 0, 255, 1)">in</span><span style="color: rgba(0, 0, 0, 1)"> its annotation. Otherwise, the
annotation will be unchanged. This flag is useful when you want to perform kubectl apply on this </span><span style="color: rgba(0, 0, 255, 1)">object</span> <span style="color: rgba(0, 0, 255, 1)">in</span><span style="color: rgba(0, 0, 0, 1)"> the future.
      </span>--template=<span style="color: rgba(128, 0, 0, 1)">''</span>: Template <span style="color: rgba(0, 0, 255, 1)">string</span> or path to template <span style="color: rgba(0, 0, 255, 1)">file</span> to use when -o=go-template, -o=go-template-<span style="color: rgba(0, 0, 255, 1)">file</span><span style="color: rgba(0, 0, 0, 1)">. The
template format is golang templates .</span>
      --validate=<span style="color: rgba(0, 0, 255, 1)">true</span>: If <span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">, use a schema to validate the input before sending it

Usage:
kubectl create deployment NAME </span>--image=image [--dry-<span style="color: rgba(0, 0, 0, 1)">run]

Use </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">kubectl options</span><span style="color: rgba(128, 0, 0, 1)">"</span> <span style="color: rgba(0, 0, 255, 1)">for</span> a list of global command-<span style="color: rgba(0, 0, 0, 1)">line options (applies to all commands).
#
# </pre>
</div>
<span class="cnblogs_code_collapse"># kubectl create deploy --help</span></div>
<div class="cnblogs_code">
<pre># kubectl create deploy mynginx --image=nginx:<span style="color: rgba(128, 0, 128, 1)">1.14</span>-<span style="color: rgba(0, 0, 0, 1)">alpine          #注意,部署应用时名称不要出现大写字母(即尽量不要使用驼峰命名法),名称可以使用"-"或者"."进行分割,指定镜像为"nginx:1.14-alpine"
deployment.apps</span>/<span style="color: rgba(0, 0, 0, 1)">mynginx created
#
# kubectl get all
NAME                           READY   STATUS    RESTARTS   AGE
pod</span>/mynginx-677d85dbd5-zjt8v   <span style="color: rgba(128, 0, 128, 1)">1</span>/<span style="color: rgba(128, 0, 128, 1)">1</span>   Running   <span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">          17s

NAME               TYPE      CLUSTER</span>-IP   EXTERNAL-<span style="color: rgba(0, 0, 0, 1)">IP   PORT(S)   AGE
service</span>/kubernetes   ClusterIP   <span style="color: rgba(128, 0, 128, 1)">10.96</span>.<span style="color: rgba(128, 0, 128, 1)">0.1</span>    &lt;none&gt;      <span style="color: rgba(128, 0, 128, 1)">443</span>/<span style="color: rgba(0, 0, 0, 1)">TCP   10h

NAME                      READY   UP</span>-TO-<span style="color: rgba(0, 0, 0, 1)">DATE   AVAILABLE   AGE
deployment.apps</span>/mynginx   <span style="color: rgba(128, 0, 128, 1)">1</span>/<span style="color: rgba(128, 0, 128, 1)">1</span>   <span style="color: rgba(128, 0, 128, 1)">1</span>            <span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">         17s

NAME                                 DESIRED   CURRENT   READY   AGE
replicaset.apps</span>/mynginx-677d85dbd5   <span style="color: rgba(128, 0, 128, 1)">1</span>         <span style="color: rgba(128, 0, 128, 1)">1</span>         <span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">       17s
#
# kubectl get pods
NAME                     READY   STATUS    RESTARTS   AGE
mynginx</span>-677d85dbd5-zjt8v   <span style="color: rgba(128, 0, 128, 1)">1</span>/<span style="color: rgba(128, 0, 128, 1)">1</span>   Running   <span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">          80s
#
# kubectl get pod -<span style="color: rgba(0, 0, 0, 1)">o wide
NAME                     READY   STATUS    RESTARTS   AGE   IP         NODE                         NOMINATED NODE   READINESS GATES
mynginx</span>-677d85dbd5-zjt8v   <span style="color: rgba(128, 0, 128, 1)">1</span>/<span style="color: rgba(128, 0, 128, 1)">1</span>   Running   <span style="color: rgba(128, 0, 128, 1)">0</span>          88s   <span style="color: rgba(128, 0, 128, 1)">10.244</span>.<span style="color: rgba(128, 0, 128, 1)">3.2</span>   node203.yinzhengjie.org.cn   &lt;none&gt;         &lt;none&gt;<span style="color: rgba(0, 0, 0, 1)">
#
# </pre>
</div>
<p><span style="font-size: 18px"><strong>3&gt;.访问上一步创建的mynginx pod的IP地址可以获得nginx的默认页面</strong></span></p>
<div class="cnblogs_code"><img id="code_img_closed_d09626e2-0d48-4f29-becf-90b9b5353a4e" class="code_img_closed lazyload" alt="" data-src="http://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif"><img id="code_img_opened_d09626e2-0d48-4f29-becf-90b9b5353a4e" class="code_img_opened lazyload" style="display: none" alt="" data-src="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif">
<div id="cnblogs_code_open_d09626e2-0d48-4f29-becf-90b9b5353a4e" class="cnblogs_code_hide">
<pre># kubectl get pod -<span style="color: rgba(0, 0, 0, 1)">o wide
NAME                     READY   STATUS    RESTARTS   AGE   IP         NODE                         NOMINATED NODE   READINESS GATES
mynginx</span>-677d85dbd5-zjt8v   <span style="color: rgba(128, 0, 128, 1)">1</span>/<span style="color: rgba(128, 0, 128, 1)">1</span>   Running   <span style="color: rgba(128, 0, 128, 1)">0</span>          5m28s   <span style="color: rgba(128, 0, 128, 1)">10.244</span>.<span style="color: rgba(128, 0, 128, 1)">3.2</span>   node203.yinzhengjie.org.cn   &lt;none&gt;         &lt;none&gt;<span style="color: rgba(0, 0, 0, 1)">
#
# curl <span style="color: rgba(128, 0, 128, 1)">10.244</span>.<span style="color: rgba(128, 0, 128, 1)">3.2</span>
&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;<span style="color: rgba(0, 0, 255, 1)">head</span>&gt;
&lt;title&gt;Welcome to nginx!&lt;/title&gt;
&lt;style&gt;<span style="color: rgba(0, 0, 0, 1)">
    body {
      width: 35em;
      margin: </span><span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)"> auto;
      font</span>-family: Tahoma, Verdana, Arial, sans-<span style="color: rgba(0, 0, 0, 1)">serif;
    }
</span>&lt;/style&gt;
&lt;/<span style="color: rgba(0, 0, 255, 1)">head</span>&gt;
&lt;body&gt;
&lt;h1&gt;Welcome to nginx!&lt;/h1&gt;
&lt;p&gt;<span style="color: rgba(0, 0, 0, 1)">If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</span>&lt;/p&gt;

&lt;p&gt;<span style="color: rgba(0, 0, 0, 1)">For online documentation and support please refer to
</span>&lt;a href=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">http://nginx.org/</span><span style="color: rgba(128, 0, 0, 1)">"</span>&gt;nginx.org&lt;/a&gt;.&lt;br/&gt;<span style="color: rgba(0, 0, 0, 1)">
Commercial support is available at
</span>&lt;a href=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">http://nginx.com/</span><span style="color: rgba(128, 0, 0, 1)">"</span>&gt;nginx.com&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Thank you <span style="color: rgba(0, 0, 255, 1)">for</span> using nginx.&lt;/em&gt;&lt;/p&gt;
&lt;/body&gt;
&lt;/html&gt;<span style="color: rgba(0, 0, 0, 1)">
#
# </pre>
</div>
<span class="cnblogs_code_collapse"># curl 10.244.3.2</span></div>
<p><img alt="" data-src="https://img2018.cnblogs.com/i-beta/795254/202002/795254-20200205084340933-1551155619.png"></p>
<p><strong><span style="font-size: 18px">4&gt;.手动删除pod后k8s会自动帮咱们去创建一个pod</span></strong></p>
<div class="cnblogs_code">
<pre># kubectl get pod -<span style="color: rgba(0, 0, 0, 1)">o wide
NAME                     READY   STATUS    RESTARTS   AGE   IP         NODE                         NOMINATED NODE   READINESS GATES
mynginx</span>-677d85dbd5-zjt8v   <span style="color: rgba(128, 0, 128, 1)">1</span>/<span style="color: rgba(128, 0, 128, 1)">1</span>   Running   <span style="color: rgba(128, 0, 128, 1)">0</span>          12m   <span style="color: rgba(128, 0, 128, 1)">10.244</span>.<span style="color: rgba(128, 0, 128, 1)">3.2</span>   node203.yinzhengjie.org.cn   &lt;none&gt;         &lt;none&gt;<span style="color: rgba(0, 0, 0, 1)">
#
# kubectl delete pods/mynginx-677d85dbd5-<span style="color: rgba(0, 0, 0, 1)">zjt8v
pod </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">mynginx-677d85dbd5-zjt8v</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)"> deleted
#
# kubectl get pod -<span style="color: rgba(0, 0, 0, 1)">o wide
NAME                     READY   STATUS    RESTARTS   AGE   IP         NODE                         NOMINATED NODE   READINESS GATES
mynginx</span>-677d85dbd5-l5xw2   <span style="color: rgba(128, 0, 128, 1)">1</span>/<span style="color: rgba(128, 0, 128, 1)">1</span>   Running   <span style="color: rgba(128, 0, 128, 1)">0</span>          22s   <span style="color: rgba(128, 0, 128, 1)">10.244</span>.<span style="color: rgba(128, 0, 128, 1)">1.2</span>   node201.yinzhengjie.org.cn   &lt;none&gt;         &lt;none&gt;<span style="color: rgba(0, 0, 0, 1)">
# </pre>
</div>
<p><img src="https://img2018.cnblogs.com/i-beta/795254/202002/795254-20200205085247292-1722222280.png"></p>
<p><span style="font-size: 18px"><strong>5&gt;.为pods扩容</strong></span></p>
<div class="cnblogs_code"><img src="http://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif"><img id="code_img_opened_572a3f8a-a435-43d9-b10c-9e80253cf24c" class="code_img_opened lazyload" style="display: none" alt="" data-src="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif">
<div id="cnblogs_code_open_572a3f8a-a435-43d9-b10c-9e80253cf24c" class="cnblogs_code_hide">
<pre># kubectl scale --<span style="color: rgba(0, 0, 0, 1)">help
Set a new size </span><span style="color: rgba(0, 0, 255, 1)">for</span><span style="color: rgba(0, 0, 0, 1)"> a Deployment, ReplicaSet, Replication Controller, or StatefulSet.

Scale also allows users to specify one or </span><span style="color: rgba(0, 0, 255, 1)">more</span> preconditions <span style="color: rgba(0, 0, 255, 1)">for</span><span style="color: rgba(0, 0, 0, 1)"> the scale action.

If </span>--current-replicas or --resource-<span style="color: rgba(0, 0, 0, 1)">version is specified, it is validated before the scale is attempted, and it is
guaranteed that the precondition holds </span><span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)"> when the scale is sent to the server.

Examples:
# Scale a replicaset named </span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">foo</span><span style="color: rgba(128, 0, 0, 1)">'</span> to <span style="color: rgba(128, 0, 128, 1)">3</span><span style="color: rgba(0, 0, 0, 1)">.
kubectl scale </span>--replicas=<span style="color: rgba(128, 0, 128, 1)">3</span> rs/<span style="color: rgba(0, 0, 0, 1)">foo

# Scale a resource identified by type and name specified </span><span style="color: rgba(0, 0, 255, 1)">in</span> <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">foo.yaml</span><span style="color: rgba(128, 0, 0, 1)">"</span> to <span style="color: rgba(128, 0, 128, 1)">3</span><span style="color: rgba(0, 0, 0, 1)">.
kubectl scale </span>--replicas=<span style="color: rgba(128, 0, 128, 1)">3</span> -<span style="color: rgba(0, 0, 0, 1)">f foo.yaml

# If the deployment named mysql</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">s current size is 2, scale mysql to 3.</span>
kubectl scale --current-replicas=<span style="color: rgba(128, 0, 128, 1)">2</span> --replicas=<span style="color: rgba(128, 0, 128, 1)">3</span> deployment/<span style="color: rgba(0, 0, 0, 1)">mysql

# Scale multiple replication controllers.
kubectl scale </span>--replicas=<span style="color: rgba(128, 0, 128, 1)">5</span> rc/foo rc/bar rc/<span style="color: rgba(0, 0, 0, 1)">baz

# Scale statefulset named </span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">web</span><span style="color: rgba(128, 0, 0, 1)">'</span> to <span style="color: rgba(128, 0, 128, 1)">3</span><span style="color: rgba(0, 0, 0, 1)">.
kubectl scale </span>--replicas=<span style="color: rgba(128, 0, 128, 1)">3</span> statefulset/<span style="color: rgba(0, 0, 0, 1)">web

Options:
      </span>--all=<span style="color: rgba(0, 0, 255, 1)">false</span>: Select all resources <span style="color: rgba(0, 0, 255, 1)">in</span><span style="color: rgba(0, 0, 0, 1)"> the namespace of the specified resource types
      </span>--allow-missing-template-keys=<span style="color: rgba(0, 0, 255, 1)">true</span>: If <span style="color: rgba(0, 0, 255, 1)">true</span>, ignore any errors <span style="color: rgba(0, 0, 255, 1)">in</span> templates when a field or map key is missing <span style="color: rgba(0, 0, 255, 1)">in</span><span style="color: rgba(0, 0, 0, 1)">
the template. Only applies to golang and jsonpath output formats.
      </span>--current-replicas=-<span style="color: rgba(128, 0, 128, 1)">1</span>: Precondition <span style="color: rgba(0, 0, 255, 1)">for</span><span style="color: rgba(0, 0, 0, 1)"> current size. Requires that the current size of the resource match this
value </span><span style="color: rgba(0, 0, 255, 1)">in</span><span style="color: rgba(0, 0, 0, 1)"> order to scale.
</span>-f, --filename=<span style="color: rgba(0, 0, 0, 1)">[]: Filename, directory, or URL to files identifying the resource to set a new size
</span>-k, --kustomize=<span style="color: rgba(128, 0, 0, 1)">''</span>: Process the kustomization directory. This flag can<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">t be used together with -f or -R.</span>
-o, --output=<span style="color: rgba(128, 0, 0, 1)">''</span><span style="color: rgba(0, 0, 0, 1)">: Output format. One of:
json</span>|yaml|name|go-template|go-template-<span style="color: rgba(0, 0, 255, 1)">file</span>|template|templatefile|jsonpath|jsonpath-<span style="color: rgba(0, 0, 255, 1)">file</span><span style="color: rgba(0, 0, 0, 1)">.
      </span>--record=<span style="color: rgba(0, 0, 255, 1)">false</span>: Record current kubectl command <span style="color: rgba(0, 0, 255, 1)">in</span> the resource annotation. If set to <span style="color: rgba(0, 0, 255, 1)">false</span>, <span style="color: rgba(0, 0, 255, 1)">do</span><span style="color: rgba(0, 0, 0, 1)"> not record the
command. If set to </span><span style="color: rgba(0, 0, 255, 1)">true</span>, record the command. If not set, default to updating the existing annotation value only <span style="color: rgba(0, 0, 255, 1)">if</span><span style="color: rgba(0, 0, 0, 1)"> one
already exists.
</span>-R, --recursive=<span style="color: rgba(0, 0, 255, 1)">false</span>: Process the directory used <span style="color: rgba(0, 0, 255, 1)">in</span> -f, --<span style="color: rgba(0, 0, 0, 1)">filename recursively. Useful when you want to manage
related manifests organized within the same directory.
      </span>--replicas=<span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">: The new desired number of replicas. Required.
      </span>--resource-version=<span style="color: rgba(128, 0, 0, 1)">''</span>: Precondition <span style="color: rgba(0, 0, 255, 1)">for</span><span style="color: rgba(0, 0, 0, 1)"> resource version. Requires that the current resource version match this
value </span><span style="color: rgba(0, 0, 255, 1)">in</span><span style="color: rgba(0, 0, 0, 1)"> order to scale.
</span>-l, --selector=<span style="color: rgba(128, 0, 0, 1)">''</span>: Selector (label query) to filter on, supports <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">=</span><span style="color: rgba(128, 0, 0, 1)">'</span>, <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">==</span><span style="color: rgba(128, 0, 0, 1)">'</span>, and <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">!=</span><span style="color: rgba(128, 0, 0, 1)">'</span>.(e.g. -l key1=value1,key2=<span style="color: rgba(0, 0, 0, 1)">value2)
      </span>--template=<span style="color: rgba(128, 0, 0, 1)">''</span>: Template <span style="color: rgba(0, 0, 255, 1)">string</span> or path to template <span style="color: rgba(0, 0, 255, 1)">file</span> to use when -o=go-template, -o=go-template-<span style="color: rgba(0, 0, 255, 1)">file</span><span style="color: rgba(0, 0, 0, 1)">. The
template format is golang templates .</span>
      --timeout=0s: The length of <span style="color: rgba(0, 0, 255, 1)">time</span> to <span style="color: rgba(0, 0, 255, 1)">wait</span> before giving up on a scale operation, zero means don<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">t wait. Any other</span>
values should contain a corresponding <span style="color: rgba(0, 0, 255, 1)">time</span><span style="color: rgba(0, 0, 0, 1)"> unit (e.g. 1s, 2m, 3h).

Usage:
kubectl scale [</span>--resource-version=version] [--current-replicas=count] --replicas=COUNT (-f FILENAME |<span style="color: rgba(0, 0, 0, 1)"> TYPE NAME)


Use </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">kubectl options</span><span style="color: rgba(128, 0, 0, 1)">"</span> <span style="color: rgba(0, 0, 255, 1)">for</span> a list of global command-<span style="color: rgba(0, 0, 0, 1)">line options (applies to all commands).
#
# </pre>
</div>
<span class="cnblogs_code_collapse"># kubectl scale --help</span></div>
<div class="cnblogs_code">
<pre># kubectl get pods
NAME                     READY   STATUS    RESTARTS   AGE
mynginx</span>-677d85dbd5-vk5p5   <span style="color: rgba(128, 0, 128, 1)">1</span>/<span style="color: rgba(128, 0, 128, 1)">1</span>   Running   <span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">          27m
#
# kubectl scale --replicas=<span style="color: rgba(128, 0, 128, 1)">3</span><span style="color: rgba(0, 0, 0, 1)"> deployment mynginx        #我们将自己创建的mynginx应用的副本设置为3,模拟扩容
deployment.apps</span>/<span style="color: rgba(0, 0, 0, 1)">mynginx scaled
#
# kubectl get pods
NAME                     READY   STATUS    RESTARTS   AGE
mynginx</span>-677d85dbd5-gkdb6   <span style="color: rgba(128, 0, 128, 1)">1</span>/<span style="color: rgba(128, 0, 128, 1)">1</span>   Running   <span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">          2s
mynginx</span>-677d85dbd5-vb8tt   <span style="color: rgba(128, 0, 128, 1)">1</span>/<span style="color: rgba(128, 0, 128, 1)">1</span>   Running   <span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">          2s
mynginx</span>-677d85dbd5-vk5p5   <span style="color: rgba(128, 0, 128, 1)">1</span>/<span style="color: rgba(128, 0, 128, 1)">1</span>   Running   <span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">          28m
#
# </pre>
</div>
<p><span style="font-size: 18px"><strong>6&gt;.<strong>为pods缩容</strong></strong></span></p>
<div class="cnblogs_code">
<pre># kubectl get pods
NAME                     READY   STATUS    RESTARTS   AGE
mynginx</span>-677d85dbd5-gkdb6   <span style="color: rgba(128, 0, 128, 1)">1</span>/<span style="color: rgba(128, 0, 128, 1)">1</span>   Running   <span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">          4m37s
mynginx</span>-677d85dbd5-vb8tt   <span style="color: rgba(128, 0, 128, 1)">1</span>/<span style="color: rgba(128, 0, 128, 1)">1</span>   Running   <span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">          4m37s
mynginx</span>-677d85dbd5-vk5p5   <span style="color: rgba(128, 0, 128, 1)">1</span>/<span style="color: rgba(128, 0, 128, 1)">1</span>   Running   <span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">          32m
#
# kubectl scale --replicas=<span style="color: rgba(128, 0, 128, 1)">2</span><span style="color: rgba(0, 0, 0, 1)"> deployment mynginx          #我们将副本设置为2,模拟缩容
deployment.apps</span>/<span style="color: rgba(0, 0, 0, 1)">mynginx scaled
#
# kubectl get pods
NAME                     READY   STATUS    RESTARTS   AGE
mynginx</span>-677d85dbd5-gkdb6   <span style="color: rgba(128, 0, 128, 1)">1</span>/<span style="color: rgba(128, 0, 128, 1)">1</span>   Running   <span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">          4m46s
mynginx</span>-677d85dbd5-vk5p5   <span style="color: rgba(128, 0, 128, 1)">1</span>/<span style="color: rgba(128, 0, 128, 1)">1</span>   Running   <span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">          32m
#
# </pre>
</div>
<p>&nbsp;</p>
<p><span style="font-size: 14pt; color: rgba(255, 0, 255, 1)"><strong>三.<strong>使用kubectl创建一个service</strong></strong></span></p>
<p><strong><span style="font-size: 18px">1&gt;.查看现有的service</span></strong></p>
<div class="cnblogs_code">
<pre># kubectl get service          #查看现有的service资源
NAME         TYPE      CLUSTER</span>-IP   EXTERNAL-<span style="color: rgba(0, 0, 0, 1)">IP   PORT(S)   AGE
kubernetes   ClusterIP   </span><span style="color: rgba(128, 0, 128, 1)">10.96</span>.<span style="color: rgba(128, 0, 128, 1)">0.1</span>    &lt;none&gt;      <span style="color: rgba(128, 0, 128, 1)">443</span>/<span style="color: rgba(0, 0, 0, 1)">TCP   11h
#
# kubectl get svc             #是上面的简写形式
NAME         TYPE      CLUSTER</span>-IP   EXTERNAL-<span style="color: rgba(0, 0, 0, 1)">IP   PORT(S)   AGE
kubernetes   ClusterIP   </span><span style="color: rgba(128, 0, 128, 1)">10.96</span>.<span style="color: rgba(128, 0, 128, 1)">0.1</span>    &lt;none&gt;      <span style="color: rgba(128, 0, 128, 1)">443</span>/<span style="color: rgba(0, 0, 0, 1)">TCP   11h
#
# </pre>
</div>
<p><strong><span style="font-size: 18px">2&gt;.创建一个service资源(我们可以使用service的IP去访问关联的pod资源,如下图所示,访问10.109.254.211:80其实访问的就是10.244.1.2:80哟~)</span></strong></p>
<div class="cnblogs_code"><img id="code_img_closed_36ca7251-a38f-44d7-be96-1f8888c2e998" class="code_img_closed lazyload" alt="" data-src="http://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif"><img id="code_img_opened_36ca7251-a38f-44d7-be96-1f8888c2e998" class="code_img_opened lazyload" style="display: none" alt="" data-src="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif">
<div id="cnblogs_code_open_36ca7251-a38f-44d7-be96-1f8888c2e998" class="cnblogs_code_hide">
<pre>#
# kubectl get svc
NAME         TYPE      CLUSTER</span>-IP   EXTERNAL-<span style="color: rgba(0, 0, 0, 1)">IP   PORT(S)   AGE
kubernetes   ClusterIP   </span><span style="color: rgba(128, 0, 128, 1)">10.96</span>.<span style="color: rgba(128, 0, 128, 1)">0.1</span>    &lt;none&gt;      <span style="color: rgba(128, 0, 128, 1)">443</span>/<span style="color: rgba(0, 0, 0, 1)">TCP   11h
#
# kubectl create service clusterip mynginx --tcp=<span style="color: rgba(128, 0, 128, 1)">80</span>:<span style="color: rgba(128, 0, 128, 1)">80</span><span style="color: rgba(0, 0, 0, 1)">          #注意,此处我故意创建了一个和上面pod同名的服务,这样创建后它会自动和上面咱们创建的nginx pod进行关联
service</span>/<span style="color: rgba(0, 0, 0, 1)">mynginx created
#
# kubectl get service
NAME         TYPE      CLUSTER</span>-IP       EXTERNAL-<span style="color: rgba(0, 0, 0, 1)">IP   PORT(S)   AGE
kubernetes   ClusterIP   </span><span style="color: rgba(128, 0, 128, 1)">10.96</span>.<span style="color: rgba(128, 0, 128, 1)">0.1</span>      &lt;none&gt;      <span style="color: rgba(128, 0, 128, 1)">443</span>/<span style="color: rgba(0, 0, 0, 1)">TCP   11h
mynginx      ClusterIP   </span><span style="color: rgba(128, 0, 128, 1)">10.109</span>.<span style="color: rgba(128, 0, 128, 1)">254.211</span>   &lt;none&gt;      <span style="color: rgba(128, 0, 128, 1)">80</span>/<span style="color: rgba(0, 0, 0, 1)">TCP    9s
# </pre>
</div>
<span class="cnblogs_code_collapse"># kubectl create service clusterip mynginx --tcp=80:80          #注意,此处我故意创建了一个和上面pod同名的服务,这样创建后它会自动和上面咱们创建的nginx pod进行关联</span></div>
<div class="cnblogs_code"><img id="code_img_closed_ca505ec1-13f0-4d72-98b4-2cf9843e55c8" class="code_img_closed lazyload" alt="" data-src="http://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif"><img id="code_img_opened_ca505ec1-13f0-4d72-98b4-2cf9843e55c8" class="code_img_opened lazyload" style="display: none" alt="" data-src="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif">
<div id="cnblogs_code_open_ca505ec1-13f0-4d72-98b4-2cf9843e55c8" class="cnblogs_code_hide">
<pre># kubectl get service/mynginx -o yaml                     #以yaml格式显式名称为<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">mynginx</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">的service资源信息
apiVersion: v1
kind: Service
metadata:
creationTimestamp: </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">2020-02-04T23:33:33Z</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">
labels:
    app: mynginx
name: mynginx
namespace: default
resourceVersion: </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">32669</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">
selfLink: </span>/api/v1/namespaces/default/services/<span style="color: rgba(0, 0, 0, 1)">mynginx
uid: 19b9ddeb</span>-a630-<span style="color: rgba(128, 0, 128, 1)">4637</span>-a854-<span style="color: rgba(0, 0, 0, 1)">5f1750e7aaf0
spec:
clusterIP: </span><span style="color: rgba(128, 0, 128, 1)">10.109</span>.<span style="color: rgba(128, 0, 128, 1)">254.211</span><span style="color: rgba(0, 0, 0, 1)">
ports:
</span>- name: <span style="color: rgba(128, 0, 128, 1)">80</span>-<span style="color: rgba(128, 0, 128, 1)">80</span><span style="color: rgba(0, 0, 0, 1)">
    port: </span><span style="color: rgba(128, 0, 128, 1)">80</span><span style="color: rgba(0, 0, 0, 1)">
    protocol: TCP
    targetPort: </span><span style="color: rgba(128, 0, 128, 1)">80</span><span style="color: rgba(0, 0, 0, 1)">
selector:
    app: mynginx
sessionAffinity: None
type: ClusterIP
status:
loadBalancer: {}
# </pre>
</div>
<span class="cnblogs_code_collapse"># kubectl get service/mynginx -o yaml                     #以yaml格式显式名称为"mynginx"的service资源信息</span></div>
<div class="cnblogs_code"><img id="code_img_closed_2496edb3-850a-4db9-a053-55ed087cf55f" class="code_img_closed lazyload" alt="" data-src="http://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif"><img id="code_img_opened_2496edb3-850a-4db9-a053-55ed087cf55f" class="code_img_opened lazyload" style="display: none" alt="" data-src="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif">
<div id="cnblogs_code_open_2496edb3-850a-4db9-a053-55ed087cf55f" class="cnblogs_code_hide">
<pre># kubectl get pod -<span style="color: rgba(0, 0, 0, 1)">o wide
NAME                     READY   STATUS    RESTARTS   AGE   IP         NODE                         NOMINATED NODE   READINESS GATES
mynginx</span>-677d85dbd5-l5xw2   <span style="color: rgba(128, 0, 128, 1)">1</span>/<span style="color: rgba(128, 0, 128, 1)">1</span>   Running   <span style="color: rgba(128, 0, 128, 1)">0</span>          70m   <span style="color: rgba(128, 0, 128, 1)">10.244</span>.<span style="color: rgba(128, 0, 128, 1)">1.2</span>   node201.yinzhengjie.org.cn   &lt;none&gt;         &lt;none&gt;<span style="color: rgba(0, 0, 0, 1)">
#
# kubectl describe svc/<span style="color: rgba(0, 0, 0, 1)">mynginx
Name:            mynginx
Namespace:         default
Labels:            app</span>=<span style="color: rgba(0, 0, 0, 1)">mynginx
Annotations:       </span>&lt;none&gt;<span style="color: rgba(0, 0, 0, 1)">
Selector:          app</span>=<span style="color: rgba(0, 0, 0, 1)">mynginx
Type:            ClusterIP
IP:                </span><span style="color: rgba(128, 0, 128, 1)">10.109</span>.<span style="color: rgba(128, 0, 128, 1)">254.211</span><span style="color: rgba(0, 0, 0, 1)">
Port:            </span><span style="color: rgba(128, 0, 128, 1)">80</span>-<span style="color: rgba(128, 0, 128, 1)">80</span><span style="color: rgba(128, 0, 128, 1)">80</span>/<span style="color: rgba(0, 0, 0, 1)">TCP
TargetPort:      </span><span style="color: rgba(128, 0, 128, 1)">80</span>/<span style="color: rgba(0, 0, 0, 1)">TCP
Endpoints:         </span><span style="color: rgba(128, 0, 128, 1)">10.244</span>.<span style="color: rgba(128, 0, 128, 1)">1.2</span>:<span style="color: rgba(128, 0, 128, 1)">80</span><span style="color: rgba(0, 0, 0, 1)">
Session Affinity:None
Events:            </span>&lt;none&gt;<span style="color: rgba(0, 0, 0, 1)">
#
# </pre>
</div>
<span class="cnblogs_code_collapse"># kubectl describe svc/mynginx                         #查看mynginx的service资源详细信息<br></span></div>
<p><img alt="" data-src="https://img2018.cnblogs.com/i-beta/795254/202002/795254-20200205100048078-1615067717.png"></p>
<p><strong><span style="font-size: 18px">3&gt;.<strong>手动删除pod后k8s会自动帮咱们去创建一个pod,于此同时service也会自动关联哟</strong></span></strong></p>
<div class="cnblogs_code">
<pre>#
# kubectl get pod -<span style="color: rgba(0, 0, 0, 1)">o wide
NAME                     READY   STATUS    RESTARTS   AGE   IP         NODE                         NOMINATED NODE   READINESS GATES
mynginx</span>-677d85dbd5-l5xw2   <span style="color: rgba(128, 0, 128, 1)">1</span>/<span style="color: rgba(128, 0, 128, 1)">1</span>   Running   <span style="color: rgba(128, 0, 128, 1)">0</span>          75m   <span style="color: rgba(128, 0, 128, 1)">10.244</span>.<span style="color: rgba(128, 0, 128, 1)">1.2</span>   node201.yinzhengjie.org.cn   &lt;none&gt;         &lt;none&gt;<span style="color: rgba(0, 0, 0, 1)">
#
# kubectl describe svc/<span style="color: rgba(0, 0, 0, 1)">mynginx
Name:            mynginx
Namespace:         default
Labels:            app</span>=<span style="color: rgba(0, 0, 0, 1)">mynginx
Annotations:       </span>&lt;none&gt;<span style="color: rgba(0, 0, 0, 1)">
Selector:          app</span>=<span style="color: rgba(0, 0, 0, 1)">mynginx
Type:            ClusterIP
IP:                </span><span style="color: rgba(128, 0, 128, 1)">10.109</span>.<span style="color: rgba(128, 0, 128, 1)">254.211</span><span style="color: rgba(0, 0, 0, 1)">
Port:            </span><span style="color: rgba(128, 0, 128, 1)">80</span>-<span style="color: rgba(128, 0, 128, 1)">80</span><span style="color: rgba(128, 0, 128, 1)">80</span>/<span style="color: rgba(0, 0, 0, 1)">TCP
TargetPort:      </span><span style="color: rgba(128, 0, 128, 1)">80</span>/<span style="color: rgba(0, 0, 0, 1)">TCP
Endpoints:         </span><span style="color: rgba(128, 0, 128, 1)">10.244</span>.<span style="color: rgba(128, 0, 128, 1)">1.2</span>:<span style="color: rgba(128, 0, 128, 1)">80</span><span style="color: rgba(0, 0, 0, 1)">
Session Affinity:None
Events:            </span>&lt;none&gt;<span style="color: rgba(0, 0, 0, 1)">
#
# kubectl delete pods mynginx-677d85dbd5-<span style="color: rgba(0, 0, 0, 1)">l5xw2
pod </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">mynginx-677d85dbd5-l5xw2</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)"> deleted
#
# kubectl get pod -<span style="color: rgba(0, 0, 0, 1)">o wide
NAME                     READY   STATUS    RESTARTS   AGE   IP         NODE                         NOMINATED NODE   READINESS GATES
mynginx</span>-677d85dbd5-vk5p5   <span style="color: rgba(128, 0, 128, 1)">1</span>/<span style="color: rgba(128, 0, 128, 1)">1</span>   Running   <span style="color: rgba(128, 0, 128, 1)">0</span>          8s    <span style="color: rgba(128, 0, 128, 1)">10.244</span>.<span style="color: rgba(128, 0, 128, 1)">2.2</span>   node202.yinzhengjie.org.cn   &lt;none&gt;         &lt;none&gt;<span style="color: rgba(0, 0, 0, 1)">
#
# kubectl describe svc/<span style="color: rgba(0, 0, 0, 1)">mynginx
Name:            mynginx
Namespace:         default
Labels:            app</span>=<span style="color: rgba(0, 0, 0, 1)">mynginx
Annotations:       </span>&lt;none&gt;<span style="color: rgba(0, 0, 0, 1)">
Selector:          app</span>=<span style="color: rgba(0, 0, 0, 1)">mynginx
Type:            ClusterIP
IP:                </span><span style="color: rgba(128, 0, 128, 1)">10.109</span>.<span style="color: rgba(128, 0, 128, 1)">254.211</span><span style="color: rgba(0, 0, 0, 1)">
Port:            </span><span style="color: rgba(128, 0, 128, 1)">80</span>-<span style="color: rgba(128, 0, 128, 1)">80</span><span style="color: rgba(128, 0, 128, 1)">80</span>/<span style="color: rgba(0, 0, 0, 1)">TCP
TargetPort:      </span><span style="color: rgba(128, 0, 128, 1)">80</span>/<span style="color: rgba(0, 0, 0, 1)">TCP
Endpoints:         </span><span style="color: rgba(128, 0, 128, 1)">10.244</span>.<span style="color: rgba(128, 0, 128, 1)">2.2</span>:<span style="color: rgba(128, 0, 128, 1)">80</span><span style="color: rgba(0, 0, 0, 1)">
Session Affinity:None
Events:            </span>&lt;none&gt;<span style="color: rgba(0, 0, 0, 1)">
# </pre>
</div>
<p>&nbsp;<img src="https://img2018.cnblogs.com/i-beta/795254/202002/795254-20200205101226236-647800371.png"></p>
<p>&nbsp;</p>
<p><span style="color: rgba(255, 0, 255, 1)"><strong><span style="font-size: 14pt">四.API Server</span></strong></span></p>
<div class="cnblogs_code">
<pre>  我们知道API Server组件对K8S来说是非常重要的,如下图所示,你得所有操作必须得经过API Server,有点类似于冯诺依曼体系中的总线角色。<br><br>  API Server是中央管理实体,也是唯一与分布式存储组件etcd直接对话的组件,它有以下特点:<br>    服务器kubernetes API,工作节点在内部使用集群,kubectl在外部使用集群;<br>    代理集群组件Kubernetes UI有一个叫做Dashboard组件,提供了很好的Web UI,后续我会分享如何部署的笔记;<br>    允许操作对象的状态,例如pod和service;<br>    保存分布式存储(etcd)中对象的状态<br><br>  Kubernetes API Server是一个以JSON为主要序列化模式的HTTP API,但是它也支持协议缓冲区(grpc),主要用于集群内部通信。<br>    我们知道显式的时候可以以yaml格式显式,那是因为API Server帮咱们将JSON格式转换成yaml格式的;<br>    我们给API Server提交请求可以是yaml格式,只不过API Server会自动将咱们提交的yaml格式的文件转换成json格式哟;<br>    除了支持JSON格式外,还支持Google公司自己研发的grpc,grpc是一款分布式高性能RPC框架,据说性能要比http协议的REST(REpresentational State Transfer)ful风格要好,因此httpd2.x(基于TCP的分布式协议)和httpd3.x(基于UDP的分布式协议)大量借鉴grpc的设计风格。<br><br>  API Server把它的API接口中的资源分成多个逻辑组合:<br>    API Group:<br>      每个组合(通常都是一些相关的类型放在一起)就称作一个API群组。<br>    作用在于每个组可以独立演进(迭代),比如改动某个组的API版本并不会影响到整个API Server,而且每个组还可以多版本共存;<br><br>  REST(REpresentational State Transfer)是一种体系结构样式,是一种用于Web开发的体系结构样式,也是开发Web服务时通常使用的通信方法。<br>    使用这种风格设计的系统和站点旨在实现快速性能、可靠性和扩展能力(以增加并轻松支持额外用户);<br>    为了实现这些目标,开发人员使用可重用的组件,这些组件可以在系统运行时进行管理和更新,而不会影响整个系统;<br>    RESTful范式规范语法:<br>      protocol://host(domain name):port/application context/version/resource/parameter<br>    举个例子:<br>      https://haproxy.yinzhengjie.org.cn:8888/status/v1/users/{id}</pre>
</div>
<p><img src="https://img2018.cnblogs.com/i-beta/795254/202002/795254-20200205112738153-387546680.png"></p>
<p>&nbsp;</p>
<p><span style="color: rgba(255, 0, 255, 1)"><strong><span style="font-size: 14pt">五.资源对象的配置格式</span></strong></span></p>
<div class="cnblogs_code">
<pre>  API Server接收和返回的所有JSON对象都遵循同样一个模式,它们都具有<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">kind</span><span style="color: rgba(128, 0, 0, 1)">"</span>和<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">apiVersion</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">字段,用于标识对象所述的资源类型,API群组及相关的版本;
  <br>  大多数的对象或列表类型的资源还需要具有三个嵌套的字段metadata,spec和status。<br>    metadata字段:<br>      为资源提供元数据信息,例如名称,隶属的名称空间和标签等;<br>    spec字段:<br>      用于定义用户期望的状态,不同的资源类型,其状态的意义各不相同,例如pod资源最为核心的功能在于运行容器;<br>    status字段:<br>      记录着活动对象的当前状态信息,它由Kubernetes系统自行维护,对用户来说为只读字段;<br><br>  我们可以通过"kubectl api-resources"命令获取集群支持的所有资源类型。</span></pre>
</div>
<div class="cnblogs_code"><img id="code_img_closed_6f2b10e1-28c3-439f-9dca-8017945524b4" class="code_img_closed lazyload" alt="" data-src="http://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif"><img id="code_img_opened_6f2b10e1-28c3-439f-9dca-8017945524b4" class="code_img_opened lazyload" style="display: none" alt="" data-src="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif">
<div id="cnblogs_code_open_6f2b10e1-28c3-439f-9dca-8017945524b4" class="cnblogs_code_hide">
<pre># kubectl api-<span style="color: rgba(0, 0, 0, 1)">resources
NAME                              SHORTNAMES   APIGROUP                     NAMESPACED   KIND
bindings                                                                      </span><span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">         Binding
componentstatuses               cs                                          </span><span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">      ComponentStatus
configmaps                        cm                                          </span><span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">         ConfigMap
endpoints                         ep                                          </span><span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">         Endpoints
events                            ev                                          </span><span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">         Event
limitranges                     limits                                    </span><span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">         LimitRange
namespaces                        ns                                          </span><span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">      Namespace
nodes                           no                                          </span><span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">      Node
persistentvolumeclaims            pvc                                       </span><span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">         PersistentVolumeClaim
persistentvolumes               pv                                          </span><span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">      PersistentVolume
pods                              po                                          </span><span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">         Pod
podtemplates                                                                  </span><span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">         PodTemplate
replicationcontrollers            rc                                          </span><span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">         ReplicationController
resourcequotas                  quota                                       </span><span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">         ResourceQuota
secrets                                                                     </span><span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">         Secret
serviceaccounts                   sa                                          </span><span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">         ServiceAccount
services                        svc                                       </span><span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">         Service
mutatingwebhookconfigurations                  admissionregistration.k8s.io   </span><span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">      MutatingWebhookConfiguration
validatingwebhookconfigurations                admissionregistration.k8s.io   </span><span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">      ValidatingWebhookConfiguration
customresourcedefinitions         crd,crds   apiextensions.k8s.io         </span><span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">      CustomResourceDefinition
apiservices                                    apiregistration.k8s.io         </span><span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">      APIService
controllerrevisions                            apps                           </span><span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">         ControllerRevision
daemonsets                        ds         apps                           </span><span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">         DaemonSet
deployments                     deploy       apps                           </span><span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">         Deployment
replicasets                     rs         apps                           </span><span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">         ReplicaSet
statefulsets                      sts          apps                           </span><span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">         StatefulSet
tokenreviews                                 authentication.k8s.io          </span><span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">      TokenReview
localsubjectaccessreviews                      authorization.k8s.io         </span><span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">         LocalSubjectAccessReview
selfsubjectaccessreviews                     authorization.k8s.io         </span><span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">      SelfSubjectAccessReview
selfsubjectrulesreviews                        authorization.k8s.io         </span><span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">      SelfSubjectRulesReview
subjectaccessreviews                           authorization.k8s.io         </span><span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">      SubjectAccessReview
horizontalpodautoscalers          hpa          autoscaling                  </span><span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">         HorizontalPodAutoscaler
cronjobs                        cj         batch                        </span><span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">         CronJob
jobs                                           batch                        </span><span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">         Job
certificatesigningrequests      csr          certificates.k8s.io            </span><span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">      CertificateSigningRequest
leases                                       coordination.k8s.io            </span><span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">         Lease
endpointslices                                 discovery.k8s.io               </span><span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">         EndpointSlice
events                            ev         events.k8s.io                  </span><span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">         Event
ingresses                         ing          extensions                     </span><span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">         Ingress
ingresses                         ing          networking.k8s.io            </span><span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">         Ingress
networkpolicies                   netpol       networking.k8s.io            </span><span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">         NetworkPolicy
runtimeclasses                                 node.k8s.io                  </span><span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">      RuntimeClass
poddisruptionbudgets            pdb          policy                         </span><span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">         PodDisruptionBudget
podsecuritypolicies               psp          policy                         </span><span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">      PodSecurityPolicy
clusterrolebindings                            rbac.authorization.k8s.io      </span><span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">      ClusterRoleBinding
clusterroles                                 rbac.authorization.k8s.io      </span><span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">      ClusterRole
rolebindings                                 rbac.authorization.k8s.io      </span><span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">         RoleBinding
roles                                          rbac.authorization.k8s.io      </span><span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">         Role
priorityclasses                   pc         scheduling.k8s.io            </span><span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">      PriorityClass
csidrivers                                     storage.k8s.io               </span><span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">      CSIDriver
csinodes                                       storage.k8s.io               </span><span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">      CSINode
storageclasses                  sc         storage.k8s.io               </span><span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">      StorageClass
volumeattachments                              storage.k8s.io               </span><span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">      VolumeAttachment
#
# </pre>
</div>
<span class="cnblogs_code_collapse"># kubectl api-resources</span></div>
<div class="cnblogs_code"><img id="code_img_closed_9f6143ab-910a-415d-9a51-bfca96f4a0c9" class="code_img_closed lazyload" alt="" data-src="http://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif"><img id="code_img_opened_9f6143ab-910a-415d-9a51-bfca96f4a0c9" class="code_img_opened lazyload" style="display: none" alt="" data-src="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif">
<div id="cnblogs_code_open_9f6143ab-910a-415d-9a51-bfca96f4a0c9" class="cnblogs_code_hide">
<pre># kubectl get deploy mynginx -<span style="color: rgba(0, 0, 0, 1)">o yaml
apiVersion: apps</span>/<span style="color: rgba(0, 0, 0, 1)">v1
kind: Deployment
metadata:
annotations:
    deployment.kubernetes.io</span>/revision: <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">1</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">
creationTimestamp: </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">2020-02-04T22:14:32Z</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">
generation: </span><span style="color: rgba(128, 0, 128, 1)">3</span><span style="color: rgba(0, 0, 0, 1)">
labels:
    app: mynginx
name: mynginx
namespace: default
resourceVersion: </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">39216</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">
selfLink: </span>/apis/apps/v1/namespaces/default/deployments/<span style="color: rgba(0, 0, 0, 1)">mynginx
uid: 5c796fe6</span>-03c9-40af-8ec6-<span style="color: rgba(0, 0, 0, 1)">0457a379e692
spec:
progressDeadlineSeconds: </span><span style="color: rgba(128, 0, 128, 1)">600</span><span style="color: rgba(0, 0, 0, 1)">
replicas: </span><span style="color: rgba(128, 0, 128, 1)">2</span><span style="color: rgba(0, 0, 0, 1)">
revisionHistoryLimit: </span><span style="color: rgba(128, 0, 128, 1)">10</span><span style="color: rgba(0, 0, 0, 1)">
selector:
    matchLabels:
      app: mynginx
strategy:
    rollingUpdate:
      maxSurge: </span><span style="color: rgba(128, 0, 128, 1)">25</span>%<span style="color: rgba(0, 0, 0, 1)">
      maxUnavailable: </span><span style="color: rgba(128, 0, 128, 1)">25</span>%<span style="color: rgba(0, 0, 0, 1)">
    type: RollingUpdate
template:
    metadata:
      creationTimestamp: </span><span style="color: rgba(0, 0, 255, 1)">null</span><span style="color: rgba(0, 0, 0, 1)">
      labels:
      app: mynginx
    spec:
      containers:
      </span>- image: nginx:<span style="color: rgba(128, 0, 128, 1)">1.14</span>-<span style="color: rgba(0, 0, 0, 1)">alpine
      imagePullPolicy: IfNotPresent
      name: nginx
      resources: {}
      terminationMessagePath: </span>/dev/termination-<span style="color: rgba(0, 0, 0, 1)">log
      terminationMessagePolicy: File
      dnsPolicy: ClusterFirst
      restartPolicy: Always
      schedulerName: default</span>-<span style="color: rgba(0, 0, 0, 1)">scheduler
      securityContext: {}
      terminationGracePeriodSeconds: </span><span style="color: rgba(128, 0, 128, 1)">30</span><span style="color: rgba(0, 0, 0, 1)">
status:
availableReplicas: </span><span style="color: rgba(128, 0, 128, 1)">2</span><span style="color: rgba(0, 0, 0, 1)">
conditions:
</span>- lastTransitionTime: <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">2020-02-04T22:14:32Z</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">
    lastUpdateTime: </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">2020-02-04T22:14:40Z</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">
    message: ReplicaSet </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">mynginx-677d85dbd5</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)"> has successfully progressed.
    reason: NewReplicaSetAvailable
    status: </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">True</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">
    type: Progressing
</span>- lastTransitionTime: <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">2020-02-05T00:11:57Z</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">
    lastUpdateTime: </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">2020-02-05T00:11:57Z</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">
    message: Deployment has minimum availability.
    reason: MinimumReplicasAvailable
    status: </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">True</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">
    type: Available
observedGeneration: </span><span style="color: rgba(128, 0, 128, 1)">3</span><span style="color: rgba(0, 0, 0, 1)">
readyReplicas: </span><span style="color: rgba(128, 0, 128, 1)">2</span><span style="color: rgba(0, 0, 0, 1)">
replicas: </span><span style="color: rgba(128, 0, 128, 1)">2</span><span style="color: rgba(0, 0, 0, 1)">
updatedReplicas: </span><span style="color: rgba(128, 0, 128, 1)">2</span><span style="color: rgba(0, 0, 0, 1)">
#
# </pre>
</div>
<span class="cnblogs_code_collapse"># kubectl get deploy mynginx -o yaml</span></div>
<p>&nbsp;</p>
<p><span style="color: rgba(255, 0, 255, 1)"><strong><span style="font-size: 14pt">六.和解循环(Reconciliation Loop)</span></strong></span></p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">  和解循环的大致工作流程如下:<br>    1&gt;.客户端向API Sever提交POST请求以创建对象
        (1)通过JSON格式的body提交;<br>        (2)YAML格式需要实现完成向JSON的转换;<br>        (3)对象配置信息保存于etcd中,其定义出的状态也称为"期望的状态(spec)"<br>    2&gt;.控制器负责将其创建为kubernetes集群上的具体(活动)对象,并确保其当前状态(status)与用户定义的期望状态相同.<br>        (1)status由控制器自行维护,而spec则由用户进行提交;<br>        (2)活动对象在运行过程中因节点故障等原因可能会在某一时刻导致其status不在吻合于spec;<br>        (3)控制器通过和解循环(Reconciliation Loop)不间断地监控着相关对象的当前状态,在对象的当前状态发生改变时运行合适的操作让其当前状态无限接近与期望的状态。<br></span></pre>
</div>
<p>&nbsp;</p>

</div>
<div id="MySignature" role="contentinfo">
    <p>本文来自博客园,作者:尹正杰,转载请注明原文链接:https://www.cnblogs.com/yinzhengjie/p/12261980.html,个人微信: "JasonYin2020"(添加时请备注来源及意图备注,有偿付费) </p>

<p>当你的才华还撑不起你的野心的时候,你就应该静下心来学习。当你的能力还驾驭不了你的目标的时候,你就应该沉下心来历练。问问自己,想要怎样的人生。</p><br><br>
来源:https://www.cnblogs.com/yinzhengjie/p/12261980.html
頁: [1]
查看完整版本: kubernetes快速入门