您好,登錄后才能下訂單哦!
查看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).
用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命令導出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
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。