From e8093a2f165d00604a4128f20d0cc9c2c7ac8c7d Mon Sep 17 00:00:00 2001 From: locmai Date: Sun, 24 Nov 2019 21:10:55 +0700 Subject: [PATCH 01/14] init cloud controller doc --- .../vi/docs/concepts/architecture/_index.md | 4 + .../concepts/architecture/cloud-controller.md | 241 ++++++++++++++++++ 2 files changed, 245 insertions(+) create mode 100755 content/vi/docs/concepts/architecture/_index.md create mode 100644 content/vi/docs/concepts/architecture/cloud-controller.md diff --git a/content/vi/docs/concepts/architecture/_index.md b/content/vi/docs/concepts/architecture/_index.md new file mode 100755 index 0000000000000..a186578fea3b8 --- /dev/null +++ b/content/vi/docs/concepts/architecture/_index.md @@ -0,0 +1,4 @@ +--- +title: "Kiến Trúc Cluster" +weight: 30 +--- diff --git a/content/vi/docs/concepts/architecture/cloud-controller.md b/content/vi/docs/concepts/architecture/cloud-controller.md new file mode 100644 index 0000000000000..bc5a653bf6e93 --- /dev/null +++ b/content/vi/docs/concepts/architecture/cloud-controller.md @@ -0,0 +1,241 @@ +--- +title: Các khác niệm nền tảng của Cloud Controller Manager +content_template: templates/concept +weight: 40 +--- + +{{% capture overview %}} + +Khái niệm Cloud Controller Manager (để tránh nhầm lẫn với bản binary build cùng tên) được định nghĩa để cho phép các bên cung cấp dịch vụ cloud và bộ core của Kubernetes được phát triển độc lập. Bộ CCM chạy song song với những thành phần khác thuộc máy chủ của một cụm như Controller Manager của Kubernetes, API server, và scheduler. Nó cũng có thể đóng vai trò như một addon cho Kubernetes. + +Cloud Controller Manager này được thiết kế dựa trên cơ chế plugin nhằm cho phép các bên Cloud Provider có thể tích hợp với Kubernetes một cách dễ dàng thông qua các plugin này. Đã có những bản kế hoạch được thiết kế sẵn nhằm mục đích hỗ trợ những cloud provider thay đổi từ mô hình cũ sang mô hình mới đi chung với CCM. + +Tài liệu này thảo luận về những khái niệm đằng sau một bộ CCM và đưa ra những chi tiết về chức năng liên quan của nó. + +Dưới đây là kiến trúc của một cụm Kubernetes khi không đi cùng với Cloud Controller Manager: + +![Pre CCM Kube Arch](/images/docs/pre-ccm-arch.png) + +{{% /capture %}} + +{{% capture body %}} + +## Thiết kế + +Trong sơ đồ trên, Kubernetes và nhà cung cấp dịch vụ cloud được tích hợp thông qua một số thành phần sau: + +- Kubelet +- Kubernetes Controller Manager +- Kubernetes API server + +Bộ CCM hợp nhất tất cả các logic phụ thuộc trên một nền tàng Cloud từ 3 thành phần trên để tạo thành một điểm tích hợp duy nhất với hệ thống cloud này. Sơ đồ kiến trúc khi đi kèm với bộ CCM sẽ trở thành: + +![CCM Kube Arch](/images/docs/post-ccm-arch.png) + +## Các thành phần của một bộ CCM + +Cloud Controller Manager phân nhỏ một số chức năng của Kubernetes và chạy nó độc lập như một quy trình tách biệt. Cụ thể hơn, nó phân nhỏ những bộ controller trong Kubernetes Controller Manager phụ thuộc vào Cloud. Kubernetes Controller Manager sẽ có những bộ controller nhỏ hơn: + +- Node controller +- Volume controller +- Route controller +- Service controller + +Tại phiên bản 1.9, bộ CCM thực hiện chạy những bộ controller sau từ trong danh sách trên: + +- Node controller +- Route controller +- Service controller + +{{< note >}} +Volume controller được bỏ ra khỏi bộ Cloud Controller Manager. Do độ phức tạp lớn ảnh hướng và sẽ tốn nhiều thời gian cũng như nhân lực không đáp ứng đủ cho việc tách hẳn tầng logic liên quan tới Volume từ những bên cung cấp dịch vụ, và quyết định cuối cùng là sẽ không triển khai bộ quản lý Volume như một phần của bộ CCM +{{< /note >}} + +Kết hoạch ban đầu của dự án là hỗ trợ Volume sử dụng bộ Cloud Controller Manager để áp dụng những Volume linh hoạt nhằm dễ dàng tích hợp bổ sung thêm. Tuy nhiên, một giải pháp khác cũng đang được lên kế hoạch để thay thế Volume linh hoạt được biết là CSI. + +Sau khi xem xét về khía cạnh này, chúng tôi quyết định sẽ có một khoảng thời gian nghỉ trước khi CSI trở nên sẵn sàng cho việc sử dụng. + +## Chức năng của bộ Cloud Controller Manager + +Bộ CCM thừa hưởng những tính năng của nó từ các thành phần trong Kubernetes phụ thuộc vào các Cloud Provider. Phần kế tiếp sẽ giới thiệu những thành phần này. + +### 1. Kubernetes Conntroller Manager + +Phần lớn các tính năng của bộ CCM bắt nguồn từ Kubernetes controller manager. Như đã đề cập ở phần trước, bộ CCM bao gồm: + +- Node controller +- Route controller +- Service controller + +#### Node controller + +Node controller có vai trò khởi tạo một Node bằng cách thu thập thông tin về những Node đang chạy trong cụm từ các cloud provider. + +Node controller sẽ thực hiện những chức năng sau: + +1. Khởi tạo một Node với những nhãn dựa trên phân vùng của cloud. +2. Khởi tạo một Node với những thông tin được cung cấp từ cloud, ví dụ như loại máy và kích cỡ. +3. Thu thập địa chỉ mạng của Node và tên của máy chủ +4. Trong trường hợp một Node không có tín hiệu phản hồi, Node controller sẽ kiểm tra xem Node này có thực sự xóa khỏi hệ thống cloud hay chưa. Nếu Node đó không còn tồn tại trên cloud, bộ controller sẽ xóa đối tượng Node đó khỏi cụm Kubernetes. + +#### Route controller + +Route controller đóng vai trò cấu hình Route nằm trong hệ thống cloud để các container trên các Node khác nhau trong cụm Kubernetes có thể giao tiếp với nhau. Bộ Route controller hiện chỉ đáp ứng được cho các cụm Google Kubernetes Engine. + +#### Service controller + +Service controller lắng nghe các sự kiện như một Service được tạo, cập nhật và xóa bỏ. Dựa trên trạng thái hiện tại của các vụ trên Kubernetes, nó cấu hình các bộ tải trọng trên cloud (như ELB của AWS, Google Load Balancer, hay Oracle Cloud Infrastructure LB) nhằm phản ánh trạng thái của các Service trên Kubernetes. Mặt khác, nó đám bảo những dịch vụ phụ trợ cho những dịch vụ cân bằng tải trên cloud được cập nhật mới nhất. + +### 2. Kubelet + +Node controller bao gồm một số tính nằng phụ thuộc vào tầng cloud của Kubelet. Trước khi có bộ CCM, Kubelet đảm nhận vai trò khởi tạo một Node với thông tin chi tiết từ cloud như địa chỉ IP, phân vùng hay loại máy chủ. Với bộ CCM, vai trò này được bộ CCM đảm nhận thay cho Kubelet. + +Với mô hình mới này, Kubelet sẽ khởi tạo một Node nhưng không đi kèm với những thông tin từ cloud. Tuy nhiên, nó sẽ thêm vào một dấu chờ đánh dấu Node sẽ không được sắp xếp công việc (taint) cho tới khi bộ CCM khởi tạo xong Node này với những thông tin cụ thể cung cấp từ Cloud, sau đó nó sẽ xóa những dấu chờ này. + +## Cơ chế Plugin + +Bộ CCM sử dụng interface trong ngôn ngữ Go để đáp ứng việc triển khai trên bất kì hệ thống cloud nào cũng có thể cắm vào sử dụng. Cụ thể hơn, nó sử dụng CloudProvider Interface được định ở [đây](https://github.com/kubernetes/cloud-provider/blob/9b77dc1c384685cb732b3025ed5689dd597a5971/cloud.go#L42-L62). + +Cách triển khai của bốn thành phần trên được tô đậm ở đường dẫn trên, và một số được thực hiện như giao diện chung cho các bên cung cấp dịch vụ cloud, sẽ nằm trong chính nhân gốc của Kubernetes. Cách thực hiện cụ thể cho từng nhà cung cấp dịch vụ sẽ được xây dựng ngoài nhân gốc và triển khai các giao diện xác định trước trong core. + +Để biết thêm chỉ tiết, bạn có thể xem về [Cloud Controller Manager](/docs/tasks/administer-cluster/developing-cloud-controller-manager/). + +## Phân quyền + +Phần này sẽ phân nhỏ quyền hạn cần có cho các API object cung cấp bởi bộ CCM để thực hiện những hành động cần thiết. + +### Node controller + +Node controller chỉ hoạt động với các đối tượng Node. Nó yêu cầu đầy đủ quyền truy cập bao gồm get, list, create, update, patch, watch, và delete một đối tượng Node. + +v1/Node: + +- Get +- List +- Create +- Update +- Patch +- Watch +- Delete + +### Route controller + +Route controller lắng nghe sự kiện tạo ra các Node và cấu hình các Route tương ứng. Nó yêu cầu có quyền truy cập get tới các đối tượng Node. + +v1/Node: + +- Get + +### Service controller + +Service controller lắng nghe các sự kiện khởi tạo, cập nhật và xóa bỏ một đối tượng Service và cấu hình những điểm kết phù hợp. + +Để truy cập các đối tượng Service, nó cần quyền list, và watch. Để cập nhật Service, nó sẽ cần patch và update. + +Để thiết lập các điểm kết cho các Service, nó cần quyền create, list, get, watch, và update. + +v1/Service: + +- List +- Get +- Watch +- Patch +- Update + +### Các vấn đề khác + +Việc thực hiện nhân gốc của bộ CCM yêu cầu cần có quuyền khởi tạo sự kiện và đảm bảo quyền thực thi một số hành động, nó cần có quyền tạo các Service Accounts + +v1/Event: + +- Create +- Patch +- Update + +v1/ServiceAccount: + +- Create + +Với RBAC dựa trên vai trò, bộ CCM cần có ClusterRole tối thiểu: + +```yaml +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: cloud-controller-manager +rules: + - apiGroups: + - "" + resources: + - events + verbs: + - create + - patch + - update + - apiGroups: + - "" + resources: + - nodes + verbs: + - "*" + - apiGroups: + - "" + resources: + - nodes/status + verbs: + - patch + - apiGroups: + - "" + resources: + - services + verbs: + - list + - patch + - update + - watch + - apiGroups: + - "" + resources: + - serviceaccounts + verbs: + - create + - apiGroups: + - "" + resources: + - persistentvolumes + verbs: + - get + - list + - update + - watch + - apiGroups: + - "" + resources: + - endpoints + verbs: + - create + - get + - list + - watch + - update +``` + +## Cách triển khai của các nhà cung cấp + +Sau đây là danh sách các nhà cung cấp dịch vụ cloud đã triển khai bộ CCM: + +- [AWS](https://github.com/kubernetes/cloud-provider-aws) +- [Azure](https://github.com/kubernetes/cloud-provider-azure) +- [BaiduCloud](https://github.com/baidu/cloud-provider-baiducloud) +- [DigitalOcean](https://github.com/digitalocean/digitalocean-cloud-controller-manager) +- [GCP](https://github.com/kubernetes/cloud-provider-gcp) +- [Linode](https://github.com/linode/linode-cloud-controller-manager) +- [OpenStack](https://github.com/kubernetes/cloud-provider-openstack) +- [Oracle](https://github.com/oracle/oci-cloud-controller-manager) +- [TencentCloud](https://github.com/TencentCloud/tencentcloud-cloud-controller-manager) + +## Quản lý Cluster + +Hướng dẫn chi tiết cho việc cấu hình và chạy bộ CCM được cung cấp tại [đây](/docs/tasks/administer-cluster/running-cloud-controller/#cloud-controller-manager). + +{{% /capture %}} From a14740d8be4bcf548aa195831b057893844acd53 Mon Sep 17 00:00:00 2001 From: locmai Date: Sun, 24 Nov 2019 21:49:38 +0700 Subject: [PATCH 02/14] solve 349928135 --- content/vi/docs/concepts/architecture/cloud-controller.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/vi/docs/concepts/architecture/cloud-controller.md b/content/vi/docs/concepts/architecture/cloud-controller.md index bc5a653bf6e93..5683ca1b6287f 100644 --- a/content/vi/docs/concepts/architecture/cloud-controller.md +++ b/content/vi/docs/concepts/architecture/cloud-controller.md @@ -6,7 +6,7 @@ weight: 40 {{% capture overview %}} -Khái niệm Cloud Controller Manager (để tránh nhầm lẫn với bản binary build cùng tên) được định nghĩa để cho phép các bên cung cấp dịch vụ cloud và bộ core của Kubernetes được phát triển độc lập. Bộ CCM chạy song song với những thành phần khác thuộc máy chủ của một cụm như Controller Manager của Kubernetes, API server, và scheduler. Nó cũng có thể đóng vai trò như một addon cho Kubernetes. +Khái niệm Cloud Controller Manager (để tránh nhầm lẫn với bản binary build cùng tên) được định nghĩa để cho phép các bên cung cấp dịch vụ cloud và bộ core của Kubernetes được phát triển độc lập. Bộ CCM chạy đồng thời với những thành phần khác thuộc máy chủ của một cụm như Controller Manager của Kubernetes, API server, và scheduler. Nó cũng có thể đóng vai trò như một addon cho Kubernetes. Cloud Controller Manager này được thiết kế dựa trên cơ chế plugin nhằm cho phép các bên Cloud Provider có thể tích hợp với Kubernetes một cách dễ dàng thông qua các plugin này. Đã có những bản kế hoạch được thiết kế sẵn nhằm mục đích hỗ trợ những cloud provider thay đổi từ mô hình cũ sang mô hình mới đi chung với CCM. From cb643640cba5ba7d0a50641bdaf05fb602211c2a Mon Sep 17 00:00:00 2001 From: locmai Date: Sun, 24 Nov 2019 22:02:58 +0700 Subject: [PATCH 03/14] update r349928835 --- content/vi/docs/concepts/architecture/cloud-controller.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/vi/docs/concepts/architecture/cloud-controller.md b/content/vi/docs/concepts/architecture/cloud-controller.md index 5683ca1b6287f..ca00f06998cbd 100644 --- a/content/vi/docs/concepts/architecture/cloud-controller.md +++ b/content/vi/docs/concepts/architecture/cloud-controller.md @@ -34,7 +34,7 @@ Bộ CCM hợp nhất tất cả các logic phụ thuộc trên một nền tàn ## Các thành phần của một bộ CCM -Cloud Controller Manager phân nhỏ một số chức năng của Kubernetes và chạy nó độc lập như một quy trình tách biệt. Cụ thể hơn, nó phân nhỏ những bộ controller trong Kubernetes Controller Manager phụ thuộc vào Cloud. Kubernetes Controller Manager sẽ có những bộ controller nhỏ hơn: +Cloud Controller Manager phân nhỏ một số chức năng của Kubernetes và chạy nó như một tiến trình tách biệt. Cụ thể hơn, nó phân nhỏ những bộ controller trong Kubernetes Controller Manager phụ thuộc vào Cloud. Kubernetes Controller Manager sẽ có những bộ controller nhỏ hơn: - Node controller - Volume controller From 733f628b867dfc13ffe7f0248633999ed5e8f83d Mon Sep 17 00:00:00 2001 From: locmai Date: Sun, 24 Nov 2019 22:15:50 +0700 Subject: [PATCH 04/14] update r349929569 --- content/vi/docs/concepts/architecture/cloud-controller.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/vi/docs/concepts/architecture/cloud-controller.md b/content/vi/docs/concepts/architecture/cloud-controller.md index ca00f06998cbd..0908b6f2b6f13 100644 --- a/content/vi/docs/concepts/architecture/cloud-controller.md +++ b/content/vi/docs/concepts/architecture/cloud-controller.md @@ -48,7 +48,7 @@ Tại phiên bản 1.9, bộ CCM thực hiện chạy những bộ controller sa - Service controller {{< note >}} -Volume controller được bỏ ra khỏi bộ Cloud Controller Manager. Do độ phức tạp lớn ảnh hướng và sẽ tốn nhiều thời gian cũng như nhân lực không đáp ứng đủ cho việc tách hẳn tầng logic liên quan tới Volume từ những bên cung cấp dịch vụ, và quyết định cuối cùng là sẽ không triển khai bộ quản lý Volume như một phần của bộ CCM +Volume controller được bỏ ra khỏi bộ Cloud Controller Manager. Do độ phức tạp lớn ảnh hướng và sẽ tốn nhiều thời gian cũng như nhân lực không đáp ứng đủ cho việc tách hẳn tầng logic liên quan tới Volume từ những bên cung cấp dịch vụ, và quyết định cuối cùng là sẽ không triển khai bộ quản lý Volume như một phần của bộ CCM. {{< /note >}} Kết hoạch ban đầu của dự án là hỗ trợ Volume sử dụng bộ Cloud Controller Manager để áp dụng những Volume linh hoạt nhằm dễ dàng tích hợp bổ sung thêm. Tuy nhiên, một giải pháp khác cũng đang được lên kế hoạch để thay thế Volume linh hoạt được biết là CSI. From bc4561eb6a0fcb859a277ed627096fb1a09e9df3 Mon Sep 17 00:00:00 2001 From: locmai Date: Sun, 24 Nov 2019 22:25:59 +0700 Subject: [PATCH 05/14] update r349930047 --- content/vi/docs/concepts/architecture/cloud-controller.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/vi/docs/concepts/architecture/cloud-controller.md b/content/vi/docs/concepts/architecture/cloud-controller.md index 0908b6f2b6f13..788293da197ce 100644 --- a/content/vi/docs/concepts/architecture/cloud-controller.md +++ b/content/vi/docs/concepts/architecture/cloud-controller.md @@ -53,7 +53,7 @@ Volume controller được bỏ ra khỏi bộ Cloud Controller Manager. Do đ Kết hoạch ban đầu của dự án là hỗ trợ Volume sử dụng bộ Cloud Controller Manager để áp dụng những Volume linh hoạt nhằm dễ dàng tích hợp bổ sung thêm. Tuy nhiên, một giải pháp khác cũng đang được lên kế hoạch để thay thế Volume linh hoạt được biết là CSI. -Sau khi xem xét về khía cạnh này, chúng tôi quyết định sẽ có một khoảng thời gian nghỉ trước khi CSI trở nên sẵn sàng cho việc sử dụng. +Sau khi xem xét về khía cạnh này, chúng tôi quyết định có một khoảng dừng đo đạc trung gian trước khi CSI trở nên sẵn sàng cho việc sử dụng. ## Chức năng của bộ Cloud Controller Manager From ce4b637ff6b12b76f19ce4b85f9e4bcb99e44848 Mon Sep 17 00:00:00 2001 From: locmai Date: Sun, 24 Nov 2019 22:56:47 +0700 Subject: [PATCH 06/14] update r321969236 --- content/vi/docs/concepts/architecture/cloud-controller.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/vi/docs/concepts/architecture/cloud-controller.md b/content/vi/docs/concepts/architecture/cloud-controller.md index 788293da197ce..2794646e67ff6 100644 --- a/content/vi/docs/concepts/architecture/cloud-controller.md +++ b/content/vi/docs/concepts/architecture/cloud-controller.md @@ -80,7 +80,7 @@ Node controller sẽ thực hiện những chức năng sau: #### Route controller -Route controller đóng vai trò cấu hình Route nằm trong hệ thống cloud để các container trên các Node khác nhau trong cụm Kubernetes có thể giao tiếp với nhau. Bộ Route controller hiện chỉ đáp ứng được cho các cụm Google Kubernetes Engine. +Route controller đóng vai trò cấu hình định tuyến trong nằm trong hệ thống cloud để các container trên các Node khác nhau trong cụm Kubernetes có thể giao tiếp với nhau. Bộ Route controller hiện chỉ đáp ứng được cho các cụm Google Compute Engine. #### Service controller From 5aec95420a0d59e98f748410d0584417424881be Mon Sep 17 00:00:00 2001 From: locmai Date: Sun, 24 Nov 2019 23:07:21 +0700 Subject: [PATCH 07/14] trans to hostname --- content/vi/docs/concepts/architecture/cloud-controller.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/vi/docs/concepts/architecture/cloud-controller.md b/content/vi/docs/concepts/architecture/cloud-controller.md index 2794646e67ff6..9b2120cb21860 100644 --- a/content/vi/docs/concepts/architecture/cloud-controller.md +++ b/content/vi/docs/concepts/architecture/cloud-controller.md @@ -75,8 +75,8 @@ Node controller sẽ thực hiện những chức năng sau: 1. Khởi tạo một Node với những nhãn dựa trên phân vùng của cloud. 2. Khởi tạo một Node với những thông tin được cung cấp từ cloud, ví dụ như loại máy và kích cỡ. -3. Thu thập địa chỉ mạng của Node và tên của máy chủ -4. Trong trường hợp một Node không có tín hiệu phản hồi, Node controller sẽ kiểm tra xem Node này có thực sự xóa khỏi hệ thống cloud hay chưa. Nếu Node đó không còn tồn tại trên cloud, bộ controller sẽ xóa đối tượng Node đó khỏi cụm Kubernetes. +3. Thu thập địa chỉ mạng của Node và hostname. +4. Trong trường hợp một Node không có tín hiệu phản hồi, Node controller sẽ kiểm tra xem Node này có thực sự xóa khỏi hệ thống cloud hay chưa. Nếu Node đó không còn tồn tại trên cloud, bộ controller sẽ xóa Node đó khỏi cụm Kubernetes. #### Route controller From 6717b0afd6100817be6ad653af91038e614e2795 Mon Sep 17 00:00:00 2001 From: locmai Date: Mon, 25 Nov 2019 08:38:54 +0700 Subject: [PATCH 08/14] update based on reviews from truonghn1992 --- .../concepts/architecture/cloud-controller.md | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/content/vi/docs/concepts/architecture/cloud-controller.md b/content/vi/docs/concepts/architecture/cloud-controller.md index 9b2120cb21860..b877b25d250a5 100644 --- a/content/vi/docs/concepts/architecture/cloud-controller.md +++ b/content/vi/docs/concepts/architecture/cloud-controller.md @@ -73,7 +73,7 @@ Node controller có vai trò khởi tạo một Node bằng cách thu thập th Node controller sẽ thực hiện những chức năng sau: -1. Khởi tạo một Node với những nhãn dựa trên phân vùng của cloud. +1. Khởi tạo một Node với các nhãn region/zone. 2. Khởi tạo một Node với những thông tin được cung cấp từ cloud, ví dụ như loại máy và kích cỡ. 3. Thu thập địa chỉ mạng của Node và hostname. 4. Trong trường hợp một Node không có tín hiệu phản hồi, Node controller sẽ kiểm tra xem Node này có thực sự xóa khỏi hệ thống cloud hay chưa. Nếu Node đó không còn tồn tại trên cloud, bộ controller sẽ xóa Node đó khỏi cụm Kubernetes. @@ -84,25 +84,25 @@ Route controller đóng vai trò cấu hình định tuyến trong nằm trong h #### Service controller -Service controller lắng nghe các sự kiện như một Service được tạo, cập nhật và xóa bỏ. Dựa trên trạng thái hiện tại của các vụ trên Kubernetes, nó cấu hình các bộ tải trọng trên cloud (như ELB của AWS, Google Load Balancer, hay Oracle Cloud Infrastructure LB) nhằm phản ánh trạng thái của các Service trên Kubernetes. Mặt khác, nó đám bảo những dịch vụ phụ trợ cho những dịch vụ cân bằng tải trên cloud được cập nhật mới nhất. +Service controller lắng nghe các sự kiện tạo mới, cập nhật và xoá bỏ một service. Dựa trên trạng thái hiện tại của các vụ trên Kubernetes, nó cấu hình các bộ cân bằng tải trên cloud (như ELB của AWS, Google Load Balancer, hay Oracle Cloud Infrastructure LB) nhằm phản ánh trạng thái của các Service trên Kubernetes. Ngoài ra, nó đảm bảo những service backends cho các bộ cần bằng tải trên cloud được cập nhật ### 2. Kubelet -Node controller bao gồm một số tính nằng phụ thuộc vào tầng cloud của Kubelet. Trước khi có bộ CCM, Kubelet đảm nhận vai trò khởi tạo một Node với thông tin chi tiết từ cloud như địa chỉ IP, phân vùng hay loại máy chủ. Với bộ CCM, vai trò này được bộ CCM đảm nhận thay cho Kubelet. +Node controller bao gồm một số tính nằng phụ thuộc vào tầng cloud của Kubelet. Trước khi có bộ CCM, Kubelet đảm nhận vai trò khởi tạo một Node với thông tin chi tiết từ cloud như địa chỉ IP, region hay instance type. Với bộ CCM, vai trò này được bộ CCM đảm nhận thay cho Kubelet. -Với mô hình mới này, Kubelet sẽ khởi tạo một Node nhưng không đi kèm với những thông tin từ cloud. Tuy nhiên, nó sẽ thêm vào một dấu chờ đánh dấu Node sẽ không được sắp xếp công việc (taint) cho tới khi bộ CCM khởi tạo xong Node này với những thông tin cụ thể cung cấp từ Cloud, sau đó nó sẽ xóa những dấu chờ này. +Với mô hình mới này, Kubelet sẽ khởi tạo một Node nhưng không đi kèm với những thông tin từ cloud. Tuy nhiên, nó sẽ thêm vào một dấu chờ (taint) đánh dấu Node sẽ không được lập lịch cho tới khi bộ CCM khởi tạo xong Node này với những thông tin cụ thể cung cấp từ Cloud, sau đó nó sẽ xóa những dấu chờ này. ## Cơ chế Plugin -Bộ CCM sử dụng interface trong ngôn ngữ Go để đáp ứng việc triển khai trên bất kì hệ thống cloud nào cũng có thể cắm vào sử dụng. Cụ thể hơn, nó sử dụng CloudProvider Interface được định ở [đây](https://github.com/kubernetes/cloud-provider/blob/9b77dc1c384685cb732b3025ed5689dd597a5971/cloud.go#L42-L62). +Bộ CCM sử dụng interface trong ngôn ngữ Go cho phép triển khai trên bất kì hệ thống cloud nào cũng có thể plugged in. Cụ thể hơn, nó sử dụng CloudProvider Interface được định nghĩa ở [đây](https://github.com/kubernetes/cloud-provider/blob/9b77dc1c384685cb732b3025ed5689dd597a5971/cloud.go#L42-L62). -Cách triển khai của bốn thành phần trên được tô đậm ở đường dẫn trên, và một số được thực hiện như giao diện chung cho các bên cung cấp dịch vụ cloud, sẽ nằm trong chính nhân gốc của Kubernetes. Cách thực hiện cụ thể cho từng nhà cung cấp dịch vụ sẽ được xây dựng ngoài nhân gốc và triển khai các giao diện xác định trước trong core. +Cách triển khai của bốn bộ controllers được nêu ở trên, và một số được thực hiện như giao diện chung cho các bên cung cấp dịch vụ cloud, sẽ ở trong lõi (core) của Kubernetes. Việc triển khai dành riêng cho từng cloud provider sẽ được xây dựng bên ngoài lõi (core) và triển khai các giao diện được xác định bên trong lõi. -Để biết thêm chỉ tiết, bạn có thể xem về [Cloud Controller Manager](/docs/tasks/administer-cluster/developing-cloud-controller-manager/). +Để biết thêm chỉ tiết, xem [Cloud Controller Manager](/docs/tasks/administer-cluster/developing-cloud-controller-manager/). ## Phân quyền -Phần này sẽ phân nhỏ quyền hạn cần có cho các API object cung cấp bởi bộ CCM để thực hiện những hành động cần thiết. +Phần này sẽ phân nhỏ quyền hạn cần có cho các API object cung cấp bởi bộ CCM để thực hiện những hành động của nó. ### Node controller @@ -128,11 +128,11 @@ v1/Node: ### Service controller -Service controller lắng nghe các sự kiện khởi tạo, cập nhật và xóa bỏ một đối tượng Service và cấu hình những điểm kết phù hợp. +Service controller lắng nghe các sự kiện khởi tạo, cập nhật và xóa bỏ một đối tượng Service và cấu hình những endpoint phù hợp. Để truy cập các đối tượng Service, nó cần quyền list, và watch. Để cập nhật Service, nó sẽ cần patch và update. -Để thiết lập các điểm kết cho các Service, nó cần quyền create, list, get, watch, và update. +Để thiết lập các endpoint cho các Service, nó cần quyền create, list, get, watch, và update. v1/Service: @@ -144,7 +144,7 @@ v1/Service: ### Các vấn đề khác -Việc thực hiện nhân gốc của bộ CCM yêu cầu cần có quuyền khởi tạo sự kiện và đảm bảo quyền thực thi một số hành động, nó cần có quyền tạo các Service Accounts +Việc triển khai lõi của bộ CCM yêu cầu cần có quyền tạo mới sự kiện và đảm bảo quyền thực thi một số hành động, nó cần có quyền tạo các Service Accounts v1/Event: @@ -156,7 +156,7 @@ v1/ServiceAccount: - Create -Với RBAC dựa trên vai trò, bộ CCM cần có ClusterRole tối thiểu: +Với RBAC ClusterRole, bộ CCM cần có ClusterRole tối thiểu: ```yaml apiVersion: rbac.authorization.k8s.io/v1 From a739e0aa60c89742ec8e048632e33461acee3630 Mon Sep 17 00:00:00 2001 From: locmai Date: Tue, 26 Nov 2019 18:11:03 +0700 Subject: [PATCH 09/14] fix several typo issues, add tooltips, replace some words back to the original terms --- .../concepts/architecture/cloud-controller.md | 62 +++++++++---------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/content/vi/docs/concepts/architecture/cloud-controller.md b/content/vi/docs/concepts/architecture/cloud-controller.md index b877b25d250a5..37aa5a7272a66 100644 --- a/content/vi/docs/concepts/architecture/cloud-controller.md +++ b/content/vi/docs/concepts/architecture/cloud-controller.md @@ -6,15 +6,15 @@ weight: 40 {{% capture overview %}} -Khái niệm Cloud Controller Manager (để tránh nhầm lẫn với bản binary build cùng tên) được định nghĩa để cho phép các bên cung cấp dịch vụ cloud và bộ core của Kubernetes được phát triển độc lập. Bộ CCM chạy đồng thời với những thành phần khác thuộc máy chủ của một cụm như Controller Manager của Kubernetes, API server, và scheduler. Nó cũng có thể đóng vai trò như một addon cho Kubernetes. +Khái niệm Cloud Controller Manager (CCM) (để tránh nhầm lẫn với bản binary build cùng tên) được định nghĩa riêng biệt để cho phép các bên cung cấp dịch vụ cloud và thành phần chính của Kubernetes phát triển độc lập với nhau. CCM chạy đồng thời với những thành phần khác thuộc máy chủ của một cluster như Controller Manager của Kubernetes, API server, và Scheduler. Nó cũng có thể đóng vai trò như một addon cho Kubernetes. Cloud Controller Manager này được thiết kế dựa trên cơ chế plugin nhằm cho phép các bên Cloud Provider có thể tích hợp với Kubernetes một cách dễ dàng thông qua các plugin này. Đã có những bản kế hoạch được thiết kế sẵn nhằm mục đích hỗ trợ những cloud provider thay đổi từ mô hình cũ sang mô hình mới đi chung với CCM. -Tài liệu này thảo luận về những khái niệm đằng sau một bộ CCM và đưa ra những chi tiết về chức năng liên quan của nó. +Tài liệu này thảo luận về những khái niệm đằng sau một CCM và đưa ra những chi tiết về chức năng liên quan của nó. -Dưới đây là kiến trúc của một cụm Kubernetes khi không đi cùng với Cloud Controller Manager: +Dưới đây là kiến trúc của một Kubernetes cluster khi không đi cùng với Cloud Controller Manager: -![Pre CCM Kube Arch](/images/docs/pre-ccm-arch.png) +![Kiến trúc CCM Kube trước đây](/images/docs/pre-ccm-arch.png) {{% /capture %}} @@ -28,40 +28,40 @@ Trong sơ đồ trên, Kubernetes và nhà cung cấp dịch vụ cloud được - Kubernetes Controller Manager - Kubernetes API server -Bộ CCM hợp nhất tất cả các logic phụ thuộc trên một nền tàng Cloud từ 3 thành phần trên để tạo thành một điểm tích hợp duy nhất với hệ thống cloud này. Sơ đồ kiến trúc khi đi kèm với bộ CCM sẽ trở thành: +CCM hợp nhất tất cả các logic phụ thuộc trên một nền tàng Cloud từ 3 thành phần trên để tạo thành một điểm tích hợp duy nhất với hệ thống Cloud. Sơ đồ kiến trúc khi đi kèm với CCM sẽ trở thành: -![CCM Kube Arch](/images/docs/post-ccm-arch.png) +![Kiến trúc CCM Kube hiện tại](/images/docs/post-ccm-arch.png) -## Các thành phần của một bộ CCM +## Các thành phần của CCM -Cloud Controller Manager phân nhỏ một số chức năng của Kubernetes và chạy nó như một tiến trình tách biệt. Cụ thể hơn, nó phân nhỏ những bộ controller trong Kubernetes Controller Manager phụ thuộc vào Cloud. Kubernetes Controller Manager sẽ có những bộ controller nhỏ hơn: +Cloud Controller Manager phân nhỏ một số chức năng của Kubernetes controller manager (KCM) và chạy nó như một tiến trình tách biệt. Cụ thể hơn, nó phân nhỏ những controller trong Kubernetes Controller Manager phụ thuộc vào Cloud. Kubernetes Controller Manager sẽ có những controller nhỏ hơn: - Node controller - Volume controller - Route controller - Service controller -Tại phiên bản 1.9, bộ CCM thực hiện chạy những bộ controller sau từ trong danh sách trên: +Tại phiên bản 1.9, CCM thực hiện chạy những controller sau từ trong danh sách trên: - Node controller - Route controller - Service controller {{< note >}} -Volume controller được bỏ ra khỏi bộ Cloud Controller Manager. Do độ phức tạp lớn ảnh hướng và sẽ tốn nhiều thời gian cũng như nhân lực không đáp ứng đủ cho việc tách hẳn tầng logic liên quan tới Volume từ những bên cung cấp dịch vụ, và quyết định cuối cùng là sẽ không triển khai bộ quản lý Volume như một phần của bộ CCM. +Volume controller được bỏ ra khỏi Cloud Controller Manager. Do độ phức tạp lớn ảnh hướng và sẽ tốn nhiều thời gian cũng như nhân lực không đáp ứng đủ cho việc tách hẳn tầng logic liên quan tới Volume từ những bên cung cấp dịch vụ, và quyết định cuối cùng là sẽ không triển khai quản lý Volume như một phần của CCM. {{< /note >}} -Kết hoạch ban đầu của dự án là hỗ trợ Volume sử dụng bộ Cloud Controller Manager để áp dụng những Volume linh hoạt nhằm dễ dàng tích hợp bổ sung thêm. Tuy nhiên, một giải pháp khác cũng đang được lên kế hoạch để thay thế Volume linh hoạt được biết là CSI. +Kết hoạch ban đầu của dự án là hỗ trợ Volume sử dụng Cloud Controller Manager để áp dụng những Flex Volume linh hoạt nhằm dễ dàng tích hợp bổ sung thêm. Tuy nhiên, một giải pháp khác cũng đang được lên kế hoạch để thay thế Flex Volume được biết là CSI. Sau khi xem xét về khía cạnh này, chúng tôi quyết định có một khoảng dừng đo đạc trung gian trước khi CSI trở nên sẵn sàng cho việc sử dụng. -## Chức năng của bộ Cloud Controller Manager +## Chức năng của Cloud Controller Manager -Bộ CCM thừa hưởng những tính năng của nó từ các thành phần trong Kubernetes phụ thuộc vào các Cloud Provider. Phần kế tiếp sẽ giới thiệu những thành phần này. +CCM thừa hưởng những tính năng của nó từ các thành phần trong Kubernetes phụ thuộc vào các Cloud Provider. Phần kế tiếp sẽ giới thiệu những thành phần này. ### 1. Kubernetes Conntroller Manager -Phần lớn các tính năng của bộ CCM bắt nguồn từ Kubernetes controller manager. Như đã đề cập ở phần trước, bộ CCM bao gồm: +Phần lớn các tính năng của CCM bắt nguồn từ Kubernetes controller manager. Như đã đề cập ở phần trước, CCM bao gồm: - Node controller - Route controller @@ -69,44 +69,44 @@ Phần lớn các tính năng của bộ CCM bắt nguồn từ Kubernetes contr #### Node controller -Node controller có vai trò khởi tạo một Node bằng cách thu thập thông tin về những Node đang chạy trong cụm từ các cloud provider. +Node controller có vai trò khởi tạo một Node bằng cách thu thập thông tin về những Node đang chạy trong cluster từ các cloud provider. Node controller sẽ thực hiện những chức năng sau: 1. Khởi tạo một Node với các nhãn region/zone. 2. Khởi tạo một Node với những thông tin được cung cấp từ cloud, ví dụ như loại máy và kích cỡ. 3. Thu thập địa chỉ mạng của Node và hostname. -4. Trong trường hợp một Node không có tín hiệu phản hồi, Node controller sẽ kiểm tra xem Node này có thực sự xóa khỏi hệ thống cloud hay chưa. Nếu Node đó không còn tồn tại trên cloud, bộ controller sẽ xóa Node đó khỏi cụm Kubernetes. +4. Trong trường hợp một Node không có tín hiệu phản hồi, Node controller sẽ kiểm tra xem Node này có thực sự xóa khỏi hệ thống cloud hay chưa. Nếu Node đó không còn tồn tại trên cloud, controller sẽ xóa Node đó khỏi Kubernetes cluster. #### Route controller -Route controller đóng vai trò cấu hình định tuyến trong nằm trong hệ thống cloud để các container trên các Node khác nhau trong cụm Kubernetes có thể giao tiếp với nhau. Bộ Route controller hiện chỉ đáp ứng được cho các cụm Google Compute Engine. +Route controller đóng vai trò cấu hình định tuyến trong nằm trong hệ thống cloud để các container trên các Node khác nhau trong Kubernetes cluster có thể giao tiếp với nhau. Route controller hiện chỉ đáp ứng được cho các Google Compute Engine cluster. #### Service controller -Service controller lắng nghe các sự kiện tạo mới, cập nhật và xoá bỏ một service. Dựa trên trạng thái hiện tại của các vụ trên Kubernetes, nó cấu hình các bộ cân bằng tải trên cloud (như ELB của AWS, Google Load Balancer, hay Oracle Cloud Infrastructure LB) nhằm phản ánh trạng thái của các Service trên Kubernetes. Ngoài ra, nó đảm bảo những service backends cho các bộ cần bằng tải trên cloud được cập nhật +Service controller lắng nghe các sự kiện tạo mới, cập nhật và xoá bỏ một service. Dựa trên trạng thái hiện tại của các vụ trên Kubernetes, nó cấu hình các dịch vụ cân bằng tải trên cloud (như ELB của AWS, Google Load Balancer, hay Oracle Cloud Infrastructure LB) nhằm phản ánh trạng thái của các Service trên Kubernetes. Ngoài ra, nó đảm bảo những service backends cho các dịch vụ cần bằng tải trên cloud được cập nhật ### 2. Kubelet -Node controller bao gồm một số tính nằng phụ thuộc vào tầng cloud của Kubelet. Trước khi có bộ CCM, Kubelet đảm nhận vai trò khởi tạo một Node với thông tin chi tiết từ cloud như địa chỉ IP, region hay instance type. Với bộ CCM, vai trò này được bộ CCM đảm nhận thay cho Kubelet. +Node controller bao gồm một số tính năng phụ thuộc vào tầng cloud của Kubelet. Trước khi có CCM, Kubelet đảm nhận vai trò khởi tạo một Node với thông tin chi tiết từ cloud như địa chỉ IP, region hay instance type. Với CCM, vai trò này được CCM đảm nhận thay cho Kubelet. -Với mô hình mới này, Kubelet sẽ khởi tạo một Node nhưng không đi kèm với những thông tin từ cloud. Tuy nhiên, nó sẽ thêm vào một dấu chờ (taint) đánh dấu Node sẽ không được lập lịch cho tới khi bộ CCM khởi tạo xong Node này với những thông tin cụ thể cung cấp từ Cloud, sau đó nó sẽ xóa những dấu chờ này. +Với mô hình mới này, Kubelet sẽ khởi tạo một Node nhưng không đi kèm với những thông tin từ cloud. Tuy nhiên, nó sẽ thêm vào một dấu {{< glossary_tooltip term_id="taint" text="Taint" >}} để đánh dấu Node sẽ không được lập lịch cho tới khi CCM khởi tạo xong Node này với những thông tin cụ thể cung cấp từ Cloud, sau đó nó sẽ xóa những dấu chờ này. ## Cơ chế Plugin -Bộ CCM sử dụng interface trong ngôn ngữ Go cho phép triển khai trên bất kì hệ thống cloud nào cũng có thể plugged in. Cụ thể hơn, nó sử dụng CloudProvider Interface được định nghĩa ở [đây](https://github.com/kubernetes/cloud-provider/blob/9b77dc1c384685cb732b3025ed5689dd597a5971/cloud.go#L42-L62). +CCM sử dụng interface trong ngôn ngữ Go cho phép triển khai trên bất kì hệ thống cloud nào cũng có thể plugged in. Cụ thể hơn, nó sử dụng CloudProvider Interface được định nghĩa ở [đây](https://github.com/kubernetes/cloud-provider/blob/9b77dc1c384685cb732b3025ed5689dd597a5971/cloud.go#L42-L62). -Cách triển khai của bốn bộ controllers được nêu ở trên, và một số được thực hiện như giao diện chung cho các bên cung cấp dịch vụ cloud, sẽ ở trong lõi (core) của Kubernetes. Việc triển khai dành riêng cho từng cloud provider sẽ được xây dựng bên ngoài lõi (core) và triển khai các giao diện được xác định bên trong lõi. +Cách triển khai của bốn controller được nêu ở trên, và một số được thực hiện như giao diện chung cho các bên cung cấp dịch vụ cloud, sẽ ở trong lõi (core) của Kubernetes. Việc triển khai dành riêng cho từng cloud provider sẽ được xây dựng bên ngoài lõi (core) và triển khai các giao diện được xác định bên trong lõi. Để biết thêm chỉ tiết, xem [Cloud Controller Manager](/docs/tasks/administer-cluster/developing-cloud-controller-manager/). ## Phân quyền -Phần này sẽ phân nhỏ quyền hạn cần có cho các API object cung cấp bởi bộ CCM để thực hiện những hành động của nó. +Phần này sẽ phân nhỏ quyền truy cập cần có cho các API object cung cấp bởi CCM để thực hiện những hành động của nó. ### Node controller -Node controller chỉ hoạt động với các đối tượng Node. Nó yêu cầu đầy đủ quyền truy cập bao gồm get, list, create, update, patch, watch, và delete một đối tượng Node. +Node controller chỉ hoạt động với các Node. Nó yêu cầu đầy đủ quyền truy cập bao gồm get, list, create, update, patch, watch, và delete một Node. v1/Node: @@ -120,7 +120,7 @@ v1/Node: ### Route controller -Route controller lắng nghe sự kiện tạo ra các Node và cấu hình các Route tương ứng. Nó yêu cầu có quyền truy cập get tới các đối tượng Node. +Route controller lắng nghe sự kiện tạo ra các Node và cấu hình các Route tương ứng. Nó yêu cầu có quyền truy cập get tới các đối Node. v1/Node: @@ -128,9 +128,9 @@ v1/Node: ### Service controller -Service controller lắng nghe các sự kiện khởi tạo, cập nhật và xóa bỏ một đối tượng Service và cấu hình những endpoint phù hợp. +Service controller lắng nghe các sự kiện khởi tạo, cập nhật và xóa bỏ một Service và cấu hình những endpoint phù hợp. -Để truy cập các đối tượng Service, nó cần quyền list, và watch. Để cập nhật Service, nó sẽ cần patch và update. +Để truy cập các Service, nó cần quyền list, và watch. Để cập nhật Service, nó sẽ cần patch và update. Để thiết lập các endpoint cho các Service, nó cần quyền create, list, get, watch, và update. @@ -144,7 +144,7 @@ v1/Service: ### Các vấn đề khác -Việc triển khai lõi của bộ CCM yêu cầu cần có quyền tạo mới sự kiện và đảm bảo quyền thực thi một số hành động, nó cần có quyền tạo các Service Accounts +Việc triển khai lõi của CCM yêu cầu cần có quyền tạo mới sự kiện và đảm bảo quyền thực thi một số hành động, nó cần có quyền tạo các Service Accounts v1/Event: @@ -156,7 +156,7 @@ v1/ServiceAccount: - Create -Với RBAC ClusterRole, bộ CCM cần có ClusterRole tối thiểu: +Với RBAC ClusterRole, CCM cần có ClusterRole tối thiểu: ```yaml apiVersion: rbac.authorization.k8s.io/v1 @@ -222,7 +222,7 @@ rules: ## Cách triển khai của các nhà cung cấp -Sau đây là danh sách các nhà cung cấp dịch vụ cloud đã triển khai bộ CCM: +Sau đây là danh sách các nhà cung cấp dịch vụ cloud đã triển khai CCM: - [AWS](https://github.com/kubernetes/cloud-provider-aws) - [Azure](https://github.com/kubernetes/cloud-provider-azure) @@ -236,6 +236,6 @@ Sau đây là danh sách các nhà cung cấp dịch vụ cloud đã triển kha ## Quản lý Cluster -Hướng dẫn chi tiết cho việc cấu hình và chạy bộ CCM được cung cấp tại [đây](/docs/tasks/administer-cluster/running-cloud-controller/#cloud-controller-manager). +Hướng dẫn chi tiết cho việc cấu hình và chạy CCM được cung cấp tại [đây](/docs/tasks/administer-cluster/running-cloud-controller/#cloud-controller-manager). {{% /capture %}} From 1ae6236d2ad4f116fa24d9a8a0ee364dbe853628 Mon Sep 17 00:00:00 2001 From: locmai Date: Tue, 26 Nov 2019 18:55:37 +0700 Subject: [PATCH 10/14] init taint doc --- content/vi/docs/references/glossary/index.md | 11 ++++++++++ content/vi/docs/references/glossary/taint.md | 21 ++++++++++++++++++++ 2 files changed, 32 insertions(+) create mode 100644 content/vi/docs/references/glossary/index.md create mode 100644 content/vi/docs/references/glossary/taint.md diff --git a/content/vi/docs/references/glossary/index.md b/content/vi/docs/references/glossary/index.md new file mode 100644 index 0000000000000..1fca261963dd3 --- /dev/null +++ b/content/vi/docs/references/glossary/index.md @@ -0,0 +1,11 @@ +--- +title: Thuật ngữ chuẩn hóa +layout: glossary +noedit: true +default_active_tag: fundamental +weight: 5 +card: + name: reference + weight: 10 + title: Thuật ngữ +--- diff --git a/content/vi/docs/references/glossary/taint.md b/content/vi/docs/references/glossary/taint.md new file mode 100644 index 0000000000000..1ac1fcbc207d1 --- /dev/null +++ b/content/vi/docs/references/glossary/taint.md @@ -0,0 +1,21 @@ +--- +title: Taint +id: taint +date: 2019-26-11 +full_link: /docs/concepts/configuration/taint-and-toleration/ +short_description: > + Là một đối tượng bao gồm ba thuộc tính bắt buộc: key, value, và effect. Taints (dấu chờ) ngăn cản việc lập lịch cho các pod chạy trên các node hay nhóm các node. + +aka: +tags: + - core-object + - fundamental +--- + +Là một đối tượng bao gồm ba thuộc tính bắt buộc: key, value, và effect. Taints (dấu chờ) ngăn cản việc lập lịch cho các pod chạy trên các node hay nhóm các node. + + + +Taints (dấu chờ) và tolerations hoạt động cùng với nhau để đảm bảo rằng các pod sẽ không lập lịch chạy lên những node không phù hợp. Có thể đặt một hoặc nhiều hơn một dấu chờ lên node. Một node chỉ có thể lập lịch chạy cho một pod với tolerations phù hợp với những dấu taint được cấu hình. + +Taints and {{< glossary_tooltip text="tolerations" term_id="toleration" >}} work together to ensure that pods are not scheduled onto inappropriate nodes. One or more taints are applied to a {{< glossary_tooltip text="node" term_id="node" >}}. A node should only schedule a pod with the matching tolerations for the configured taints. From d83024b0006e5907920294b0b81f00db13c19e85 Mon Sep 17 00:00:00 2001 From: locmai Date: Tue, 26 Nov 2019 19:06:29 +0700 Subject: [PATCH 11/14] fix header Vendor Implementations --- content/vi/docs/concepts/architecture/cloud-controller.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/vi/docs/concepts/architecture/cloud-controller.md b/content/vi/docs/concepts/architecture/cloud-controller.md index 37aa5a7272a66..40ef07d8a63f8 100644 --- a/content/vi/docs/concepts/architecture/cloud-controller.md +++ b/content/vi/docs/concepts/architecture/cloud-controller.md @@ -220,7 +220,7 @@ rules: - update ``` -## Cách triển khai của các nhà cung cấp +## Các nhà cung cấp đã triển khai Sau đây là danh sách các nhà cung cấp dịch vụ cloud đã triển khai CCM: From 60169cfa7ba8d28fdea7a0aa7ba4c1e28dd1c0f9 Mon Sep 17 00:00:00 2001 From: locmai Date: Tue, 26 Nov 2019 19:11:33 +0700 Subject: [PATCH 12/14] fix directory name --- content/vi/docs/{references => reference}/glossary/index.md | 0 content/vi/docs/{references => reference}/glossary/taint.md | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename content/vi/docs/{references => reference}/glossary/index.md (100%) rename content/vi/docs/{references => reference}/glossary/taint.md (100%) diff --git a/content/vi/docs/references/glossary/index.md b/content/vi/docs/reference/glossary/index.md similarity index 100% rename from content/vi/docs/references/glossary/index.md rename to content/vi/docs/reference/glossary/index.md diff --git a/content/vi/docs/references/glossary/taint.md b/content/vi/docs/reference/glossary/taint.md similarity index 100% rename from content/vi/docs/references/glossary/taint.md rename to content/vi/docs/reference/glossary/taint.md From 2cc2953bde071a250dbc1287101f82441c0f744b Mon Sep 17 00:00:00 2001 From: locmai Date: Tue, 26 Nov 2019 19:15:49 +0700 Subject: [PATCH 13/14] temporary remove term_id of node and toleration --- content/vi/docs/reference/glossary/taint.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/content/vi/docs/reference/glossary/taint.md b/content/vi/docs/reference/glossary/taint.md index 1ac1fcbc207d1..335d7a95adff8 100644 --- a/content/vi/docs/reference/glossary/taint.md +++ b/content/vi/docs/reference/glossary/taint.md @@ -17,5 +17,3 @@ Là một đối tượng bao gồm ba thuộc tính bắt buộc: key, value, v Taints (dấu chờ) và tolerations hoạt động cùng với nhau để đảm bảo rằng các pod sẽ không lập lịch chạy lên những node không phù hợp. Có thể đặt một hoặc nhiều hơn một dấu chờ lên node. Một node chỉ có thể lập lịch chạy cho một pod với tolerations phù hợp với những dấu taint được cấu hình. - -Taints and {{< glossary_tooltip text="tolerations" term_id="toleration" >}} work together to ensure that pods are not scheduled onto inappropriate nodes. One or more taints are applied to a {{< glossary_tooltip text="node" term_id="node" >}}. A node should only schedule a pod with the matching tolerations for the configured taints. From 190e6c7d8020b6c972ca502aee2e08d4ad1fbdf5 Mon Sep 17 00:00:00 2001 From: locmai Date: Tue, 26 Nov 2019 19:25:27 +0700 Subject: [PATCH 14/14] solve r350014277 --- content/vi/docs/concepts/architecture/cloud-controller.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/vi/docs/concepts/architecture/cloud-controller.md b/content/vi/docs/concepts/architecture/cloud-controller.md index 40ef07d8a63f8..0f401e9855fcd 100644 --- a/content/vi/docs/concepts/architecture/cloud-controller.md +++ b/content/vi/docs/concepts/architecture/cloud-controller.md @@ -53,7 +53,7 @@ Volume controller được bỏ ra khỏi Cloud Controller Manager. Do độ ph Kết hoạch ban đầu của dự án là hỗ trợ Volume sử dụng Cloud Controller Manager để áp dụng những Flex Volume linh hoạt nhằm dễ dàng tích hợp bổ sung thêm. Tuy nhiên, một giải pháp khác cũng đang được lên kế hoạch để thay thế Flex Volume được biết là CSI. -Sau khi xem xét về khía cạnh này, chúng tôi quyết định có một khoảng dừng đo đạc trung gian trước khi CSI trở nên sẵn sàng cho việc sử dụng. +Sau khi xem xét về khía cạnh này, chúng tôi quyết định sẽ có một khoảng thời gian nghỉ trước khi CSI trở nên sẵn sàng cho việc sử dụng. ## Chức năng của Cloud Controller Manager