Skip to content

Commit

Permalink
Release 27.05.2021
Browse files Browse the repository at this point in the history
* DataLens: added instruction how to create indicator.
* Managed Service for Elasticsearch: security groups support added.
* Managed Service for Elasticsearch: cli instructions added.
* Fixes and improvements.
* Translations updated.
  • Loading branch information
DataUI VCS Robot committed May 27, 2021
1 parent abf76e8 commit 46be594
Show file tree
Hide file tree
Showing 71 changed files with 2,175 additions and 1,304 deletions.
182 changes: 182 additions & 0 deletions en/managed-kubernetes/solutions/custom-dns.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,182 @@
# Integration with a corporate DNS zone

To configure private enterprise DNS zone resolution in a {{ k8s }} cluster, follow the steps below:

1. Set up a work environment.

To run the use case, you will need a service account, a cloud network, and a subnet. You can use existing resources or create new ones.

{% cut "How to create resources" %}

1. Create a [service account](../../iam/operations/sa/create.md) with the `editor` role.
1. Create a [cloud network](../../vpc/operations/network-create.md).
1. In the cloud network, create a [subnet](../../vpc/operations/subnet-create.md).

{% endcut %}

1. Configure the DNS server.

In this scenario's examples, the DNS server has the address `10.129.0.3`, the name `ns.example.com`, and serves a zone called `example.com`. Your DNS servers can be part of {{ vpc-name }} or be accessible via a VPN or {{ interconnect-name }}. IP connectivity between the {{ k8s }} cluster nodes and the DNS servers is required.

1. Create a {{ k8s }} cluster and a group of nodes.

You can use an existing cluster and a group of {{ k8s }} nodes or create new ones.

{% cut "How to create a {{ k8s}} cluster and a group of nodes" %}

{% include [cli-install](../../_includes/cli-install.md) %}

{% include [default-catalogue](../../_includes/default-catalogue.md) %}

Create a {{ k8s }} cluster:

```bash
yc managed-kubernetes cluster create \
--name custom-dns-cluster \
--service-account-name <service_account_name> \
--node-service-account-name <service_account_name> \
--public-ip \
--zone ru-central1-a \
--network-name <cloud_network_name>
```

Execution result:

```bash
done (7m21s)
...
```

Create a node group:

```bash
yc managed-kubernetes node-group create \
--name custom-dns-group \
--cluster-name custom-dns-cluster \
--location zone=ru-central1-b \
--public-ip \
--fixed-size 1
```

Execution result:

```bash
done (2m43s)
...
```

{% endcut %}

1. Configure kubectl.

To run commands for a {{ k8s }} cluster, install and configure the kubectl management console.

{% cut "How to configure kubectl" %}

Install the {{ k8s }} CLI [kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl).

Add the {{ k8s }} cluster credentials to the kubectl configuration file:

```bash
yc managed-kubernetes cluster get-credentials --external --name custom-dns-cluster
```

Execution result:

```text
Context 'yc-custom-dns-cluster' was added as default to kubeconfig '/home/<your home folder>/.kube/config'.
...
```

{% endcut %}

1. Specify a corporate DNS zone.

Create a `custom-zone.yaml` file with the following contents:

```yaml
kind: ConfigMap
apiVersion: v1
metadata:
name: coredns-user
namespace: kube-system
labels:
addonmanager.kubernetes.io/mode: EnsureExists
data:
Corefile: |
# User can put their additional configurations here, for example:
example.com {
errors
cache 30
forward . 10.129.0.3
}
```
Run the command:
```bash
kubectl replace -f custom-zone.yaml
```

Execution result:

```text
configmap/coredns-user replaced
```

1. Create a pod:

```bash
kubectl run jessie-dnsutils \
--image=k8s.gcr.io/jessie-dnsutils \
--restart=Never \
--command sleep infinity
```

Execution result:

```text
pod/jessie-dnsutils created
```

View details of the pod created:

```bash
kubectl describe pod jessie-dnsutils
```

Execution result:

```text
...
Status: Running
...
```

