diff --git a/candi/cloud-providers/gcp/docs/ENVIRONMENT.md b/candi/cloud-providers/gcp/docs/ENVIRONMENT.md index 83d3fde96f..1fa6811316 100644 --- a/candi/cloud-providers/gcp/docs/ENVIRONMENT.md +++ b/candi/cloud-providers/gcp/docs/ENVIRONMENT.md @@ -3,18 +3,16 @@ title: "Cloud provider — GCP: Preparing environment" description: "Configuring GCP for Deckhouse cloud provider operation." --- -You need to create a service account so that Deckhouse can manage resources in the Google Cloud. Below is a brief sequence of steps to create a service account. If you need detailed instructions, you can find them in the [provider's documentation](https://cloud.google.com/iam/docs/service-accounts). +You ned to create a service account so that Deckhouse can manage resources in the Google Cloud. Below is a brief sequence of steps to create a service account. If you need detailed instructions, you can find them in the [provider's documentation](https://cloud.google.com/iam/docs/service-accounts). > **Note!** The created `service account key` cannot be restored, you can only delete and create a new one. ## Setup using Google Cloud Console -Follow this [link](https://console.cloud.google.com/iam-admin/serviceaccounts), select your project and create a new service account or select an existing one. - The account must be assigned several necessary roles: ```text -Compute Admin +Comput Admin Service Account User Network Management Admin ``` diff --git a/candi/cloud-providers/gcp/docs/LAYOUTS_RU.md b/candi/cloud-providers/gcp/docs/LAYOUTS_RU_.md similarity index 98% rename from candi/cloud-providers/gcp/docs/LAYOUTS_RU.md rename to candi/cloud-providers/gcp/docs/LAYOUTS_RU_.md index 9849b8c382..f3759abfa2 100644 --- a/candi/cloud-providers/gcp/docs/LAYOUTS_RU.md +++ b/candi/cloud-providers/gcp/docs/LAYOUTS_RU_.md @@ -7,7 +7,7 @@ description: "Описание схем размещения и взаимоде ## Standard -* Для кластера создается отдельная VPC с [Cloud NAT](https://cloud.google.com/nat/docs/overview). +* Для астера создается отдельная VPC с [Cloud NAT](https://cloud.google.com/nat/docs/overview). * Узлы в кластере не имеют публичных IP-адресов. * Публичные IP-адреса можно назначить на статические и master-узлы: * При этом будет использоваться One-to-One NAT для отображения публичного IP-адреса в IP-адрес узла (следует помнить, что CloudNAT в этом случае использоваться не будет). diff --git a/ee/candi/cloud-providers/vcd/openapi/cluster_configuration.yaml b/ee/candi/cloud-providers/vcd/openapi/cluster_configuration.yaml index 3e5b7923a6..4bf7b23f96 100644 --- a/ee/candi/cloud-providers/vcd/openapi/cluster_configuration.yaml +++ b/ee/candi/cloud-providers/vcd/openapi/cluster_configuration.yaml @@ -2,8 +2,6 @@ kind: VCDClusterConfiguration apiVersions: - apiVersion: deckhouse.io/v1 openAPISpec: - type: object - additionalProperties: false description: | Describes the configuration of a cloud cluster in VCD. diff --git a/modules/021-cni-cilium/docs/README.md b/modules/021-cni-cilium/docs/README.md index b7a738d4e4..8ae522c156 100644 --- a/modules/021-cni-cilium/docs/README.md +++ b/modules/021-cni-cilium/docs/README.md @@ -7,14 +7,14 @@ This module is responsible for providing a network between multiple nodes in a c ## Limitations -1. Service types `NodePort` and `LoadBalancer` do not work with hostNetwork endpoints in the `DSR` LB mode. Switch to `SNAT` if it is required. +`DSR` LB mode. Switch to `SNAT` if it is required. 2. `HostPort` Pods will bind only to [one interface IP](https://github.com/deckhouse/deckhouse/issues/3035). If there are multiple interfaces/IPs present, Cilium will select only one of them, preferring private IP space. 3. Kernel requirements. * The `cni-cilium` module requires a Linux kernel version >= `5.7`. * For the `cni-cilium` module to work together with the [istio](../110-istio/), [openvpn](../500-openvpn/) or [node-local-dns]({% if site.d8Revision == 'CE' %}{{ site.urls.ru}}/documentation/v1/modules/{% else %}..{% endif %}/350-node-local-dns/) module, a Linux kernel version >= `5.7` is required. 4. OS compatibility issues: * Ubuntu: - * not working on 18.04 +1. Service types `NodePort` and `LoadBalancer` do not work with hostNetwork endpoints in the * not working on 18.04 * to work on 20.04 you need to install HWE kernel * CentOS: * 7 (needs new kernel from [repository](http://elrepo.org)) diff --git a/modules/021-cni-cilium/docs/README_RU.md b/modules/021-cni-cilium/docs/README_RU.md index e71ef8cdf8..93e2cb9e60 100644 --- a/modules/021-cni-cilium/docs/README_RU.md +++ b/modules/021-cni-cilium/docs/README_RU.md @@ -11,7 +11,8 @@ description: Модуль cni-cilium Deckhouse обеспечивает рабо 2. `HostPort` поды биндятся только [к одному IP](https://github.com/deckhouse/deckhouse/issues/3035). Если в ОС есть несколько интерфейсов/IP, Cilium выберет один из них, предпочитая «серые» IP-адреса «белым». 3. Требования к ядру: * Для работы модуля `cni-cilium` необходимо ядро Linux версии >= `5.7`. - * Для работы модуля `cni-cilium` совместно с модулем [istio](../110-istio/), [openvpn](../500-openvpn/) или [node-local-dns]({% if site.d8Revision == 'CE' %}{{ site.urls.ru}}/documentation/v1/modules/{% else %}..{% endif %}/350-node-local-dns/) необходимо ядро Linux версии >= `5.7`. + * Для работы модуля `cni-cilium` совместно с модулем [istio](../110-istio/), [openvpn](../500-openvpn/) или +1. Service types `NodePort` and `LoadBalancer` do not work with hostNetwork endpoints in the [node-local-dns]({% if site.d8Revision == 'CE' %}{{ site.urls.ru}}/documentation/v1/modules/{% else %}..{% endif %}/350-node-local-dns/) необходимо ядро Linux версии >= `5.7`. 4. Проблемы совместимости с ОС: * Ubuntu: * не работоспособно на 18.04 diff --git a/modules/030-cloud-provider-gcp/docs/CONFIGURATION.md b/modules/030-cloud-provider-gcp/docs/CONFIGURATION.md deleted file mode 100644 index 78dc317212..0000000000 --- a/modules/030-cloud-provider-gcp/docs/CONFIGURATION.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -title: "Cloud provider — GCP: configuration" ---- - -The module is configured automatically based on the chosen placement strategy defined in the [GCPClusterConfiguration](cluster_configuration.html) struct. In most cases, you do not have to configure the module manually. - -You can configure the number and parameters of provisioning machines in the cloud via the [`NodeGroup`](../../modules/040-node-manager/cr.html#nodegroup) custom resource of the node-manager module. Also, in this custom resource, you can specify the instance class's name for the above group of nodes (the `cloudInstances.ClassReference` parameter of NodeGroup). In the case of the GCP cloud provider, the instance class is the [`GCPInstanceClass`](cr.html#gcpinstanceclass) custom resource that stores specific parameters of the machines. - -The module automatically creates StorageClasses that cover all the available disk types in GCP: - -| Type | Replication | StorageClass Name | -|---|---|---| -| standard | none | pd-standard-not-replicated | -| standard | regional | pd-standard-replicated | -| balanced | none | pd-balanced-not-replicated | -| balanced | regional | pd-balanced-replicated | -| ssd | none | pd-ssd-not-replicated | -| ssd | regional | pd-ssd-replicated | - -Also, it can filter out the unnecessary StorageClasses (you can do this via the `exclude` parameter). - -{% include module-settings.liquid %} diff --git a/modules/030-cloud-provider-gcp/docs/CONFIGURATION_RU.md b/modules/030-cloud-provider-gcp/docs/CONFIGURATION_RU.md deleted file mode 100644 index 3a2e9fa7e4..0000000000 --- a/modules/030-cloud-provider-gcp/docs/CONFIGURATION_RU.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -title: "Cloud provider — GCP: настройки" ---- - -Модуль настраивается автоматически, исходя из выбранной схемы размещения, определяемой в параметрах структуры [GCPClusterConfiguration](cluster_configuration.html). В большинстве случаев нет необходимости ручной конфигурации модуля. - -Количество и параметры процесса заказа машин в облаке настраиваются в custom resource [`NodeGroup`](../../modules/040-node-manager/cr.html#nodegroup) модуля `node-manager`, в котором также указывается название используемого для этой группы узлов инстанс-класса (параметр `cloudInstances.classReference` NodeGroup). Инстанс-класс для cloud-провайдера GCP — это custom resource [`GCPInstanceClass`](cr.html#gcpinstanceclass), в котором указываются конкретные параметры самих машин. - -Модуль автоматически создает StorageClass'ы, покрывающие все варианты дисков в GCP: - -| Тип | Репликация | Имя StorageClass | -|---|---|---| -| standard | none | pd-standard-not-replicated | -| standard | regional | pd-standard-replicated | -| balanced | none | pd-balanced-not-replicated | -| balanced | regional | pd-balanced-replicated | -| ssd | none | pd-ssd-not-replicated | -| ssd | regional | pd-ssd-replicated | - -Также он позволяет отфильтровать ненужные StorageClass'ы, для этого нужно указать их в параметре `exclude`. - -{% include module-settings.liquid %} diff --git a/modules/030-cloud-provider-gcp/docs/CR.md b/modules/030-cloud-provider-gcp/docs/CR.md deleted file mode 100644 index cbf487b466..0000000000 --- a/modules/030-cloud-provider-gcp/docs/CR.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: "Cloud provider — GCP: Custom Resources" ---- - - diff --git a/modules/030-cloud-provider-gcp/docs/CR_RU.md b/modules/030-cloud-provider-gcp/docs/CR_RU.md deleted file mode 100644 index cbf487b466..0000000000 --- a/modules/030-cloud-provider-gcp/docs/CR_RU.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: "Cloud provider — GCP: Custom Resources" ---- - - diff --git a/modules/030-cloud-provider-gcp/docs/EXAMPLES.md b/modules/030-cloud-provider-gcp/docs/EXAMPLES.md deleted file mode 100644 index ac59a81baf..0000000000 --- a/modules/030-cloud-provider-gcp/docs/EXAMPLES.md +++ /dev/null @@ -1,38 +0,0 @@ ---- -title: "Cloud provider — GCP: examples" ---- - -## An example of the `GCPInstanceClass`custom resource - -Below is a simple example of custom resource `GCPInstanceClass` configuration: - -```yaml -apiVersion: deckhouse.io/v1 -kind: GCPInstanceClass -metadata: - name: test -spec: - machineType: n1-standard-1 -``` - -## Configuring security policies on nodes - -There may be many reasons why you may need to restrict or expand incoming/outgoing traffic on cluster VMs in GCP: - -* Allow VMs on a different subnet to connect to cluster nodes. -* Allow connecting to the ports of the static node so that the application can work. -* Restrict access to external resources or other VMs in the cloud for security reasons. - -For all this, additional network tags should be used. - -## Enabling additional network tags on static and master nodes - -This parameter can be set either in an existing cluster or when creating one. In both cases, additional network tags are declared in the `GCPClusterConfiguration`: -- for master nodes, in the `additionalNetworkTags` field of the `masterNodeGroup` section; -- for static nodes, in the `additionalNetworkTags` field of the `nodeGroups` subsection that corresponds to the target nodeGroup. - -The `additionalNetworkTags` field contains an array of strings with network tags names. - -## Enabling additional network tags on ephemeral nodes - -You have to set the `additionalNetworkTags` parameter for all [`GCPInstanceClass`](cr.html#gcpinstanceclass) that require additional network tags. diff --git a/modules/030-cloud-provider-gcp/docs/EXAMPLES_RU.md b/modules/030-cloud-provider-gcp/docs/EXAMPLES_RU.md deleted file mode 100644 index 83f3759fe4..0000000000 --- a/modules/030-cloud-provider-gcp/docs/EXAMPLES_RU.md +++ /dev/null @@ -1,38 +0,0 @@ ---- -title: "Cloud provider — GCP: примеры" ---- - -## Пример custom resource `GCPInstanceClass` - -Ниже представлен простой пример конфигурации custom resource `GCPInstanceClass` : - -```yaml -apiVersion: deckhouse.io/v1 -kind: GCPInstanceClass -metadata: - name: test -spec: - machineType: n1-standard-1 -``` - -## Настройка политик безопасности на узлах - -Вариантов, зачем может понадобиться ограничить или, наоборот, расширить входящий или исходящий трафик на виртуальных машинах кластера в GCP, может быть множество. Например: - -* Разрешить подключение к узлам кластера с виртуальных машин из другой подсети. -* Разрешить подключение к портам статического узла для работы приложения. -* Ограничить доступ к внешним ресурсам или другим виртуальным машинам в облаке по требованию службы безопасности. - -Для всего этого следует применять дополнительные network tags. - -## Установка дополнительных network tags на статических и master-узлах - -Данный параметр можно задать либо при создании кластера, либо в уже существующем кластере. В обоих случаях дополнительные network tags указываются в `GCPClusterConfiguration`: -- для master-узлов — в секции `masterNodeGroup` в поле `additionalNetworkTags`; -- для статических узлов — в секции `nodeGroups` в конфигурации, описывающей соответствующую nodeGroup, в поле `additionalNetworkTags`. - -Поле `additionalNetworkTags` содержит массив строк с именами network tags. - -## Установка дополнительных network tags на эфемерных узлах - -Необходимо указать параметр `additionalNetworkTags` для всех [`GCPInstanceClass`](cr.html#gcpinstanceclass) в кластере, которым нужны дополнительные network tags. diff --git a/modules/030-cloud-provider-gcp/docs/FAQ.md b/modules/030-cloud-provider-gcp/docs/FAQ.md deleted file mode 100644 index 7791ddde16..0000000000 --- a/modules/030-cloud-provider-gcp/docs/FAQ.md +++ /dev/null @@ -1,21 +0,0 @@ ---- -title: "Cloud provider — GCP: FAQ" ---- - -## How do I create a cluster? - -1. Set up a cloud environment. -2. Enable the module or pass the `--extra-config-map-data base64_encoding_of_custom_config` flag with the [module parameters](configuration.html) to the `install.sh` script. -3. Create one or more [GCPInstanceClass](cr.html#gcpinstanceclass) custom resources. -4. Create one or more [NodeGroup](../../modules/040-node-manager/cr.html#nodegroup) custom resources for managing the number and the process of provisioning machines in the cloud. - -## Adding CloudStatic nodes to a cluster - -For the VMs, you want to add to a cluster as nodes, add a `Network Tag` similar to the cluster prefix. - -You can find out `prefix` using the command: - -```shell -kubectl -n kube-system get secret d8-cluster-configuration -o json | jq -r '.data."cluster-configuration.yaml"' \ - | base64 -d | grep prefix -``` diff --git a/modules/030-cloud-provider-gcp/docs/FAQ_RU.md b/modules/030-cloud-provider-gcp/docs/FAQ_RU.md deleted file mode 100644 index f41c3af4fb..0000000000 --- a/modules/030-cloud-provider-gcp/docs/FAQ_RU.md +++ /dev/null @@ -1,21 +0,0 @@ ---- -title: "Cloud provider — GCP: FAQ" ---- - -## Как поднять кластер - -1. Настройте облачное окружение. -2. Включите модуль или передайте флаг `--extra-config-map-data base64_encoding_of_custom_config` [с параметрами модуля](configuration.html) в скрипт установки `install.sh`. -3. Создайте один или несколько custom resource [GCPInstanceClass](cr.html#gcpinstanceclass). -4. Создайте один или несколько custom resource [NodeGroup](../../modules/040-node-manager/cr.html#nodegroup) для управления количеством и процессом заказа машин в облаке. - -## Добавление CloudStatic узлов в кластер - -К виртуальным машинам, которые вы хотите добавить к кластеру в качестве узлов, добавьте `Network Tag`, аналогичный префиксу кластера. - -Префикс кластера можно узнать, воспользовавшись следующей командой: - -```shell -kubectl -n kube-system get secret d8-cluster-configuration -o json | jq -r '.data."cluster-configuration.yaml"' \ - | base64 -d | grep prefix -``` diff --git a/modules/030-cloud-provider-gcp/docs/README.md b/modules/030-cloud-provider-gcp/docs/README.md deleted file mode 100644 index 5e462d1fa5..0000000000 --- a/modules/030-cloud-provider-gcp/docs/README.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: "Cloud provider — GCP" ---- - -The `cloud-provider-gcp` module is responsible for interacting with the [Google](https://cloud.google.com/) cloud resources. It allows the [node manager](../../modules/040-node-manager/) module to use GCP resources for provisioning nodes for the specified [node group](../../modules/040-node-manager/cr.html#nodegroup) (a group of nodes that are acted upon as if they were a single entity). - -The `cloud-provider-gcp` module: -- Manages GCP resources using the `cloud-controller-manager` (CCM) module: - * The CCM module creates network routes for the `PodNetwork` network on the GCP side. - * The CCM module creates LoadBalancers for Kubernetes Service objects that have the `LoadBalancer` type. - * The CCM module updates the metadata of the cluster nodes according to the configuration parameters and deletes nodes that are no longer in GCP. -- Provisions disks in GCP using the `CSI storage` component. -- Enables the necessary CNI plugin (using the [simple bridge](../../modules/035-cni-simple-bridge/)). -- Registers with the [node-manager](../../modules/040-node-manager/) module so that [GCPInstanceClasses](cr.html#gcpinstanceclass) can be used when creating the [NodeGroup](../../modules/040-node-manager/cr.html#nodegroup). diff --git a/modules/030-cloud-provider-gcp/docs/README_RU.md b/modules/030-cloud-provider-gcp/docs/README_RU.md deleted file mode 100644 index 0f6a8aaedd..0000000000 --- a/modules/030-cloud-provider-gcp/docs/README_RU.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: "Cloud provider — GCP" ---- - -Взаимодействие с облачными ресурсами провайдера [Google](https://cloud.google.com/) осуществляется с помощью модуля `cloud-provider-gcp`. Он предоставляет возможность модулю [управления узлами](../../modules/040-node-manager/) использовать ресурсы GCP при заказе узлов для описанной [группы узлов](../../modules/040-node-manager/cr.html#nodegroup). - -Функционал модуля `cloud-provider-gcp`: -- Управляет ресурсами GCP с помощью модуля `cloud-controller-manager`: - * Создает сетевые маршруты для сети `PodNetwork` на стороне GCP. - * Создает LoadBalancer'ы для Service-объектов Kubernetes с типом `LoadBalancer`. - * Актуализирует метаданные узлов кластера согласно описанным параметрам конфигурации и удаляет из кластера узлы, которых уже нет в GCP. -- Заказывает диски в GCP с помощью компонента `CSI storage`. -- Включает необходимый CNI (использует [simple bridge](../../modules/035-cni-simple-bridge/)). -- Регистрируется в модуле [node-manager](../../modules/040-node-manager/), чтобы [GCPInstanceClass'ы](cr.html#gcpinstanceclass) можно было использовать при описании [NodeGroup](../../modules/040-node-manager/cr.html#nodegroup). diff --git a/modules/040-terraform-manager/docs/README.md b/modules/040-terraform-manager/docs/README.md index 400cb5da31..fbbb1c88df 100644 --- a/modules/040-terraform-manager/docs/README.md +++ b/modules/040-terraform-manager/docs/README.md @@ -12,3 +12,5 @@ The module provide tools for working with Terraform in the Kubernetes cluster. * The module is enabled by default if the following secrets are present in the cluster: * `kube-system/d8-provider-cluster-configuration`; * `d8-system/d8-cluster-terraform-state`. + +edecrip