kubectl&&YAML,深入理解pod對(duì)象(下)

kubectl && YAML,深入理解pod對(duì)象(下)

站在用戶的角度思考問題,與客戶深入溝通,找到上虞網(wǎng)站設(shè)計(jì)與上虞網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、申請(qǐng)域名、雅安服務(wù)器托管、企業(yè)郵箱。業(yè)務(wù)覆蓋上虞地區(qū)。

kubectl && YAML,深入理解pod對(duì)象(下)

kubectl && YAML,深入理解pod對(duì)象(下)

kubectl && YAML,深入理解pod對(duì)象(下)

kubectl && YAML,深入理解pod對(duì)象(下)

查看api的版本

[root@k8s-master src]# kubectl api-versions

admissionregistration.k8s.io/v1

admissionregistration.k8s.io/v1beta1

apiextensions.k8s.io/v1

apiextensions.k8s.io/v1beta1

apiregistration.k8s.io/v1

apiregistration.k8s.io/v1beta1

apps/v1

authentication.k8s.io/v1

authentication.k8s.io/v1beta1

authorization.k8s.io/v1

authorization.k8s.io/v1beta1

autoscaling/v1

autoscaling/v2beta1

autoscaling/v2beta2

batch/v1

batch/v1beta1

certificates.k8s.io/v1beta1

coordination.k8s.io/v1

coordination.k8s.io/v1beta1

events.k8s.io/v1beta1

extensions/v1beta1

networking.k8s.io/v1

networking.k8s.io/v1beta1

node.k8s.io/v1beta1

policy/v1beta1

rbac.authorization.k8s.io/v1

rbac.authorization.k8s.io/v1beta1

scheduling.k8s.io/v1

scheduling.k8s.io/v1beta1

storage.k8s.io/v1

storage.k8s.io/v1beta1

v1

[root@k8s-master src]# kubectl --help

kubectl controls the Kubernetes cluster manager.

?Find more information at:

https://kubernetes.io/docs/reference/kubectl/overview/

Basic Commands (Beginner):

? create? ? ? ? ?Create a resource from a file or from stdin.

? expose? ? ? ? ?Take a replication controller, service, deployment or pod and

expose it as a new 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 new size for a Deployment, ReplicaSet, Replication

Controller, or Job

? autoscale? ? ? Auto-scale a Deployment, ReplicaSet, or ReplicationController

Cluster Management Commands:

? certificate? ? Modify certificate resources.

? cluster-info? ?Display cluster info

? top? ? ? ? ? ? Display Resource (CPU/Memory/Storage) usage.

? cordon? ? ? ? ?Mark node as unschedulable

? uncordon? ? ? ?Mark node as schedulable

? drain? ? ? ? ? Drain node in preparation for 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 for a container in a pod

? attach? ? ? ? ?Attach to a running container

? exec? ? ? ? ? ?Execute a command in a container

? port-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-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 for 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 for the specified shell (bash or

zsh)

Other Commands:

? api-resources? Print the supported API resources on the server

? api-versions? ?Print the supported API versions on the server, in the form of

"group/version"

? config? ? ? ? ?Modify kubeconfig files

? plugin? ? ? ? ?Provides utilities for interacting with plugins.

? version? ? ? ? Print the client and server version information

Usage:

? kubectl [flags] [options]

Use "kubectl <command> --help" for more information about a given command.

Use "kubectl options" for a list of global command-line options (applies to all

commands).

kubectl && YAML,深入理解pod對(duì)象(下)

用run命令生成yaml文件:

[root@k8s-master src]# kubectl create deployment web --image=nginx -o yaml --dry-run > deployment.yaml

[root@k8s-master src]# vim deployment.yaml?

apiVersion: apps/v1

kind: Deployment

metadata:

? labels:

? ? app: web

? name: web

spec:

? replicas: 1

? selector:

? ? matchLabels:

? ? ? app: web

? strategy: {}

? template:

? ? metadata:

? ? ? labels:

? ? ? ? app: web

? ? spec:

? ? ? containers:

? ? ? - image: nginx

? ? ? ? name: nginx

? ? ? ? resources: {}

用get命令導(dǎo)出yaml文件

[root@k8s-master src]# kubectl get deploy??

NAME? ? READY? ?UP-TO-DATE? ?AVAILABLE? ?AGE

nginx? ?1/1? ? ?1? ? ? ? ? ? 1? ? ? ? ? ?10h