1. Verify DNS integration.

To check that your DNS zone is accessible to the {{ k8s }} cluster services, execute the `nslookup` command in a running container:

```bash
kubectl exec jessie-dnsutils -- nslookup ns.example.com
```

Execution result:

```bash
Server: 10.96.128.2
Address: 10.96.128.2#53
Name: ns.example.com
Address: 10.129.0.3
```

1. Delete the resources created.

To delete the {{ k8s }} cluster, service account, subnet, and network, run the following commands:

```bash
yc managed-kubernetes cluster delete --name custom-dns-cluster
yc iam service-account delete <service account name>
yc vpc subnet delete <cloud subnet name>
yc vpc network delete <cloud network name>
```
2 changes: 2 additions & 0 deletions en/managed-kubernetes/toc.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,8 @@ items:
href: solutions/ingress-cert-manager.md
- name: Backup to Object Storage
href: solutions/backup.md
- name: Integration with a corporate DNS zone
href: solutions/custom-dns.md
- name: Concepts
items:
- name: Relationship between service resources
Expand Down
8 changes: 4 additions & 4 deletions ru/_includes/mdb/mes-tip-connecting-to-public-kibana.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{% note tip %}
Если нет возможности запросить публичный доступ к хостам (например, из соображений безопасности), то Kibana можно воспользоваться, настроив проксирование соединений через виртуальную машину в {{ compute-full-name}} , которая находится в той же [сети](../../vpc/concepts/network.md#network), что и кластер. Подробнее см. в разделе [{#T}](../../managed-elasticsearch/operations/cluster-connect.md).
{% endnote %}

Kibana можно воспользоваться, даже если публичный доступ к хостам запросить невозможно (например, из соображений безопасности). Для этого настройте проксирование соединений через виртуальную машину в {{ compute-full-name }}, которая находится в той же [сети](../../vpc/concepts/network.md#network), что и кластер. Подробнее см. в разделе [{#T}](../../managed-elasticsearch/operations/cluster-connect.md).

{% endnote %}
6 changes: 2 additions & 4 deletions ru/_includes/mdb/sg-rules-concept.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
Особенности работы с группами безопасности:

- Настройки групп безопасности влияют только на возможность подключения к кластеру. Они не влияют на функционирование кластеров: работу репликации, шардирования, возможность снятия резервных копий и другие возможности.

- Даже если кластер и хост, с которого выполняется подключение, находятся в одной группе безопасности, подключение будет невозможно, если в этой группе не заданы правила, разрешающие прохождение трафика между этим хостом и кластером.
- Для подключения к кластеру необходимы правила, разрешающие прохождение трафика между ним и хостом, с которого выполняется подключение, даже если они находятся в одной группе безопасности. По умолчанию такие правила содержатся в группе безопасности, которая создается вместе с облачной сетью. Это правила `Self`, разрешающие неограниченное прохождение трафика внутри группы безопасности.

Однако такие правила по умолчанию содержатся в группе безопасности, которая добавляется автоматически при создании облачной сети. Это правила `Self`, разрешающие неограниченное прохождение трафика внутри группы.
- Настройки групп безопасности влияют только на возможность подключения к кластеру. Они не влияют на функционирование кластеров: работу репликации, шардирования, возможность снятия резервных копий и другие возможности.

Подробнее см. в [документации Virtual Private Cloud](../../vpc/concepts/security-groups.md).
28 changes: 28 additions & 0 deletions ru/cos/release-notes.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,33 @@
# Релизы COI

{% cut "Как узнать свою версию COI" %}

* Чтобы узнать версию изнутри образа (для версии 2.0.4 и выше), выполните команду:

```bash
cat /etc/ycloud/image-info
```

Результат выполнения команды:

```
coi-version: 2.0.4
```

* Чтобы узнать версию в `description` (для версии 2.1.0 и выше), выполните команду:

```bash
yc compute image get <ID или имя образа> --profile preprod --format json | jq -r '.description'
```

Результат выполнения команды:

```bash
Container Optimized Image 2.1.0
```

{% endcut %}

## Версия 2.1.0 {#latest-release}

* Добавлена поддержка файловой системы XFS в [спецификации Docker Compose](concepts/index.md#compose-spec).
Expand Down
11 changes: 11 additions & 0 deletions ru/datalens/operations/chart/create-indicator-chart.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Создание индикатора

Чтобы создать индикатор:
1. На главной странице сервиса {{ datalens-full-name }} нажмите **Создать чарт**.
1. В разделе **Датасет** выберите датасет для визуализации. Если у вас нет датасета, [создайте его](../dataset/create.md).
1. Выберите тип чарта **Индикатор**.
1. Перетащите измерение или показатель из датасета в секцию **Показатель**. Значение отобразится в виде числа.

Дополнительно вы можете изменить размер и цвет индикатора:
1. В секции **Показатель** нажмите значок ![](../../../_assets/datalens/gear.svg).
1. В окне **Настройки индикатора** выберите размер, цвет и нажмите **Применить**.
1 change: 1 addition & 0 deletions ru/datalens/operations/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@
- [{#T}](chart/create-map-chart.md)
- [{#T}](chart/create-table.md)
- [{#T}](chart/create-pivot-table.md)
- [{#T}](chart/create-indicator-chart.md)
- [{#T}](chart/publish.md)
- [{#T}](chart/manage-access.md)

Expand Down
2 changes: 2 additions & 0 deletions ru/datalens/toc.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,8 @@ items:
href: operations/chart/create-table.md
- name: Создание сводной таблицы
href: operations/chart/create-pivot-table.md
- name: Создание индикатора
href: operations/chart/create-indicator-chart.md
- name: Публикация чарта
href: operations/chart/publish.md
- name: Управление доступом к чарту
Expand Down
2 changes: 1 addition & 1 deletion ru/iam/concepts/authorization/access-key.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ _Статические ключи доступа_ — секретный клю
* [{{ message-queue-name }}](/docs/message-queue/)

* [{{ ydb-name }}](../../../ydb/quickstart/aws-instrument/setup.md)
* [{{ ydb-name }}](../../../ydb/quickstart/document-api/aws-setup.md)

#### См. также {#see-also}

Expand Down
2 changes: 1 addition & 1 deletion ru/managed-elasticsearch/concepts/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
- _Пароль пользователя_ `admin`.

{% include [mes-superuser](../../_includes/mdb/mes-superuser.md)%}

- _Версию_ {{ ES }}.

- _Редакцию_ {{ ES }}. Список доступных редакций и поддерживаемых ими возможностей см. в разделе [{#T}](es-editions.md).
Expand Down
15 changes: 15 additions & 0 deletions ru/managed-elasticsearch/concepts/network.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@


При создании кластера вы можете:

- задать сеть для самого кластера;
- задать подсети для каждого из хостов кластера;
- запросить публичный IP-адрес для доступа к хостам кластера с [ролью _Data node_](index.md) извне {{ yandex-cloud }}.
Expand All @@ -22,3 +23,17 @@ FQDN можно использовать для доступа к хосту в
Запросить публичный адрес после создания хоста невозможно, но вы можете заменить какой-либо из имеющихся хостов на новый хост с публичным адресом.

При удалении хоста с публичным FQDN соответствующий этому имени IP-адрес отзывается.

## Группы безопасности {#security-groups}

Для групп безопасности действует принцип «весь трафик, который не разрешен, запрещен». Поэтому правила групп безопасности облачной сети кластера могут препятствовать подключению к кластеру, если ему назначена одна или несколько групп.

Например, пусть хосту с ролью _Data Node_ назначен публичный IP-адрес. Если в правилах групп безопасности нет разрешения на подключение к нему из интернета через порт `443`, подключиться к веб-интерфейсу Kibana не получится. Также нельзя будет работать с хостом, для которого в правилах групп безопасности нет явного разрешения для входящего трафика через порт `9200`.

{% note tip %}

Если вы подключаетесь к кластеру из облачной сети, в которой он находится, [настройте](../operations/cluster-connect.md#configuring-security-groups) группы безопасности и для кластера, и для хоста, с которого выполняется подключение.

{% endnote %}

{% include [sg-rules-concept](../../_includes/mdb/sg-rules-concept.md) %}
71 changes: 71 additions & 0 deletions ru/managed-elasticsearch/operations/cluster-backups.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
# Управление резервными копиями

Сервис {{ mes-name }} позволяет использовать механизм [снапшотов](https://www.elastic.co/guide/en/elasticsearch/reference/current/snapshot-restore.html) {{ ES }} для управления резервными копиями данных. Для работы со снапшотами используется [публичный API {{ ES }}](https://www.elastic.co/guide/en/elasticsearch/reference/current/snapshot-restore-apis.html), а для их хранения — бакет в {{ objstorage-name }}.


## Получить список резервных копий {#list-backups}

1. Найдите в списке репозиториев {{ ES }} тот, который содержит в себе резервные копии в виде снапшотов:

```http
GET https://admin:<пароль>@<FQDN или IP-адрес хоста>:9200/_snapshot/_all
```
Если нужного репозитория нет в списке — [подключите его](./s3-access.md).
1. Получите список снапшотов в репозитории:
```http
GET https://admin:<пароль>@<FQDN или IP-адрес хоста>:9200/_snapshot/<репозиторий>/_all
```
Каждой резервной копии соответствует один снапшот.
## Создать резервную копию {#create-backup}
1. Найдите в списке репозиториев {{ ES }} тот, в котором нужно создать резервную копию в виде снапшота:
```http
GET https://admin:<пароль>@<FQDN или IP-адрес хоста>:9200/_snapshot/_all
```
Если нужного репозитория нет в списке — [подключите его](./s3-access.md).
1. [Создайте снапшот](https://www.elastic.co/guide/en/elasticsearch/reference/current/create-snapshot-api.html) нужных данных или целого кластера в выбранном репозитории:
```http
PUT https://admin:<пароль>@<FQDN или адрес хоста>:9200/_snapshot/<репозиторий>/<снапшот>
```
## Восстановить кластер из резервной копии {#restore}
{% note warning %}
При восстановлении из снапшотов действуют следующие ограничения:
* Версия {{ ES }} в кластере должна совпадать с версией {{ ES }}, в которой был сделан снапшот, или быть новее.
* Для восстановления индексов необходимо, чтобы мажорная версия {{ ES }} в кластере была не больше чем на единицу старше мажорной версии {{ ES }}, в которой сделан снапшот: индексы, созданные в версии 5.0, нельзя восстановить в версии 7.0.
{% endnote %}
1. [Создайте новый кластер {{ ES }}](./cluster-create.md) в нужной конфигурации, но не наполняйте его данными.
При создании кластера выберите:
* Количество и класс хостов, размер и тип хранилища исходя из размера снапшота и требований к быстродействию. При необходимости [повысьте класс хостов](./cluster-update.md#change-resource-preset) или [увеличьте размер хранилища кластера](./cluster-update.md#change-disk-size).
* Версию {{ ES }}, в которой был создан снапшот, или более новую.
1. Закройте открытые индексы с помощью [{{ES}} API](https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-close.html):
```http
POST: https://admin:<пароль>@<FQDN или адрес хоста>:9200/<индекс>/_close
```
Для восстановления всего кластера закройте все открытые индексы. Для восстановления отдельных индексов закройте только их.
1. [Получите список резервных копий](#list-backups) и найдите нужный снапшот.
1. [Запустите операцию восстановления](https://www.elastic.co/guide/en/elasticsearch/reference/current/restore-snapshot-api.html) из нужного снапшота всего кластера или отдельных индексов и потоков данных.
Подробнее о восстановлении из снапшотов см. в [документации {{ ES }}](https://www.elastic.co/guide/en/elasticsearch/reference/current/snapshots-restore-snapshot.html).
Loading

0 comments on commit 46be594

Please sign in to comment.