Поддерживаются две схемы размещения. Ниже подробнее о каждой их них.
| Two layouts are supported. Below is more information about each of them.
|
Standard
| Standard
|
- Для кластера создается отдельная VPC с Cloud NAT.
- Узлы в кластере не имеют публичных IP-адресов.
- Публичные IP-адреса можно назначить на статические и master-узлы:
- При этом будет использоваться One-to-One NAT для отображения публичного IP-адреса в IP-адрес узла (следует помнить, что CloudNAT в этом случае использоваться не будет).
- Если master не имеет публичного IP-адреса, для установки и доступа в кластер необходим дополнительный инстанс с публичным IP-адресом (например, bastion-хост).
- Между VPC кластера и другими VPC можно настроить пиринговое соединение.
|
- A separate VPC with Cloud NAT is created for the cluster.
- Nodes in the cluster do not have public IP addresses.
- Public IP addresses can be allocated to master and static nodes:
- In this case, one-to-one NAT is used to translate the public IP address to the node’s IP address (note that CloudNAT is not used in such a case).
- If the master does not have a public IP, then an additional instance with a public IP (aka bastion host) is required for installation tasks and accessing the cluster.
- Peering can also be configured between the cluster VPC and other VPCs.
|
|
|
Пример конфигурации схемы размещения:
| Example of the layout configuration:
|
yaml
apiVersion: deckhouse.io/v1
kind: GCPClusterConfiguration
layout: Standard
standard:
Необязательный параметр. Адреса из этого списка будут использованы для
адресации Cloud NAT.
cloudNATAddresses:
- example-address-1
- example-address-2
subnetworkCIDR: 10.0.0.0/24 # Обязательный параметр.
| yaml
apiVersion: deckhouse.io/v1
kind: GCPClusterConfiguration
layout: Standard
standard:
Optional, compute address names from this list are used as addresses for Cloud NAT.
cloudNATAddresses:
- example-address-1
- example-address-2
subnetworkCIDR: 10.0.0.0/24 # Required.
peeredVPCs:
|
Необязательный параметр, список GCP VPC Networks, с которыми Kubernetes VPC
| Optional, list of GCP VPC Networks with which Kubernetes VPC Network will be peered.
- default
sshKey: “" # Required.
labels:
kube: example
masterNodeGroup:
replicas: 1
zones: # Optional.
- europe-west4-b
instanceClass:
machineType: n1-standard-4 # Required.
image: projects/ubuntu-os-cloud/global/images/ubuntu-1804-bionic-v20190911 # Required.
diskSizeGb: 20 # Optional, local disk is used if not specified.
disableExternalIP: false # Optional, by default master has externalIP.
additionalNetworkTags: # Optional.
- tag1
additionalLabels: # Optional.
kube-node: master
nodeGroups:
- name: static
replicas: 1
zones: # Optional.
- europe-west4-b
instanceClass:
machineType: n1-standard-4 # Required.
image: projects/ubuntu-os-cloud/global/images/ubuntu-1804-bionic-v20190911 # Required.
diskSizeGb: 20 # Optional, local disk is used if not specified.
disableExternalIP: true # Optional, by default nodes do not have externalIP.
additionalNetworkTags: # Optional.
- tag1
additionalLabels: # Optional.
kube-node: static
provider:
region: europe-west4 # Required.
serviceAccountJSON: | # Required.
{
“type”: “service_account”,
“project_id”: “sandbox”,
“private_key_id”: “98sdcj5e8c7asd98j4j3n9csakn”,
“private_key”: “—–BEGIN PRIVATE KEY—–”,
“client_id”: “342975658279248”,
“auth_uri”: “https://accounts.google.com/o/oauth2/auth”,
“token_uri”: “https://oauth2.googleapis.com/token”,
“auth_provider_x509_cert_url”: “https://www.googleapis.com/oauth2/v1/certs”,
“client_x509_cert_url”: “https://www.googleapis.com/robot/v1/metadata/x509/k8s-test%40sandbox.iam.gserviceaccount.com”
}
|
Network будет соединяться через пиринговое соединение.
peeredVPCs:
- default
sshKey: “" # Обязательный параметр.
labels:
kube: example
masterNodeGroup:
replicas: 1
zones: # Необязательный параметр.
- europe-west4-b
instanceClass:
machineType: n1-standard-4 # Обязательный параметр.
image: projects/ubuntu-os-cloud/global/images/ubuntu-1804-bionic-v20190911 # Обязательный параметр.
diskSizeGb: 20 # Необязательный параметр. Если не указан — используется локальный диск.
disableExternalIP: false # Необязательный параметр, по умолчанию master-узел имеет externalIP.
additionalNetworkTags: # Необязательный параметр.
- tag1
additionalLabels: # Необязательный параметр.
kube-node: master
nodeGroups:
- name: static
replicas: 1
zones: # Необязательный параметр.
- europe-west4-b
instanceClass:
machineType: n1-standard-4 # Обязательный параметр.
image: projects/ubuntu-os-cloud/global/images/ubuntu-1804-bionic-v20190911 # Обязательный параметр.
diskSizeGb: 20 # Необязательный параметр. Если не указан — используется локальный диск.
disableExternalIP: true # Необязательный параметр, по умолчанию узлы не имеют externalIP.
additionalNetworkTags: # Необязательный параметр.
- tag1
additionalLabels: # Необязательный параметр.
kube-node: static
provider:
region: europe-west4 # Обязательный параметр.
serviceAccountJSON: | # Обязательный параметр.
{
“type”: “service_account”,
“project_id”: “sandbox”,
“private_key_id”: “98sdcj5e8c7asd98j4j3n9csakn”,
“private_key”: “—–BEGIN PRIVATE KEY—–”,
“client_id”: “342975658279248”,
“auth_uri”: “https://accounts.google.com/o/oauth2/auth”,
“token_uri”: “https://oauth2.googleapis.com/token”,
“auth_provider_x509_cert_url”: “https://www.googleapis.com/oauth2/v1/certs”,
“client_x509_cert_url”: “https://www.googleapis.com/robot/v1/metadata/x509/k8s-test%40sandbox.iam.gserviceaccount.com”
}
| WithoutNAT
|
WithoutNAT
|
- A dedicated VPC is created for the cluster; all cluster nodes have public IP addresses.
- Peering can be configured between the cluster VPC and other VPCs.
|
- Для кластера создается отдельная VPC, все узлы кластера имеют публичные IP-адреса.
- Между VPC кластера и другими VPC можно настроить пиринговое соединение.
|
|
| Example of the layout configuration:
|
Пример конфигурации схемы размещения:
| yaml
apiVersion: deckhouse.io/v1
kind: GCPClusterConfiguration
layout: WithoutNAT
subnetworkCIDR: 10.0.0.0/24 # Required.
|
yaml
apiVersion: deckhouse.io/v1
kind: GCPClusterConfiguration
layout: WithoutNAT
subnetworkCIDR: 10.0.0.0/24 # Обязательный параметр.
| Optional, list of GCP VPC Networks with which Kubernetes VPC Network will be peered.
peeredVPCs:
- default
labels:
kube: example
masterNodeGroup:
replicas: 1
zones: # Optional.
- europe-west4-b
instanceClass:
machineType: n1-standard-4 # Required.
image: projects/ubuntu-os-cloud/global/images/ubuntu-1804-bionic-v20190911 # Required.
diskSizeGb: 20 # Optional, local disk is used if not specified.
additionalNetworkTags: # Optional.
- tag1
additionalLabels: # Optional.
kube-node: master
nodeGroups:
- name: static
replicas: 1
zones: # Optional.
- europe-west4-b
instanceClass:
machineType: n1-standard-4 # Required.
image: projects/ubuntu-os-cloud/global/images/ubuntu-1804-bionic-v20190911 # Required.
diskSizeGb: 20 # Optional, local disk is used if not specified.
additionalNetworkTags: # Optional.
- tag1
additionalLabels: # Optional.
kube-node: static
provider:
region: europe-west4 # Required.
serviceAccountJSON: | # Required.
{
“type”: “service_account”,
“project_id”: “sandbox”,
“private_key_id”: “98sdcj5e8c7asd98j4j3n9csakn”,
“private_key”: “—–BEGIN PRIVATE KEY—–”,
“client_id”: “342975658279248”,
“auth_uri”: “https://accounts.google.com/o/oauth2/auth”,
“token_uri”: “https://oauth2.googleapis.com/token”,
“auth_provider_x509_cert_url”: “https://www.googleapis.com/oauth2/v1/certs”,
“client_x509_cert_url”: “https://www.googleapis.com/robot/v1/metadata/x509/k8s-test%40sandbox.iam.gserviceaccount.com”
}
|
Необязательный параметр, список GCP VPC Networks, с которыми Kubernetes VPC
| |
Network будет соединяться через пиринговое соединение.
peeredVPCs:
- default
labels:
kube: example
masterNodeGroup:
replicas: 1
zones: # Необязательный параметр.
- europe-west4-b
instanceClass:
machineType: n1-standard-4 # Обязательный параметр.
image: projects/ubuntu-os-cloud/global/images/ubuntu-1804-bionic-v20190911 # Обязательный параметр.
diskSizeGb: 20 # Необязательный параметр, Если не указан — используется локальный диск.
additionalNetworkTags: # Необязательный параметр.
- tag1
additionalLabels: # Необязательный параметр.
kube-node: master
nodeGroups:
- name: static
replicas: 1
zones: # Необязательный параметр.
- europe-west4-b
instanceClass:
machineType: n1-standard-4 # Обязательный параметр.
image: projects/ubuntu-os-cloud/global/images/ubuntu-1804-bionic-v20190911 # Обязательный параметр.
diskSizeGb: 20 # Необязательный параметр. Если не указан — используется локальный диск.
additionalNetworkTags: # Необязательный параметр.
- tag1
additionalLabels: # Необязательный параметр.
kube-node: static
provider:
region: europe-west4 # Обязательный параметр.
serviceAccountJSON: | # Обязательный параметр.
{
“type”: “service_account”,
“project_id”: “sandbox”,
“private_key_id”: “98sdcj5e8c7asd98j4j3n9csakn”,
“private_key”: “—–BEGIN PRIVATE KEY—–”,
“client_id”: “342975658279248”,
“auth_uri”: “https://accounts.google.com/o/oauth2/auth”,
“token_uri”: “https://oauth2.googleapis.com/token”,
“auth_provider_x509_cert_url”: “https://www.googleapis.com/oauth2/v1/certs”,
“client_x509_cert_url”: “https://www.googleapis.com/robot/v1/metadata/x509/k8s-test%40sandbox.iam.gserviceaccount.com”
}
| |