web? ? ?0/1? ? ?1? ? ? ? ? ? 0? ? ? ? ? ?5m41s

web2? ? 1/1? ? ?1? ? ? ? ? ? 1? ? ? ? ? ?7h25m

[root@k8s-master src]# kubectl get deploy web

NAME? ?READY? ?UP-TO-DATE? ?AVAILABLE? ?AGE

web? ? 0/1? ? ?1? ? ? ? ? ? 0? ? ? ? ? ?5m51s

[root@k8s-master src]# kubectl get deploy web -o yaml

apiVersion: apps/v1

kind: Deployment

metadata:

? annotations:

? ? deployment.kubernetes.io/revision: "1"

? creationTimestamp: "2020-02-12T12:55:39Z"

? generation: 1

? labels:

? ? app: web

? name: web

? namespace: default

? resourceVersion: "56329"

? selfLink: /apis/apps/v1/namespaces/default/deployments/web

? uid: 74f83717-d28b-404e-a8a2-ed6a6bb601b6

spec:

? progressDeadlineSeconds: 600

? replicas: 1

? revisionHistoryLimit: 10

? selector:

? ? matchLabels:

? ? ? app: web

? strategy:

? ? rollingUpdate:

? ? ? maxSurge: 25%

? ? ? maxUnavailable: 25%

? ? type: RollingUpdate

? template:

? ? metadata:

? ? ? creationTimestamp: null

? ? ? labels:

? ? ? ? app: web

? ? spec:

? ? ? containers:

? ? ? - image: nginx

? ? ? ? imagePullPolicy: Always

? ? ? ? name: nginx

? ? ? ? resources: {}

? ? ? ? terminationMessagePath: /dev/termination-log

? ? ? ? terminationMessagePolicy: File

? ? ? DNSPolicy: ClusterFirst

? ? ? restartPolicy: Always

? ? ? schedulerName: default-scheduler

? ? ? securityContext: {}

? ? ? terminationGracePeriodSeconds: 30

status:

? conditions:

? - lastTransitionTime: "2020-02-12T12:55:39Z"

? ? lastUpdateTime: "2020-02-12T12:55:39Z"

? ? message: Deployment does not have minimum availability.

? ? reason: MinimumReplicasUnavailable

? ? status: "False"

? ? type: Available

? - lastTransitionTime: "2020-02-12T12:55:39Z"

? ? lastUpdateTime: "2020-02-12T12:55:39Z"

? ? message: ReplicaSet "web-d86c95cc9" is progressing.

? ? reason: ReplicaSetUpdated

? ? status: "True"

? ? type: Progressing

? observedGeneration: 1

? replicas: 1

? unavailableReplicas: 1

? updatedReplicas: 1

[root@k8s-master src]# kubectl get deploy web -o yaml --export > deployment2.yaml?

Flag --export has been deprecated, This flag is deprecated and will be removed in future.

注釋掉的可以去掉

[root@k8s-master src]# cat deployment2.yaml?

apiVersion: apps/v1

kind: Deployment

metadata:

#? annotations:

#? ? deployment.kubernetes.io/revision: "1"

#? creationTimestamp: null

#? generation: 1

? labels:

? ? app: web

? name: web

#? selfLink: /apis/apps/v1/namespaces/default/deployments/web

spec:

#? progressDeadlineSeconds: 600

? replicas: 1

#? revisionHistoryLimit: 10

? selector:

? ? matchLabels:

? ? ? app: web

? strategy:

? ? rollingUpdate:

? ? ? maxSurge: 25%

? ? ? maxUnavailable: 25%

? ? type: RollingUpdate

? template:

? ? metadata:

#? ? ? creationTimestamp: null

? ? ? labels:

? ? ? ? app: web

? ? spec:

? ? ? containers:

? ? ? - image: nginx

? ? ? ? imagePullPolicy: Always

? ? ? ? name: nginx

? ? ? ? resources: {}

#? ? ? ? terminationMessagePath: /dev/termination-log

#? ? ? ? terminationMessagePolicy: File

#? ? ? dnsPolicy: ClusterFirst

? ? ? restartPolicy: Always

#? ? ? schedulerName: default-scheduler

#? ? ? securityContext: {}

#? ? ? terminationGracePeriodSeconds: 30

#status: {}

過濾后得出以下文本:

[root@k8s-master src]# grep -Ev "^#" deployment2.yaml?

apiVersion: apps/v1

kind: Deployment

metadata:

? labels:

? ? app: web

? name: web

spec:

