From 412c6ab3a600050485e14fef394ec329ad290f95 Mon Sep 17 00:00:00 2001 From: Huy Nguyen Date: Tue, 19 Nov 2019 15:11:28 +0700 Subject: [PATCH 001/128] Add new owner Add huynguyennovem as an owner and reviewer for Vietnamese content --- OWNERS_ALIASES | 2 ++ 1 file changed, 2 insertions(+) diff --git a/OWNERS_ALIASES b/OWNERS_ALIASES index 7959c066cdbff..cc5138315bd6f 100644 --- a/OWNERS_ALIASES +++ b/OWNERS_ALIASES @@ -180,9 +180,11 @@ aliases: - jcjesus - devlware sig-docs-vi-owners: # Admins for Vietnamese content + - huynguyennovem - ngtuna - truongnh1992 sig-docs-vi-reviews: # PR reviews for Vietnamese content + - huynguyennovem - ngtuna - truongnh1992 sig-docs-ru-owners: # Admins for Russian content From 83b3de7b0b9e9834283811ae1f005e4866caaf5e Mon Sep 17 00:00:00 2001 From: Nguyen Hai Truong Date: Mon, 18 Nov 2019 11:44:53 -0800 Subject: [PATCH 002/128] Adding docs in Vietnamese Signed-off-by: Nguyen Hai Truong --- .../vi/docs/reference/kubectl/cheatsheet.md | 380 ++++++++++++++++++ 1 file changed, 380 insertions(+) create mode 100644 content/vi/docs/reference/kubectl/cheatsheet.md diff --git a/content/vi/docs/reference/kubectl/cheatsheet.md b/content/vi/docs/reference/kubectl/cheatsheet.md new file mode 100644 index 0000000000000..1455b0e892a1e --- /dev/null +++ b/content/vi/docs/reference/kubectl/cheatsheet.md @@ -0,0 +1,380 @@ +--- +title: kubectl Cheat Sheet +reviewers: +- ngtuna +content_template: templates/concept +card: + name: reference + weight: 30 +--- + +{{% capture overview %}} + +Xem thêm: [Kubectl Overview](/docs/reference/kubectl/overview/) và [JsonPath Guide](/docs/reference/kubectl/jsonpath). + +Trang này là trang tổng quan của lệnh `kubectl`. + +{{% /capture %}} + +{{% capture body %}} + +# kubectl - Cheat Sheet + +## Kubectl Autocomplete + +### BASH + +```bash +source <(kubectl completion bash) # thiết lập autocomplete trong bash vào shell hiện tại, gói bash-completion nên được cài đặt trước tiên +echo "source <(kubectl completion bash)" >> ~/.bashrc # thêm vĩnh viễn autocomplete vào trong bash shell +``` + +Bạn có thể dùng một alias cho `kubectl` cũng hoạt động với completion: + +```bash +alias k=kubectl +complete -F __start_kubectl k +``` + +### ZSH + +```bash +source <(kubectl completion zsh) # thiết lập autocomplete trong zsh vào shell hiện tại +echo "if [ $commands[kubectl] ]; then source <(kubectl completion zsh); fi" >> ~/.zshrc # thêm vĩnh viễn autocomplete vào trong zsh shell +``` + +## Ngữ cảnh và cấu hình kubectl + +Thiết lập cụm Kubernetes nào mà `kubectl` sẽ giao tiếp với và sửa đổi thông tin cấu hình. +Xem tài liệu [Xác thực giữa các cụm với kubeconfig](/docs/tasks/access-application-cluster/configure-access-multiple-clusters/) +để biết thông tin chi tiết của tệp cấu hình. + +```bash +kubectl config view # Hiển thị các thiết lập kubeconfig đã được merged + +# sử dụng nhiều tệp kubeconfig cùng một lúc và xem cấu hình hợp nhất +KUBECONFIG=~/.kube/config:~/.kube/kubconfig2 + +kubectl config view + +# lấy mật khẩu cho người dùng e2e +kubectl config view -o jsonpath='{.users[?(@.name == "e2e")].user.password}' + +kubectl config view -o jsonpath='{.users[].name}' # hiển thị người dùng đầu tiên +kubectl config view -o jsonpath='{.users[*].name}' # lấy danh sách người dùng +kubectl config get-contexts # hiển thị danh sách các ngữ cảnh +kubectl config current-context # hiển thị ngữ cảnh hiện tại +kubectl config use-context my-cluster-name # thiết lập ngữ cảnh mặc định cho my-cluster-name + +# thêm một cụm mới vào kubeconf hỗ trợ xác thực cơ bản +kubectl config set-credentials kubeuser/foo.kubernetes.com --username=kubeuser --password=kubepassword + +# lưu vĩnh viễn namespace cho tất cả các lệnh kubectl tiếp theo trong ngữ cảnh đó +kubectl config set-context --current --namespace=ggckad-s2 + +# thiết lập ngữ cảnh sử dụng tên người dùng và namespace cụ thể +kubectl config set-context gce --user=cluster-admin --namespace=foo \ + && kubectl config use-context gce + +kubectl config unset users.foo # xóa người dùng foo +``` + +## Apply +`apply` quản lý các ứng dụng thông qua các tệp định nghĩa tài nguyên Kubernetes. Nó tạo và cập nhật các tài nguyên trong một cụm thông qua việc chạy `kubectl apply`. Đây là cách được đề xuất để quản lý các ứng dụng Kubernetes trong thực tế. Xem thêm [Kubectl Book](https://kubectl.docs.kubernetes.io). + +## Tạo một đối tượng + +Kubernetes manifests có thể được định nghĩa trong tệp json hoặc yaml. Phần mở rộng `.yaml`, +`.yml`, và `.json` có thể được dùng. + +```bash +kubectl apply -f ./my-manifest.yaml # tạo tài nguyên +kubectl apply -f ./my1.yaml -f ./my2.yaml # tạo từ nhiều tệp +kubectl apply -f ./dir # tạo tài nguyên từ tất cả các tệp manifest trong thư mục dir +kubectl apply -f https://git.io/vPieo # tạo tài nguyên từ url +kubectl create deployment nginx --image=nginx # tạo một deployment nginx +kubectl explain pods,svc # lấy thông tin pod và service manifest + +# Tạo nhiều đối tượng YAML từ stdin +cat < pod.yaml + +kubectl attach my-pod -i # Đính kèm với container đang chạy +kubectl port-forward my-pod 5000:6000 # Lắng nghe trên cổng 5000 của máy local và chuyển tiếp sang cổng 6000 trên pod my-pod +kubectl exec my-pod -- ls / # Chạy lệnh trong một pod (trường hợp 1 container) +kubectl exec my-pod -c my-container -- ls / # Chạy lệnh trong pod (trường hợp nhiều container) +kubectl top pod POD_NAME --containers # Hiển thị số liệu của pod và container chạy trong nó +``` + +## Tương tác với các nodes và cụm + +```bash +kubectl cordon my-node # Đánh dấu my-node là không thể lập lịch +kubectl drain my-node # Gỡ my-node ra khỏi cụm để chuẩn bị cho việc bảo trì +kubectl uncordon my-node # Đánh dấu my-node có thể lập lịch trở lại +kubectl top node my-node # Hiển thị số liệu của node +kubectl cluster-info # Hiển thị địa chỉ master và các services +kubectl cluster-info dump # Kết xuất trạng thái hiện tại của cụm ra ngoài stdout +kubectl cluster-info dump --output-directory=/path/to/cluster-state # Kết xuất trạng thái hiện tại của cụm vào /path/to/cluster-state + +kubectl taint nodes foo dedicated=special-user:NoSchedule +``` + +### Các loại tài nguyên + +Liệt kê tất cả các loại tài nguyên được hỗ trợ cùng với tên viết tắt của chúng, [API group](/docs/concepts/overview/kubernetes-api/#api-groups), cho dù chúng là [namespaced](/docs/concepts/overview/working-with-objects/namespaces), và [Kind](/docs/concepts/overview/working-with-objects/kubernetes-objects): + +```bash +kubectl api-resources +``` + +Các hoạt động khác để khám phá các tài nguyên API: + +```bash +kubectl api-resources --namespaced=true # Tất cả các tài nguyên được đặt tên +kubectl api-resources --namespaced=false # Tất cả các tài nguyên không được đặt tên +kubectl api-resources -o name # Tất cả các tài nguyên với đầu ra đơn giản (chỉ gồm tên tài nguyên) +kubectl api-resources -o wide # Tất cả các tài nguyên với đầu ra mở rộng +kubectl api-resources --verbs=list,get # Tất cả các tài nguyên hỗ trợ yêu cầu "list" và "get" +kubectl api-resources --api-group=extensions # Tất cả tài nguyên trong nhóm API "tiện ích mở rộng" +``` + +### Định dạng đầu ra + +Để xuất thông tin chi tiết ra cửa sổ terminal của bạn theo một định dạng cụ thể, bạn có thể thêm các cờ `-o` hoặc `--output` vào lệnh `kubectl` được hỗ trợ. + +Định dạng đầu ra | Mô tả +--------------| ----------- +`-o=custom-columns=` | In một bảng bằng danh sách, các cột tùy chỉnh được phân tách bằng dấu phẩy +`-o=custom-columns-file=` | In một bảng bằng cách sử dụng mẫu cột tùy chỉnh trong tệp `` +`-o=json` | Xuất ra một đối tượng API theo định dạng JSON +`-o=jsonpath=