Как поднять пиринговое соединение между VPC?
| How do I create a peering connection between VPCs?
|
Для примера рассмотрим настройку пирингового соединения между двумя условными VPC — vpc-a и vpc-b.
| Let’s, for example, create a peering connection between two VPCs, vpc-a and vpc-b.
|
Важно! IPv4 CIDR у обоих VPC должен различаться.
|
Caution! IPv4 CIDR must be unique for each VPC.
|
Для настройки выполните следующие шаги:
| To configure, follow these steps:
|
- Перейдите в регион, где работает vpc-a.
- Нажмите
VPC -> VPC Peering Connections -> Create Peering Connection и настройте пиринговое соединение:
- Name:
vpc-a-vpc-b .
- Заполните
Local и Another VPC .
- Перейдите в регион, где работает vpc-b.
- Нажмите
VPC -> VPC Peering Connections .
- Выделите созданное соединение и выберите
Action "Accept Request" .
- Для vpc-a добавьте во все таблицы маршрутизации маршруты до CIDR vpc-b через пиринговое соединение.
- Для vpc-b добавьте во все таблицы маршрутизации маршруты до CIDR vpc-a через пиринговое соединение.
|
- Switch to the region where vpc-a is running.
- Click
VPC -> VPC Peering Connections -> Create Peering Connection and then configure a peering connection:
- Name:
vpc-a-vpc-b .
- Fill in
Local and Another VPC fields.
- Switch to the region where vpc-b is running.
- Click
VPC -> VPC Peering Connections .
- Select the newly created perring connection and click
Action "Accept Request" .
- Add routes to vpc-b’s CIDR over a peering connection to the vpc-a’s routing tables.
- Add routes to vpc-a’s CIDR over a peering connection to the vpc-b’s routing tables.
|
Как создать кластер в новом VPC с доступом через имеющийся bastion-хост?
| How do I create a cluster in a new VPC with access over an existing bastion host?
|
- Выполнить bootstrap базовой инфраструктуры кластера:
|
- Bootstrap the base-infrastructure of the cluster:
|
shell
dhctl bootstrap-phase base-infra –config config
| shell
dhctl bootstrap-phase base-infra –config config
|
- Поднять пиринговое соединение по инструкции выше.
|
- Set up a peering connection using the instructions above.
|
- Продолжить установку кластера. На вопрос про кэш Terraform ответить
y :
|
- Continue installing the cluster, enter
y when asked about the Terraform cache:
|
shell
dhctl bootstrap –config config –ssh-…
| shell
dhctl bootstrap –config config –ssh-…
|
Как создать кластер в новом VPC и развернуть bastion-хост для доступа к узлам?
| How do I create a cluster in a new VPC and set up bastion host to access the nodes?
|
- Выполнить bootstrap базовой инфраструктуры кластера:
|
- Bootstrap the base-infrastructure of the cluster:
|
shell
dhctl bootstrap-phase base-infra –config config
| shell
dhctl bootstrap-phase base-infra –config config
|
- Запустить вручную bastion-хост в subnet -public-0.
|
- Manually set up the bastion host in the subnet -public-0.
|
- Продолжить установку кластера. На вопрос про кэш Terraform ответить
y :
|
- Continue installing the cluster, enter
y when asked about the Terraform cache:
|
shell
dhctl bootstrap –config config –ssh-…
| shell
dhctl bootstrap –config config –ssh-…
|
Особенности настройки bastion
| Configuring a bastion host
|
Поддерживаются сценарии:
- bastion-хост уже создан во внешней VPC:
- Создайте базовую инфраструктуру кластера —
dhctl bootstrap-phase base-infra .
- Настройте пиринговое соединение между внешней и свежесозданной VPC.
- Продолжите установку с указанием bastion-хоста —
dhctl bootstrap --ssh-bastion... .
- bastion-хост требуется поставить в свежесозданной VPC:
- Создайте базовую инфраструктуру кластера —
dhctl bootstrap-phase base-infra .
- Запустите вручную bastion-хост в subnet -public-0.
- Продолжите установку с указанием bastion-хоста —
dhctl bootstrap --ssh-bastion... .
| There are two possible cases:
- A bastion host already exists in an external VPC; in this case, you need to:
- Create a basic infrastructure of the cluster:
dhctl bootstrap-phase base-infra ;
- Set up peering connection between an external and a newly created VPC;
- Continue the installation by specifying the bastion host:
dhctl bootstrap --ssh-bastion...
- A bastion host needs to be deployed to a newly created VPC; in this case, you need to:
- Create a basic infrastructure of the cluster:
dhctl bootstrap-phase base-infra ;
- Manually run a bastion in the -public-0 subnet;
- Continue the installation by specifying the bastion host:
dhctl bootstrap --ssh-bastion...
|
Добавление CloudStatic-узлов в кластер
| Adding CloudStatic nodes to a cluster
|
Для добавления виртуальной машины в качестве узла в кластер выполните следующие шаги:
| To add a pre-created VM as a node to a cluster, follow these steps:
|
- Прикрепите группу безопасности
<prefix>-node к виртуальной машине.
- Прикрепите IAM-роль
<prefix>-node к виртуальной машине.
- Укажите следующие теги у виртуальной машины (чтобы
cloud-controller-manager смог найти виртуальные машины в облаке):
|
- Attach a security group
<prefix>-node to the virtual machine.
- Attach the IAM role
<prefix>-node to the virtual machine.
- Add the following tags to the virtual machine (so that
cloud-controller-manager can find virtual machines in the cloud):
|
text
“kubernetes.io/cluster/" = "shared"
"kubernetes.io/cluster/" = "shared"
| text
“kubernetes.io/cluster/" = "shared"
"kubernetes.io/cluster/" = "shared"
|
- Узнать
cluster_uuid можно с помощью команды:
|
- You can find out the
cluster_uuid using the command:
|
shell
kubectl -n kube-system get cm d8-cluster-uuid -o json | jq -r ‘.data.”cluster-uuid”’
| shell
kubectl -n kube-system get cm d8-cluster-uuid -o json | jq -r ‘.data.”cluster-uuid”’
|
- Узнать
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
| shell
kubectl -n kube-system get secret d8-cluster-configuration -o json | jq -r ‘.data.”cluster-configuration.yaml”’
| base64 -d | grep prefix
|
Как увеличить размер volume в кластере?
| How to increase the size of a volume?
|
Задайте новый размер в соответствующем ресурсе PersistentVolumeClaim в параметре spec.resources.requests.storage .
| Set the new size in the corresponding PersistentVolumeClaim resource, in the spec.resources.requests.storage parameter.
|
Операция проходит полностью автоматически и занимает до одной минуты. Никаких дополнительных действий не требуется.
| The operation is fully automatic and takes up to one minute. No further action is required.
|
За ходом процесса можно наблюдать в events через команду kubectl describe pvc .
| The progress of the process can be observed in events using the command kubectl describe pvc .
|
После изменения volume нужно подождать не менее шести часов и убедиться, что volume находится в состоянии in-use или available , прежде чем станет возможно изменить его еще раз. Подробности можно найти в официальной документации.
|
After modifying a volume, you must wait at least six hours and ensure that the volume is in the in-use or available state before you can modify the same volume. This is sometimes referred to as a cooldown period. You can find details in the official documentation.
|