? replicas: 1

? selector:

? ? matchLabels:

? ? ? app: web

? strategy:

? ? rollingUpdate:

? ? ? maxSurge: 25%

? ? ? maxUnavailable: 25%

? ? type: RollingUpdate

? template:

? ? metadata:

? ? ? labels:

? ? ? ? app: web

? ? spec:

? ? ? containers:

? ? ? - image: nginx

? ? ? ? imagePullPolicy: Always

? ? ? ? name: nginx

? ? ? ? resources: {}

? ? ? restartPolicy: Always

[root@k8s-master src]# kubectl explain pods

KIND:? ? ?Pod

VERSION:? v1

DESCRIPTION:

? ? ?Pod is a collection of containers that can run on a host. This resource is

? ? ?created by clients and scheduled onto hosts.

FIELDS:

? ?apiVersion? ?<string>

? ? ?APIVersion defines the versioned schema of this representation of an

? ? ?object. Servers should convert recognized schemas to the latest internal

? ? ?value, and may reject unrecognized values. More info:

? ? ?https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources

? ?kind <string>

? ? ?Kind is a string value representing the REST resource this object

? ? ?represents. Servers may infer this from the endpoint the client submits

? ? ?requests to. Cannot be updated. In CamelCase. More info:

? ? ?https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

? ?metadata? ? ?<Object>

? ? ?Standard object's metadata. More info:

? ? ?https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata

? ?spec <Object>

? ? ?Specification of the desired behavior of the pod. More info:

? ? ?https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status

? ?status? ? ? ?<Object>

? ? ?Most recently observed status of the pod. This data may not be up to date.

? ? ?Populated by the system. Read-only. More info:

? ? ?

https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status

[root@k8s-master src]# kubectl explain pods.spec.containers

KIND:? ? ?Pod

VERSION:? v1

RESOURCE: containers <[]Object>

DESCRIPTION:

? ? ?List of containers belonging to the pod. Containers cannot currently be

? ? ?added or removed. There must be at least one container in a Pod. Cannot be

? ? ?updated.

? ? ?A single application container that you want to run within a pod.

FIELDS:

? ?args <[]string>

? ? ?Arguments to the entrypoint. The docker image's CMD is used if this is not

? ? ?provided. Variable references $(VAR_NAME) are expanded using the

? ? ?container's environment. If a variable cannot be resolved, the reference in

? ? ?the input string will be unchanged. The $(VAR_NAME) syntax can be escaped

? ? ?with a double $$, ie: $$(VAR_NAME). Escaped references will never be

? ? ?expanded, regardless of whether the variable exists or not. Cannot be

? ? ?updated. More info:

? ? ?https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell

? ?command? ? ? <[]string>

? ? ?Entrypoint array. Not executed within a shell. The docker image's

? ? ?ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME)

? ? ?are expanded using the container's environment. If a variable cannot be

? ? ?resolved, the reference in the input string will be unchanged. The

? ? ?$(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME).

? ? ?Escaped references will never be expanded, regardless of whether the

? ? ?variable exists or not. Cannot be updated. More info:

? ? ?https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell

? ?env? <[]Object>

? ? ?List of environment variables to set in the container. Cannot be updated.

? ?envFrom? ? ? <[]Object>

? ? ?List of sources to populate environment variables in the container. The

? ? ?keys defined within a source must be a C_IDENTIFIER. All invalid keys will

? ? ?be reported as an event when the container is starting. When a key exists

? ? ?in multiple sources, the value associated with the last source will take

? ? ?precedence. Values defined by an Env with a duplicate key will take

? ? ?precedence. Cannot be updated.

? ?image? ? ? ? <string>

? ? ?Docker image name. More info:

? ? ?https://kubernetes.io/docs/concepts/containers/images This field is

? ? ?optional to allow higher level config management to default or override

? ? ?container images in workload controllers like Deployments and StatefulSets.

? ?imagePullPolicy? ? ? <string>

? ? ?Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always

? ? ?if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated.

? ? ?More info:

? ? ?https://kubernetes.io/docs/concepts/containers/images#updating-images

? ?lifecycle? ? <Object>

? ? ?Actions that the management system should take in response to container

? ? ?lifecycle events. Cannot be updated.

? ?livenessProbe? ? ? ? <Object>

? ? ?Periodic probe of container liveness. Container will be restarted if the

? ? ?probe fails. Cannot be updated. More info:

? ? ?https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes

? ?name <string> -required-

