Kubectl Basic Usage 1:
Ⅰ:Command Outline
1、Basic command
1>create Build resource by filename or standard input 2>expose Expose a resource as a new Service 3>run Run a specified image in a cluster 4>set Set a specified function for an object 5>get Get one or multiple resource 6>explain Document reference 7>edit Edit a resource using the default editor 8>delete Deletes a resource by filename, standard input, resource name, or label selector |
---|
2、Deployment command
1>rollout Rollout of management resource 2>rolling-update Rolling updates to a given replication controller 3>scale Expand or shrink the scale of Pod,Deployment、ReplicaSet、RC or Job 4>autoscale Create an automatic option to expand or shrink and set the number of pods |
---|
3、Cluster management command
1>certificate Modify certificate resource 2>cluster-info display cluster information 3>top display resource(CPU/Memory/Storage) usage。Need Heapster execution 4>cordon The token node is not dispatchable 5>uncordon The token node is dispatchable 6>drain Exclude nodes during maintenance |
---|
...
7>Marked as a taint, no dispatchable task |
---|
4、Troubleshooting and debugging commands
1>describe Display detailed information about a particular resource or group of resources 2>logs Print a docker log in a Pod.If the Pod has only one docker, the docker's name is optional 3>attach Attach to a running docker 4>exec Execute the command to a docker 5>port-forward Forward one or more local ports to a pod 6>proxy Run a proxy to the Kubernetes API server 7>cp Copy files or directories into docker 8>auth Check authorization |
---|
5、Senior command
1>apply Applies a configuration to a resource by filename or standard input 2>patch Use patches to modify and update the fields of the resource 3>replace Replaces a resource with a filename or standard input 4>convert Convert configuration files between different API versions |
---|
6、Setting command
1>label Update the resource lable 2>annotate Update the resource annotate 3>completion Used to implement automatic completion of kubectl tool |
---|
7、Other commands
1>api-versions Print the supported API version 2>config Modify the kubeconfig file (for accessing apis, such as configuring authentication information) 3>help All commands 4>plugin Run a command-line plug-in 5>version Print client and service version information |
---|
Ⅱ:kubectl tool management cluster
...
kubectl scale deployment/nginx --replicas=10
kubectl scale deployment/nginx --replicas=8
kubectl edit deployment/nginx
kubectl delete svc/nginx-service
Kubectl Basic Usage 2:
Ⅲ:Basic operation of kubernests cluster(Take the namespace of onap in linux client as an example)
...
kubectl -n onap cp copy_test.sh dev-vfc-catalog-68cb7c9878-v4kt2: -c vfc-catalog
Copy pod's content to local:
kubectl -n onap cp dev-vfc-catalog-68cb7c9878-v4kt2:copy_test.sh -c vfc-catalog /tmp/copy_test.sh
6、Remote command (to see the current path of the container as an example)
kubectl -n onap exec -it dev-vfc-catalog-68cb7c9878-v4kt2 -c vfc-catalog pwd
7、View pod basic information and logs (no -c parameter added for single container pod)
kubectl -n onap describe pod dev-vfc-catalog-68cb7c9878-v4kt2
kubectl -n onap logs dev-vfc-catalog-68cb7c9878-v4kt2 -c vfc-catalog
8、Check the service listener port and manually expose the port, which is commonly used for testing, such as nginx under test namespace
1>Build namespace 4> Check svc(ports that pod exposed , The cluster internally accesses this pod via port 88., external access to the cluster using floatingip+30531) |
---|
9、 Modify the container image and pod strategy (deployment, statefulset), the completion of modification will trigger the rolling update
1>To determine whether the pod is a stateful application (efullset) or a stateful application (deployment) kubectl -n onap describe pod dev-vfc-catalog-68cb7c9878-v4kt2 |grep Controlled 2>Stateless application |
---|
...
deployment kubectl -n onap get deploy |grep |
---|
...
catalog kubectl -n onap edit deploy dev-vfc-catalog-68cb7c9878-v4kt2 3>Stateful application statefulset kubectl -n onap get statefulset |grep cassandra kubectl -n onap edit statefulset dev-aai- |
---|
...
cassandra |
---|
10、Restart pod(After removing the pod, deployment will recreate a same pod and randomly assign it to any node.)
kubectl -n onap delete pod dev-vfc-catalog-68cb7c9878-v4kt2 -c vfc-catalog
...