Kubernetes - Lệnh Kubectl
Kubectlkiểm soát Cụm Kubernetes. Nó là một trong những thành phần quan trọng của Kubernetes chạy trên máy trạm trên bất kỳ máy nào khi thiết lập xong. Nó có khả năng quản lý các nút trong cụm.
Kubectlcác lệnh được sử dụng để tương tác và quản lý các đối tượng Kubernetes và cụm. Trong chương này, chúng ta sẽ thảo luận về một số lệnh được sử dụng trong Kubernetes thông qua kubectl.
kubectl annotate - Nó cập nhật chú thích trên một tài nguyên.
$kubectl annotate [--overwrite] (-f FILENAME | TYPE NAME) KEY_1=VAL_1 ...
KEY_N = VAL_N [--resource-version = version]
Ví dụ,
kubectl annotate pods tomcat description = 'my frontend'
kubectl api-versions - Nó in các phiên bản API được hỗ trợ trên cụm.
$ kubectl api-version;
kubectl apply - Nó có khả năng định cấu hình tài nguyên theo tệp hoặc stdin.
$ kubectl apply –f <filename>
kubectl attach - Cái này gắn các thứ vào thùng đang chạy.
$ kubectl attach <pod> –c <container>
$ kubectl attach 123456-7890 -c tomcat-conatiner
kubectl autoscale - Điều này được sử dụng để tự động mở rộng các nhóm được xác định như Triển khai, bộ bản sao, Bộ điều khiển nhân bản.
$ kubectl autoscale (-f FILENAME | TYPE NAME | TYPE/NAME) [--min = MINPODS] --
max = MAXPODS [--cpu-percent = CPU] [flags]
$ kubectl autoscale deployment foo --min = 2 --max = 10
kubectl cluster-info - Nó hiển thị thông tin cụm.
$ kubectl cluster-info
kubectl cluster-info dump - Nó kết xuất thông tin liên quan đến cụm để gỡ lỗi và chẩn đoán.
$ kubectl cluster-info dump
$ kubectl cluster-info dump --output-directory = /path/to/cluster-state
kubectl config - Sửa đổi tệp kubeconfig.
$ kubectl config <SUBCOMMAD>
$ kubectl config –-kubeconfig <String of File name>
kubectl config current-context - Nó hiển thị bối cảnh hiện tại.
$ kubectl config current-context
#deploys the current context
kubectl config delete-cluster - Xóa cụm được chỉ định khỏi kubeconfig.
$ kubectl config delete-cluster <Cluster Name>
kubectl config delete-context - Xóa một ngữ cảnh được chỉ định khỏi kubeconfig.
$ kubectl config delete-context <Context Name>
kubectl config get-clusters - Hiển thị cụm được xác định trong kubeconfig.
$ kubectl config get-cluster
$ kubectl config get-cluster <Cluser Name>
kubectl config get-contexts - Mô tả một hoặc nhiều ngữ cảnh.
$ kubectl config get-context <Context Name>
kubectl config set-cluster - Đặt mục nhập cụm trong Kubernetes.
$ kubectl config set-cluster NAME [--server = server] [--certificateauthority =
path/to/certificate/authority] [--insecure-skip-tls-verify = true]
kubectl config set-context - Đặt một mục ngữ cảnh trong điểm nhập kubernetes.
$ kubectl config set-context NAME [--cluster = cluster_nickname] [--
user = user_nickname] [--namespace = namespace]
$ kubectl config set-context prod –user = vipin-mishra
kubectl config set-credentials - Đặt mục nhập người dùng trong kubeconfig.
$ kubectl config set-credentials cluster-admin --username = vipin --
password = uXFGweU9l35qcif
kubectl config set - Đặt một giá trị riêng lẻ trong tệp kubeconfig.
$ kubectl config set PROPERTY_NAME PROPERTY_VALUE
kubectl config unset - Nó bỏ thiết lập một thành phần cụ thể trong kubectl.
$ kubectl config unset PROPERTY_NAME PROPERTY_VALUE
kubectl config use-context - Đặt ngữ cảnh hiện tại trong tệp kubectl.
$ kubectl config use-context <Context Name>
kubectl config view
$ kubectl config view
$ kubectl config view –o jsonpath='{.users[?(@.name == "e2e")].user.password}'
kubectl cp - Sao chép các tập tin và thư mục đến và từ các vùng chứa.
$ kubectl cp <Files from source> <Files to Destinatiion>
$ kubectl cp /tmp/foo <some-pod>:/tmp/bar -c <specific-container>
kubectl create- Để tạo tài nguyên theo tên tệp của hoặc stdin. Để làm điều này, các định dạng JSON hoặc YAML được chấp nhận.
$ kubectl create –f <File Name>
$ cat <file name> | kubectl create –f -
Theo cách tương tự, chúng ta có thể tạo nhiều thứ như được liệt kê bằng cách sử dụng create lệnh cùng với kubectl.
- deployment
- namespace
- quota
- docker-registry bí mật
- secret
- bí mật chung chung
- tls bí mật
- serviceaccount
- nhóm dịch vụ
- bộ cân bằng dịch vụ
- dịch vụ gật đầu
kubectl delete - Xóa tài nguyên theo tên tệp, stdin, tài nguyên và tên.
$ kubectl delete –f ([-f FILENAME] | TYPE [(NAME | -l label | --all)])
kubectl describe- Mô tả bất kỳ tài nguyên cụ thể nào trong kubernetes. Hiển thị chi tiết của tài nguyên hoặc một nhóm tài nguyên.
$ kubectl describe <type> <type name>
$ kubectl describe pod tomcat
kubectl drain- Điều này được sử dụng để tiêu một nút cho mục đích bảo trì. Nó chuẩn bị cho nút để bảo trì. Điều này sẽ đánh dấu nút là không khả dụng để nó không được gán với một vùng chứa mới sẽ được tạo.
$ kubectl drain tomcat –force
kubectl edit- Nó được sử dụng để kết thúc tài nguyên trên máy chủ. Điều này cho phép chỉnh sửa trực tiếp tài nguyên mà người ta có thể nhận được thông qua công cụ dòng lệnh.
$ kubectl edit <Resource/Name | File Name)
Ex.
$ kubectl edit rc/tomcat
kubectl exec - Điều này giúp thực hiện một lệnh trong vùng chứa.
$ kubectl exec POD <-c CONTAINER > -- COMMAND < args...>
$ kubectl exec tomcat 123-5-456 date
kubectl expose- Điều này được sử dụng để hiển thị các đối tượng Kubernetes như pod, bộ điều khiển sao chép và dịch vụ như một dịch vụ Kubernetes mới. Điều này có khả năng hiển thị nó qua một vùng chứa đang chạy hoặc từ mộtyaml tập tin.
$ kubectl expose (-f FILENAME | TYPE NAME) [--port=port] [--protocol = TCP|UDP]
[--target-port = number-or-name] [--name = name] [--external-ip = external-ip-ofservice]
[--type = type]
$ kubectl expose rc tomcat –-port=80 –target-port = 30000
$ kubectl expose –f tomcat.yaml –port = 80 –target-port =
kubectl get - Lệnh này có khả năng tìm nạp dữ liệu trên cụm về tài nguyên Kubernetes.
$ kubectl get [(-o|--output=)json|yaml|wide|custom-columns=...|custom-columnsfile=...|
go-template=...|go-template-file=...|jsonpath=...|jsonpath-file=...]
(TYPE [NAME | -l label] | TYPE/NAME ...) [flags]
Ví dụ,
$ kubectl get pod <pod name>
$ kubectl get service <Service name>
kubectl logs- Chúng được sử dụng để lấy các bản ghi của thùng chứa trong một vỏ. Việc in nhật ký có thể xác định tên vùng chứa trong nhóm. Nếu POD chỉ có một vùng chứa thì không cần xác định tên của nó.
$ kubectl logs [-f] [-p] POD [-c CONTAINER]
Example
$ kubectl logs tomcat.
$ kubectl logs –p –c tomcat.8
kubectl port-forward - Chúng được sử dụng để chuyển tiếp một hoặc nhiều cổng cục bộ tới nhóm.
$ kubectl port-forward POD [LOCAL_PORT:]REMOTE_PORT
[...[LOCAL_PORT_N:]REMOTE_PORT_N]
$ kubectl port-forward tomcat 3000 4000
$ kubectl port-forward tomcat 3000:5000
kubectl replace - Có khả năng thay thế tài nguyên theo tên tệp hoặc stdin.
$ kubectl replace -f FILENAME
$ kubectl replace –f tomcat.yml
$ cat tomcat.yml | kubectl replace –f -
kubectl rolling-update- Thực hiện cập nhật liên tục trên bộ điều khiển nhân rộng. Thay thế bộ điều khiển sao chép đã chỉ định bằng một bộ điều khiển sao chép mới bằng cách cập nhật POD tại một thời điểm.
$ kubectl rolling-update OLD_CONTROLLER_NAME ([NEW_CONTROLLER_NAME] --
image = NEW_CONTAINER_IMAGE | -f NEW_CONTROLLER_SPEC)
$ kubectl rolling-update frontend-v1 –f freontend-v2.yaml
kubectl rollout - Nó có khả năng quản lý quá trình triển khai.
$ Kubectl rollout <Sub Command>
$ kubectl rollout undo deployment/tomcat
Ngoài những điều trên, chúng tôi có thể thực hiện nhiều tác vụ bằng cách sử dụng bản giới thiệu như:
- lịch sử phát hành
- tạm dừng triển khai
- tiếp tục triển khai
- tình trạng phát hành
- hoàn tác triển khai
kubectl run - Lệnh Run có khả năng chạy một hình ảnh trên Kubernetes cluster.
$ kubectl run NAME --image = image [--env = "key = value"] [--port = port] [--
replicas = replicas] [--dry-run = bool] [--overrides = inline-json] [--command] --
[COMMAND] [args...]
$ kubectl run tomcat --image = tomcat:7.0
$ kubectl run tomcat –-image = tomcat:7.0 –port = 5000
kubectl scale - Nó sẽ chia tỷ lệ kích thước của Kubernetes Deployments, ReplicaSet, Replication Controller hoặc job.
$ kubectl scale [--resource-version = version] [--current-replicas = count] --
replicas = COUNT (-f FILENAME | TYPE NAME )
$ kubectl scale –-replica = 3 rs/tomcat
$ kubectl scale –replica = 3 tomcat.yaml
kubectl set image - Nó cập nhật hình ảnh của một mẫu nhóm.
$ kubectl set image (-f FILENAME | TYPE NAME)
CONTAINER_NAME_1 = CONTAINER_IMAGE_1 ... CONTAINER_NAME_N = CONTAINER_IMAGE_N
$ kubectl set image deployment/tomcat busybox = busybox ngnix = ngnix:1.9.1
$ kubectl set image deployments, rc tomcat = tomcat6.0 --all
kubectl set resources- Nó được sử dụng để thiết lập nội dung của tài nguyên. Nó cập nhật tài nguyên / giới hạn trên đối tượng với mẫu nhóm.
$ kubectl set resources (-f FILENAME | TYPE NAME) ([--limits = LIMITS & --
requests = REQUESTS]
$ kubectl set resources deployment tomcat -c = tomcat --
limits = cpu = 200m,memory = 512Mi
kubectl top node- Nó hiển thị mức sử dụng CPU / Bộ nhớ / Bộ nhớ. Lệnh trên cùng cho phép bạn xem mức tiêu thụ tài nguyên cho các nút.
$ kubectl top node [node Name]
Lệnh tương tự cũng có thể được sử dụng với một nhóm.