? ? ?Name of the container specified as a DNS_LABEL. Each container in a pod

? ? ?must have a unique name (DNS_LABEL). Cannot be updated.

? ?ports? ? ? ? <[]Object>

? ? ?List of ports to expose from the container. Exposing a port here gives the

? ? ?system additional information about the network connections a container

? ? ?uses, but is primarily informational. Not specifying a port here DOES NOT

? ? ?prevent that port from being exposed. Any port which is listening on the

? ? ?default "0.0.0.0" address inside a container will be accessible from the

? ? ?network. Cannot be updated.

? ?readinessProbe? ? ? ?<Object>

? ? ?Periodic probe of container service readiness. Container will be removed

? ? ?from service endpoints if the probe fails. Cannot be updated. More info:

? ? ?https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes

? ?resources? ? <Object>

? ? ?Compute Resources required by this container. Cannot be updated. More info:

? ? ?https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/

? ?securityContext? ? ? <Object>

? ? ?Security options the pod should run with. More info:

? ? ?https://kubernetes.io/docs/concepts/policy/security-context/ More info:

? ? ?https://kubernetes.io/docs/tasks/configure-pod-container/security-context/

? ?startupProbe <Object>

? ? ?StartupProbe indicates that the Pod has successfully initialized. If

? ? ?specified, no other probes are executed until this completes successfully.

? ? ?If this probe fails, the Pod will be restarted, just as if the

? ? ?livenessProbe failed. This can be used to provide different probe

? ? ?parameters at the beginning of a Pod's lifecycle, when it might take a long

? ? ?time to load data or warm a cache, than during steady-state operation. This

? ? ?cannot be updated. This is an alpha feature enabled by the StartupProbe

? ? ?feature flag. More info:

? ? ?https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes

? ?stdin? ? ? ? <boolean>

? ? ?Whether this container should allocate a buffer for stdin in the container

? ? ?runtime. If this is not set, reads from stdin in the container will always

? ? ?result in EOF. Default is false.

? ?stdinOnce? ? <boolean>

? ? ?Whether the container runtime should close the stdin channel after it has

? ? ?been opened by a single attach. When stdin is true the stdin stream will

? ? ?remain open across multiple attach sessions. If stdinOnce is set to true,

? ? ?stdin is opened on container start, is empty until the first client

? ? ?attaches to stdin, and then remains open and accepts data until the client

? ? ?disconnects, at which time stdin is closed and remains closed until the

? ? ?container is restarted. If this flag is false, a container processes that

? ? ?reads from stdin will never receive an EOF. Default is false

? ?terminationMessagePath? ? ? ?<string>

? ? ?Optional: Path at which the file to which the container's termination

? ? ?message will be written is mounted into the container's filesystem. Message

? ? ?written is intended to be brief final status, such as an assertion failure

? ? ?message. Will be truncated by the node if greater than 4096 bytes. The

? ? ?total message length across all containers will be limited to 12kb.

? ? ?Defaults to /dev/termination-log. Cannot be updated.

? ?terminationMessagePolicy? ? ?<string>

? ? ?Indicate how the termination message should be populated. File will use the

? ? ?contents of terminationMessagePath to populate the container status message

? ? ?on both success and failure. FallbackToLogsOnError will use the last chunk

? ? ?of container log output if the termination message file is empty and the

? ? ?container exited with an error. The log output is limited to 2048 bytes or

? ? ?80 lines, whichever is smaller. Defaults to File. Cannot be updated.

? ?tty? <boolean>

? ? ?Whether this container should allocate a TTY for itself, also requires

? ? ?'stdin' to be true. Default is false.

? ?volumeDevices? ? ? ? <[]Object>

? ? ?volumeDevices is the list of block devices to be used by the container.

? ? ?This is a beta feature.

? ?volumeMounts <[]Object>

? ? ?Pod volumes to mount into the container's filesystem. Cannot be updated.

? ?workingDir? ?<string>

? ? ?Container's working directory. If not specified, the container runtime's

? ? ?default will be used, which might be configured in the container image.

? ? ?Cannot be updated.

1:15:00

網(wǎng)頁名稱:kubectl&&YAML,深入理解pod對(duì)象(下)
轉(zhuǎn)載注明:http://www.muchs.cn/article42/jpcsec.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google、網(wǎng)頁設(shè)計(jì)公司、做網(wǎng)站、定制開發(fā)關(guān)鍵詞優(yōu)化、自適應(yīng)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化