Yandex

v0.10.0 published on Thursday, Nov 18, 2021 by Pulumi

KubernetesCluster

Creates a Yandex Kubernetes Cluster.

Example Usage

using Pulumi;
using Yandex = Pulumi.Yandex;

class MyStack : Stack
{
    public MyStack()
    {
        var zonalClusterResourceName = new Yandex.KubernetesCluster("zonalClusterResourceName", new Yandex.KubernetesClusterArgs
        {
            Description = "description",
            KmsProvider = new Yandex.Inputs.KubernetesClusterKmsProviderArgs
            {
                KeyId = yandex_kms_symmetric_key.Kms_key_resource_name.Id,
            },
            Labels = 
            {
                { "my_key", "my_value" },
                { "my_other_key", "my_other_value" },
            },
            Master = new Yandex.Inputs.KubernetesClusterMasterArgs
            {
                MaintenancePolicy = new Yandex.Inputs.KubernetesClusterMasterMaintenancePolicyArgs
                {
                    AutoUpgrade = true,
                    MaintenanceWindow = 
                    {
                        
                        {
                            { "duration", "3h" },
                            { "startTime", "15:00" },
                        },
                    },
                },
                PublicIp = true,
                SecurityGroupIds = 
                {
                    yandex_vpc_security_group.Security_group_name.Id,
                },
                Version = "1.17",
                Zonal = new Yandex.Inputs.KubernetesClusterMasterZonalArgs
                {
                    SubnetId = yandex_vpc_subnet.Subnet_resource_name.Id,
                    Zone = yandex_vpc_subnet.Subnet_resource_name.Zone,
                },
            },
            NetworkId = yandex_vpc_network.Network_resource_name.Id,
            NetworkPolicyProvider = "CALICO",
            NodeServiceAccountId = yandex_iam_service_account.Node_service_account_resource_name.Id,
            ReleaseChannel = "RAPID",
            ServiceAccountId = yandex_iam_service_account.Service_account_resource_name.Id,
        });
    }

}
package main

import (
	"github.com/pulumi/pulumi-yandex/sdk/go/yandex"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := yandex.NewKubernetesCluster(ctx, "zonalClusterResourceName", &yandex.KubernetesClusterArgs{
			Description: pulumi.String("description"),
			KmsProvider: &KubernetesClusterKmsProviderArgs{
				KeyId: pulumi.Any(yandex_kms_symmetric_key.Kms_key_resource_name.Id),
			},
			Labels: pulumi.StringMap{
				"my_key":       pulumi.String("my_value"),
				"my_other_key": pulumi.String("my_other_value"),
			},
			Master: &KubernetesClusterMasterArgs{
				MaintenancePolicy: &KubernetesClusterMasterMaintenancePolicyArgs{
					AutoUpgrade: pulumi.Bool(true),
					MaintenanceWindow: []map[string]interface{}{
						map[string]interface{}{
							"duration":  "3h",
							"startTime": "15:00",
						},
					},
				},
				PublicIp: pulumi.Bool(true),
				SecurityGroupIds: pulumi.StringArray{
					pulumi.Any(yandex_vpc_security_group.Security_group_name.Id),
				},
				Version: pulumi.String("1.17"),
				Zonal: &KubernetesClusterMasterZonalArgs{
					SubnetId: pulumi.Any(yandex_vpc_subnet.Subnet_resource_name.Id),
					Zone:     pulumi.Any(yandex_vpc_subnet.Subnet_resource_name.Zone),
				},
			},
			NetworkId:             pulumi.Any(yandex_vpc_network.Network_resource_name.Id),
			NetworkPolicyProvider: pulumi.String("CALICO"),
			NodeServiceAccountId:  pulumi.Any(yandex_iam_service_account.Node_service_account_resource_name.Id),
			ReleaseChannel:        pulumi.String("RAPID"),
			ServiceAccountId:      pulumi.Any(yandex_iam_service_account.Service_account_resource_name.Id),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
import pulumi
import pulumi_yandex as yandex

zonal_cluster_resource_name = yandex.KubernetesCluster("zonalClusterResourceName",
    description="description",
    kms_provider=yandex.KubernetesClusterKmsProviderArgs(
        key_id=yandex_kms_symmetric_key["kms_key_resource_name"]["id"],
    ),
    labels={
        "my_key": "my_value",
        "my_other_key": "my_other_value",
    },
    master=yandex.KubernetesClusterMasterArgs(
        maintenance_policy=yandex.KubernetesClusterMasterMaintenancePolicyArgs(
            auto_upgrade=True,
            maintenance_window=[{
                "duration": "3h",
                "startTime": "15:00",
            }],
        ),
        public_ip=True,
        security_group_ids=[yandex_vpc_security_group["security_group_name"]["id"]],
        version="1.17",
        zonal=yandex.KubernetesClusterMasterZonalArgs(
            subnet_id=yandex_vpc_subnet["subnet_resource_name"]["id"],
            zone=yandex_vpc_subnet["subnet_resource_name"]["zone"],
        ),
    ),
    network_id=yandex_vpc_network["network_resource_name"]["id"],
    network_policy_provider="CALICO",
    node_service_account_id=yandex_iam_service_account["node_service_account_resource_name"]["id"],
    release_channel="RAPID",
    service_account_id=yandex_iam_service_account["service_account_resource_name"]["id"])
import * as pulumi from "@pulumi/pulumi";
import * as yandex from "@pulumi/yandex";

const zonalClusterResourceName = new yandex.KubernetesCluster("zonal_cluster_resource_name", {
    description: "description",
    kmsProvider: {
        keyId: yandex_kms_symmetric_key_kms_key_resource_name.id,
    },
    labels: {
        my_key: "my_value",
        my_other_key: "my_other_value",
    },
    master: {
        maintenancePolicy: {
            autoUpgrade: true,
            maintenanceWindows: [{
                duration: "3h",
                startTime: "15:00",
            }],
        },
        publicIp: true,
        securityGroupIds: [yandex_vpc_security_group_security_group_name.id],
        version: "1.17",
        zonal: {
            subnetId: yandex_vpc_subnet_subnet_resource_name.id,
            zone: yandex_vpc_subnet_subnet_resource_name.zone,
        },
    },
    networkId: yandex_vpc_network_network_resource_name.id,
    networkPolicyProvider: "CALICO",
    nodeServiceAccountId: yandex_iam_service_account_node_service_account_resource_name.id,
    releaseChannel: "RAPID",
    serviceAccountId: yandex_iam_service_account_service_account_resource_name.id,
});

Create a KubernetesCluster Resource

new KubernetesCluster(name: string, args: KubernetesClusterArgs, opts?: CustomResourceOptions);
@overload
def KubernetesCluster(resource_name: str,
                      opts: Optional[ResourceOptions] = None,
                      cluster_ipv4_range: Optional[str] = None,
                      cluster_ipv6_range: Optional[str] = None,
                      description: Optional[str] = None,
                      folder_id: Optional[str] = None,
                      kms_provider: Optional[KubernetesClusterKmsProviderArgs] = None,
                      labels: Optional[Mapping[str, str]] = None,
                      master: Optional[KubernetesClusterMasterArgs] = None,
                      name: Optional[str] = None,
                      network_id: Optional[str] = None,
                      network_implementation: Optional[KubernetesClusterNetworkImplementationArgs] = None,
                      network_policy_provider: Optional[str] = None,
                      node_ipv4_cidr_mask_size: Optional[int] = None,
                      node_service_account_id: Optional[str] = None,
                      release_channel: Optional[str] = None,
                      service_account_id: Optional[str] = None,
                      service_ipv4_range: Optional[str] = None,
                      service_ipv6_range: Optional[str] = None)
@overload
def KubernetesCluster(resource_name: str,
                      args: KubernetesClusterArgs,
                      opts: Optional[ResourceOptions] = None)
func NewKubernetesCluster(ctx *Context, name string, args KubernetesClusterArgs, opts ...ResourceOption) (*KubernetesCluster, error)
public KubernetesCluster(string name, KubernetesClusterArgs args, CustomResourceOptions? opts = null)
name string
The unique name of the resource.
args KubernetesClusterArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name str
The unique name of the resource.
args KubernetesClusterArgs
The arguments to resource properties.
opts ResourceOptions
Bag of options to control resource's behavior.
ctx Context
Context object for the current deployment.
name string
The unique name of the resource.
args KubernetesClusterArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name string
The unique name of the resource.
args KubernetesClusterArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.

KubernetesCluster Resource Properties

To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

Inputs

The KubernetesCluster resource accepts the following input properties:

Master KubernetesClusterMasterArgs
Kubernetes master configuration options. The structure is documented below.
NetworkId string
The ID of the cluster network.
NodeServiceAccountId string
Service account to be used by the worker nodes of the Kubernetes cluster to access Container Registry or to push node logs and metrics.
ServiceAccountId string
Service account to be used for provisioning Compute Cloud and VPC resources for Kubernetes cluster. Selected service account should have edit role on the folder where the Kubernetes cluster will be located and on the folder where selected network resides.
ClusterIpv4Range string
CIDR block. IP range for allocating pod addresses. It should not overlap with any subnet in the network the Kubernetes cluster located in. Static routes will be set up for this CIDR blocks in node subnets.
ClusterIpv6Range string
Identical to cluster_ipv4_range but for IPv6 protocol.
Description string
A description of the Kubernetes cluster.
FolderId string
The ID of the folder that the Kubernetes cluster belongs to. If it is not provided, the default provider folder is used.
KmsProvider KubernetesClusterKmsProviderArgs
cluster KMS provider parameters.
Labels Dictionary<string, string>
A set of key/value label pairs to assign to the Kubernetes cluster.
Name string
Name of a specific Kubernetes cluster.
NetworkImplementation KubernetesClusterNetworkImplementationArgs
(Optional) Network Implementation options. The structure is documented below.
NetworkPolicyProvider string
Network policy provider for the cluster. Possible values: CALICO.
NodeIpv4CidrMaskSize int
Size of the masks that are assigned to each node in the cluster. Effectively limits maximum number of pods for each node.
ReleaseChannel string
Cluster release channel.
ServiceIpv4Range string
CIDR block. IP range Kubernetes service Kubernetes cluster IP addresses will be allocated from. It should not overlap with any subnet in the network the Kubernetes cluster located in.
ServiceIpv6Range string
Identical to service_ipv4_range but for IPv6 protocol.
Master KubernetesClusterMasterArgs
Kubernetes master configuration options. The structure is documented below.
NetworkId string
The ID of the cluster network.
NodeServiceAccountId string
Service account to be used by the worker nodes of the Kubernetes cluster to access Container Registry or to push node logs and metrics.
ServiceAccountId string
Service account to be used for provisioning Compute Cloud and VPC resources for Kubernetes cluster. Selected service account should have edit role on the folder where the Kubernetes cluster will be located and on the folder where selected network resides.
ClusterIpv4Range string
CIDR block. IP range for allocating pod addresses. It should not overlap with any subnet in the network the Kubernetes cluster located in. Static routes will be set up for this CIDR blocks in node subnets.
ClusterIpv6Range string
Identical to cluster_ipv4_range but for IPv6 protocol.
Description string
A description of the Kubernetes cluster.
FolderId string
The ID of the folder that the Kubernetes cluster belongs to. If it is not provided, the default provider folder is used.
KmsProvider KubernetesClusterKmsProviderArgs
cluster KMS provider parameters.
Labels map[string]string
A set of key/value label pairs to assign to the Kubernetes cluster.
Name string
Name of a specific Kubernetes cluster.
NetworkImplementation KubernetesClusterNetworkImplementationArgs
(Optional) Network Implementation options. The structure is documented below.
NetworkPolicyProvider string
Network policy provider for the cluster. Possible values: CALICO.
NodeIpv4CidrMaskSize int
Size of the masks that are assigned to each node in the cluster. Effectively limits maximum number of pods for each node.
ReleaseChannel string
Cluster release channel.
ServiceIpv4Range string
CIDR block. IP range Kubernetes service Kubernetes cluster IP addresses will be allocated from. It should not overlap with any subnet in the network the Kubernetes cluster located in.
ServiceIpv6Range string
Identical to service_ipv4_range but for IPv6 protocol.
master KubernetesClusterMasterArgs
Kubernetes master configuration options. The structure is documented below.
networkId string
The ID of the cluster network.
nodeServiceAccountId string
Service account to be used by the worker nodes of the Kubernetes cluster to access Container Registry or to push node logs and metrics.
serviceAccountId string
Service account to be used for provisioning Compute Cloud and VPC resources for Kubernetes cluster. Selected service account should have edit role on the folder where the Kubernetes cluster will be located and on the folder where selected network resides.
clusterIpv4Range string
CIDR block. IP range for allocating pod addresses. It should not overlap with any subnet in the network the Kubernetes cluster located in. Static routes will be set up for this CIDR blocks in node subnets.
clusterIpv6Range string
Identical to cluster_ipv4_range but for IPv6 protocol.
description string
A description of the Kubernetes cluster.
folderId string
The ID of the folder that the Kubernetes cluster belongs to. If it is not provided, the default provider folder is used.
kmsProvider KubernetesClusterKmsProviderArgs
cluster KMS provider parameters.
labels {[key: string]: string}
A set of key/value label pairs to assign to the Kubernetes cluster.
name string
Name of a specific Kubernetes cluster.
networkImplementation KubernetesClusterNetworkImplementationArgs
(Optional) Network Implementation options. The structure is documented below.
networkPolicyProvider string
Network policy provider for the cluster. Possible values: CALICO.
nodeIpv4CidrMaskSize number
Size of the masks that are assigned to each node in the cluster. Effectively limits maximum number of pods for each node.
releaseChannel string
Cluster release channel.
serviceIpv4Range string
CIDR block. IP range Kubernetes service Kubernetes cluster IP addresses will be allocated from. It should not overlap with any subnet in the network the Kubernetes cluster located in.
serviceIpv6Range string
Identical to service_ipv4_range but for IPv6 protocol.
master KubernetesClusterMasterArgs
Kubernetes master configuration options. The structure is documented below.
network_id str
The ID of the cluster network.
node_service_account_id str
Service account to be used by the worker nodes of the Kubernetes cluster to access Container Registry or to push node logs and metrics.
service_account_id str
Service account to be used for provisioning Compute Cloud and VPC resources for Kubernetes cluster. Selected service account should have edit role on the folder where the Kubernetes cluster will be located and on the folder where selected network resides.
cluster_ipv4_range str
CIDR block. IP range for allocating pod addresses. It should not overlap with any subnet in the network the Kubernetes cluster located in. Static routes will be set up for this CIDR blocks in node subnets.
cluster_ipv6_range str
Identical to cluster_ipv4_range but for IPv6 protocol.
description str
A description of the Kubernetes cluster.
folder_id str
The ID of the folder that the Kubernetes cluster belongs to. If it is not provided, the default provider folder is used.
kms_provider KubernetesClusterKmsProviderArgs
cluster KMS provider parameters.
labels Mapping[str, str]
A set of key/value label pairs to assign to the Kubernetes cluster.
name str
Name of a specific Kubernetes cluster.
network_implementation KubernetesClusterNetworkImplementationArgs
(Optional) Network Implementation options. The structure is documented below.
network_policy_provider str
Network policy provider for the cluster. Possible values: CALICO.
node_ipv4_cidr_mask_size int
Size of the masks that are assigned to each node in the cluster. Effectively limits maximum number of pods for each node.
release_channel str
Cluster release channel.
service_ipv4_range str
CIDR block. IP range Kubernetes service Kubernetes cluster IP addresses will be allocated from. It should not overlap with any subnet in the network the Kubernetes cluster located in.
service_ipv6_range str
Identical to service_ipv4_range but for IPv6 protocol.

Outputs

All input properties are implicitly available as output properties. Additionally, the KubernetesCluster resource produces the following output properties:

CreatedAt string
(Computed) The Kubernetes cluster creation timestamp.
Health string
(Computed) Health of the Kubernetes cluster.
Id string
The provider-assigned unique ID for this managed resource.
LogGroupId string
Log group where cluster stores cluster system logs, like audit, events, or controlplane logs.
Status string
(Computed)Status of the Kubernetes cluster.
CreatedAt string
(Computed) The Kubernetes cluster creation timestamp.
Health string
(Computed) Health of the Kubernetes cluster.
Id string
The provider-assigned unique ID for this managed resource.
LogGroupId string
Log group where cluster stores cluster system logs, like audit, events, or controlplane logs.
Status string
(Computed)Status of the Kubernetes cluster.
createdAt string
(Computed) The Kubernetes cluster creation timestamp.
health string
(Computed) Health of the Kubernetes cluster.
id string
The provider-assigned unique ID for this managed resource.
logGroupId string
Log group where cluster stores cluster system logs, like audit, events, or controlplane logs.
status string
(Computed)Status of the Kubernetes cluster.
created_at str
(Computed) The Kubernetes cluster creation timestamp.
health str
(Computed) Health of the Kubernetes cluster.
id str
The provider-assigned unique ID for this managed resource.
log_group_id str
Log group where cluster stores cluster system logs, like audit, events, or controlplane logs.
status str
(Computed)Status of the Kubernetes cluster.

Look up an Existing KubernetesCluster Resource

Get an existing KubernetesCluster resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

public static get(name: string, id: Input<ID>, state?: KubernetesClusterState, opts?: CustomResourceOptions): KubernetesCluster
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        cluster_ipv4_range: Optional[str] = None,
        cluster_ipv6_range: Optional[str] = None,
        created_at: Optional[str] = None,
        description: Optional[str] = None,
        folder_id: Optional[str] = None,
        health: Optional[str] = None,
        kms_provider: Optional[KubernetesClusterKmsProviderArgs] = None,
        labels: Optional[Mapping[str, str]] = None,
        log_group_id: Optional[str] = None,
        master: Optional[KubernetesClusterMasterArgs] = None,
        name: Optional[str] = None,
        network_id: Optional[str] = None,
        network_implementation: Optional[KubernetesClusterNetworkImplementationArgs] = None,
        network_policy_provider: Optional[str] = None,
        node_ipv4_cidr_mask_size: Optional[int] = None,
        node_service_account_id: Optional[str] = None,
        release_channel: Optional[str] = None,
        service_account_id: Optional[str] = None,
        service_ipv4_range: Optional[str] = None,
        service_ipv6_range: Optional[str] = None,
        status: Optional[str] = None) -> KubernetesCluster
func GetKubernetesCluster(ctx *Context, name string, id IDInput, state *KubernetesClusterState, opts ...ResourceOption) (*KubernetesCluster, error)
public static KubernetesCluster Get(string name, Input<string> id, KubernetesClusterState? state, CustomResourceOptions? opts = null)
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
resource_name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.

The following state arguments are supported:

ClusterIpv4Range string
CIDR block. IP range for allocating pod addresses. It should not overlap with any subnet in the network the Kubernetes cluster located in. Static routes will be set up for this CIDR blocks in node subnets.
ClusterIpv6Range string
Identical to cluster_ipv4_range but for IPv6 protocol.
CreatedAt string
(Computed) The Kubernetes cluster creation timestamp.
Description string
A description of the Kubernetes cluster.
FolderId string
The ID of the folder that the Kubernetes cluster belongs to. If it is not provided, the default provider folder is used.
Health string
(Computed) Health of the Kubernetes cluster.
KmsProvider KubernetesClusterKmsProviderArgs
cluster KMS provider parameters.
Labels Dictionary<string, string>
A set of key/value label pairs to assign to the Kubernetes cluster.
LogGroupId string
Log group where cluster stores cluster system logs, like audit, events, or controlplane logs.
Master KubernetesClusterMasterArgs
Kubernetes master configuration options. The structure is documented below.
Name string
Name of a specific Kubernetes cluster.
NetworkId string
The ID of the cluster network.
NetworkImplementation KubernetesClusterNetworkImplementationArgs
(Optional) Network Implementation options. The structure is documented below.
NetworkPolicyProvider string
Network policy provider for the cluster. Possible values: CALICO.
NodeIpv4CidrMaskSize int
Size of the masks that are assigned to each node in the cluster. Effectively limits maximum number of pods for each node.
NodeServiceAccountId string
Service account to be used by the worker nodes of the Kubernetes cluster to access Container Registry or to push node logs and metrics.
ReleaseChannel string
Cluster release channel.
ServiceAccountId string
Service account to be used for provisioning Compute Cloud and VPC resources for Kubernetes cluster. Selected service account should have edit role on the folder where the Kubernetes cluster will be located and on the folder where selected network resides.
ServiceIpv4Range string
CIDR block. IP range Kubernetes service Kubernetes cluster IP addresses will be allocated from. It should not overlap with any subnet in the network the Kubernetes cluster located in.
ServiceIpv6Range string
Identical to service_ipv4_range but for IPv6 protocol.
Status string
(Computed)Status of the Kubernetes cluster.
ClusterIpv4Range string
CIDR block. IP range for allocating pod addresses. It should not overlap with any subnet in the network the Kubernetes cluster located in. Static routes will be set up for this CIDR blocks in node subnets.
ClusterIpv6Range string
Identical to cluster_ipv4_range but for IPv6 protocol.
CreatedAt string
(Computed) The Kubernetes cluster creation timestamp.
Description string
A description of the Kubernetes cluster.
FolderId string
The ID of the folder that the Kubernetes cluster belongs to. If it is not provided, the default provider folder is used.
Health string
(Computed) Health of the Kubernetes cluster.
KmsProvider KubernetesClusterKmsProviderArgs
cluster KMS provider parameters.
Labels map[string]string
A set of key/value label pairs to assign to the Kubernetes cluster.
LogGroupId string
Log group where cluster stores cluster system logs, like audit, events, or controlplane logs.
Master KubernetesClusterMasterArgs
Kubernetes master configuration options. The structure is documented below.
Name string
Name of a specific Kubernetes cluster.
NetworkId string
The ID of the cluster network.
NetworkImplementation KubernetesClusterNetworkImplementationArgs
(Optional) Network Implementation options. The structure is documented below.
NetworkPolicyProvider string
Network policy provider for the cluster. Possible values: CALICO.
NodeIpv4CidrMaskSize int
Size of the masks that are assigned to each node in the cluster. Effectively limits maximum number of pods for each node.
NodeServiceAccountId string
Service account to be used by the worker nodes of the Kubernetes cluster to access Container Registry or to push node logs and metrics.
ReleaseChannel string
Cluster release channel.
ServiceAccountId string
Service account to be used for provisioning Compute Cloud and VPC resources for Kubernetes cluster. Selected service account should have edit role on the folder where the Kubernetes cluster will be located and on the folder where selected network resides.
ServiceIpv4Range string
CIDR block. IP range Kubernetes service Kubernetes cluster IP addresses will be allocated from. It should not overlap with any subnet in the network the Kubernetes cluster located in.
ServiceIpv6Range string
Identical to service_ipv4_range but for IPv6 protocol.
Status string
(Computed)Status of the Kubernetes cluster.
clusterIpv4Range string
CIDR block. IP range for allocating pod addresses. It should not overlap with any subnet in the network the Kubernetes cluster located in. Static routes will be set up for this CIDR blocks in node subnets.
clusterIpv6Range string
Identical to cluster_ipv4_range but for IPv6 protocol.
createdAt string
(Computed) The Kubernetes cluster creation timestamp.
description string
A description of the Kubernetes cluster.
folderId string
The ID of the folder that the Kubernetes cluster belongs to. If it is not provided, the default provider folder is used.
health string
(Computed) Health of the Kubernetes cluster.
kmsProvider KubernetesClusterKmsProviderArgs
cluster KMS provider parameters.
labels {[key: string]: string}
A set of key/value label pairs to assign to the Kubernetes cluster.
logGroupId string
Log group where cluster stores cluster system logs, like audit, events, or controlplane logs.
master KubernetesClusterMasterArgs
Kubernetes master configuration options. The structure is documented below.
name string
Name of a specific Kubernetes cluster.
networkId string
The ID of the cluster network.
networkImplementation KubernetesClusterNetworkImplementationArgs
(Optional) Network Implementation options. The structure is documented below.
networkPolicyProvider string
Network policy provider for the cluster. Possible values: CALICO.
nodeIpv4CidrMaskSize number
Size of the masks that are assigned to each node in the cluster. Effectively limits maximum number of pods for each node.
nodeServiceAccountId string
Service account to be used by the worker nodes of the Kubernetes cluster to access Container Registry or to push node logs and metrics.
releaseChannel string
Cluster release channel.
serviceAccountId string
Service account to be used for provisioning Compute Cloud and VPC resources for Kubernetes cluster. Selected service account should have edit role on the folder where the Kubernetes cluster will be located and on the folder where selected network resides.
serviceIpv4Range string
CIDR block. IP range Kubernetes service Kubernetes cluster IP addresses will be allocated from. It should not overlap with any subnet in the network the Kubernetes cluster located in.
serviceIpv6Range string
Identical to service_ipv4_range but for IPv6 protocol.
status string
(Computed)Status of the Kubernetes cluster.
cluster_ipv4_range str
CIDR block. IP range for allocating pod addresses. It should not overlap with any subnet in the network the Kubernetes cluster located in. Static routes will be set up for this CIDR blocks in node subnets.
cluster_ipv6_range str
Identical to cluster_ipv4_range but for IPv6 protocol.
created_at str
(Computed) The Kubernetes cluster creation timestamp.
description str
A description of the Kubernetes cluster.
folder_id str
The ID of the folder that the Kubernetes cluster belongs to. If it is not provided, the default provider folder is used.
health str
(Computed) Health of the Kubernetes cluster.
kms_provider KubernetesClusterKmsProviderArgs
cluster KMS provider parameters.
labels Mapping[str, str]
A set of key/value label pairs to assign to the Kubernetes cluster.
log_group_id str
Log group where cluster stores cluster system logs, like audit, events, or controlplane logs.
master KubernetesClusterMasterArgs
Kubernetes master configuration options. The structure is documented below.
name str
Name of a specific Kubernetes cluster.
network_id str
The ID of the cluster network.
network_implementation KubernetesClusterNetworkImplementationArgs
(Optional) Network Implementation options. The structure is documented below.
network_policy_provider str
Network policy provider for the cluster. Possible values: CALICO.
node_ipv4_cidr_mask_size int
Size of the masks that are assigned to each node in the cluster. Effectively limits maximum number of pods for each node.
node_service_account_id str
Service account to be used by the worker nodes of the Kubernetes cluster to access Container Registry or to push node logs and metrics.
release_channel str
Cluster release channel.
service_account_id str
Service account to be used for provisioning Compute Cloud and VPC resources for Kubernetes cluster. Selected service account should have edit role on the folder where the Kubernetes cluster will be located and on the folder where selected network resides.
service_ipv4_range str
CIDR block. IP range Kubernetes service Kubernetes cluster IP addresses will be allocated from. It should not overlap with any subnet in the network the Kubernetes cluster located in.
service_ipv6_range str
Identical to service_ipv4_range but for IPv6 protocol.
status str
(Computed)Status of the Kubernetes cluster.

Supporting Types

KubernetesClusterKmsProvider

KeyId string
KMS key ID.
KeyId string
KMS key ID.
keyId string
KMS key ID.
key_id str
KMS key ID.

KubernetesClusterMaster

ClusterCaCertificate string
(Computed) PEM-encoded public certificate that is the root of trust for the Kubernetes cluster.
ExternalV4Address string
(Computed) An IPv4 external network address that is assigned to the master.
ExternalV4Endpoint string
(Computed) External endpoint that can be used to access Kubernetes cluster API from the internet (outside of the cloud).
InternalV4Address string
(Computed) An IPv4 internal network address that is assigned to the master.
InternalV4Endpoint string
(Computed) Internal endpoint that can be used to connect to the master from cloud networks.
MaintenancePolicy KubernetesClusterMasterMaintenancePolicy
(Optional) (Computed) Maintenance policy for Kubernetes master. If policy is omitted, automatic revision upgrades of the kubernetes master are enabled and could happen at any time. Revision upgrades are performed only within the same minor version, e.g. 1.13. Minor version upgrades (e.g. 1.13->1.14) should be performed manually. The structure is documented below.
PublicIp bool
(Optional) (Computed) Boolean flag. When true, Kubernetes master will have visible ipv4 address.
Regional KubernetesClusterMasterRegional
(Optional) Initialize parameters for Regional Master (highly available master). The structure is documented below.
SecurityGroupIds List<string>
(Optional) List of security group IDs to which the Kubernetes cluster belongs.
Version string
(Optional) (Computed) Version of Kubernetes that will be used for master.
VersionInfo KubernetesClusterMasterVersionInfo
(Computed) Information about cluster version. The structure is documented below.
Zonal KubernetesClusterMasterZonal
(Optional) Initialize parameters for Zonal Master (single node master). The structure is documented below.
ClusterCaCertificate string
(Computed) PEM-encoded public certificate that is the root of trust for the Kubernetes cluster.
ExternalV4Address string
(Computed) An IPv4 external network address that is assigned to the master.
ExternalV4Endpoint string
(Computed) External endpoint that can be used to access Kubernetes cluster API from the internet (outside of the cloud).
InternalV4Address string
(Computed) An IPv4 internal network address that is assigned to the master.
InternalV4Endpoint string
(Computed) Internal endpoint that can be used to connect to the master from cloud networks.
MaintenancePolicy KubernetesClusterMasterMaintenancePolicy
(Optional) (Computed) Maintenance policy for Kubernetes master. If policy is omitted, automatic revision upgrades of the kubernetes master are enabled and could happen at any time. Revision upgrades are performed only within the same minor version, e.g. 1.13. Minor version upgrades (e.g. 1.13->1.14) should be performed manually. The structure is documented below.
PublicIp bool
(Optional) (Computed) Boolean flag. When true, Kubernetes master will have visible ipv4 address.
Regional KubernetesClusterMasterRegional
(Optional) Initialize parameters for Regional Master (highly available master). The structure is documented below.
SecurityGroupIds []string
(Optional) List of security group IDs to which the Kubernetes cluster belongs.
Version string
(Optional) (Computed) Version of Kubernetes that will be used for master.
VersionInfo KubernetesClusterMasterVersionInfo
(Computed) Information about cluster version. The structure is documented below.
Zonal KubernetesClusterMasterZonal
(Optional) Initialize parameters for Zonal Master (single node master). The structure is documented below.
clusterCaCertificate string
(Computed) PEM-encoded public certificate that is the root of trust for the Kubernetes cluster.
externalV4Address string
(Computed) An IPv4 external network address that is assigned to the master.
externalV4Endpoint string
(Computed) External endpoint that can be used to access Kubernetes cluster API from the internet (outside of the cloud).
internalV4Address string
(Computed) An IPv4 internal network address that is assigned to the master.
internalV4Endpoint string
(Computed) Internal endpoint that can be used to connect to the master from cloud networks.
maintenancePolicy KubernetesClusterMasterMaintenancePolicy
(Optional) (Computed) Maintenance policy for Kubernetes master. If policy is omitted, automatic revision upgrades of the kubernetes master are enabled and could happen at any time. Revision upgrades are performed only within the same minor version, e.g. 1.13. Minor version upgrades (e.g. 1.13->1.14) should be performed manually. The structure is documented below.
publicIp boolean
(Optional) (Computed) Boolean flag. When true, Kubernetes master will have visible ipv4 address.
regional KubernetesClusterMasterRegional
(Optional) Initialize parameters for Regional Master (highly available master). The structure is documented below.
securityGroupIds string[]
(Optional) List of security group IDs to which the Kubernetes cluster belongs.
version string
(Optional) (Computed) Version of Kubernetes that will be used for master.
versionInfo KubernetesClusterMasterVersionInfo
(Computed) Information about cluster version. The structure is documented below.
zonal KubernetesClusterMasterZonal
(Optional) Initialize parameters for Zonal Master (single node master). The structure is documented below.
cluster_ca_certificate str
(Computed) PEM-encoded public certificate that is the root of trust for the Kubernetes cluster.
external_v4_address str
(Computed) An IPv4 external network address that is assigned to the master.
external_v4_endpoint str
(Computed) External endpoint that can be used to access Kubernetes cluster API from the internet (outside of the cloud).
internal_v4_address str
(Computed) An IPv4 internal network address that is assigned to the master.
internal_v4_endpoint str
(Computed) Internal endpoint that can be used to connect to the master from cloud networks.
maintenance_policy KubernetesClusterMasterMaintenancePolicy
(Optional) (Computed) Maintenance policy for Kubernetes master. If policy is omitted, automatic revision upgrades of the kubernetes master are enabled and could happen at any time. Revision upgrades are performed only within the same minor version, e.g. 1.13. Minor version upgrades (e.g. 1.13->1.14) should be performed manually. The structure is documented below.
public_ip bool
(Optional) (Computed) Boolean flag. When true, Kubernetes master will have visible ipv4 address.
regional KubernetesClusterMasterRegional
(Optional) Initialize parameters for Regional Master (highly available master). The structure is documented below.
security_group_ids Sequence[str]
(Optional) List of security group IDs to which the Kubernetes cluster belongs.
version str
(Optional) (Computed) Version of Kubernetes that will be used for master.
version_info KubernetesClusterMasterVersionInfo
(Computed) Information about cluster version. The structure is documented below.
zonal KubernetesClusterMasterZonal
(Optional) Initialize parameters for Zonal Master (single node master). The structure is documented below.

KubernetesClusterMasterMaintenancePolicy

AutoUpgrade bool
(Required) Boolean flag that specifies if master can be upgraded automatically. When omitted, default value is TRUE.
MaintenanceWindows List<KubernetesClusterMasterMaintenancePolicyMaintenanceWindow>
(Optional) (Computed) This structure specifies maintenance window, when update for master is allowed. When omitted, it defaults to any time. To specify time of day interval, for all days, one element should be provided, with two fields set, start_time and duration. Please see zonal_cluster_resource_name config example.
AutoUpgrade bool
(Required) Boolean flag that specifies if master can be upgraded automatically. When omitted, default value is TRUE.
MaintenanceWindows []KubernetesClusterMasterMaintenancePolicyMaintenanceWindow
(Optional) (Computed) This structure specifies maintenance window, when update for master is allowed. When omitted, it defaults to any time. To specify time of day interval, for all days, one element should be provided, with two fields set, start_time and duration. Please see zonal_cluster_resource_name config example.
autoUpgrade boolean
(Required) Boolean flag that specifies if master can be upgraded automatically. When omitted, default value is TRUE.
maintenanceWindows KubernetesClusterMasterMaintenancePolicyMaintenanceWindow[]
(Optional) (Computed) This structure specifies maintenance window, when update for master is allowed. When omitted, it defaults to any time. To specify time of day interval, for all days, one element should be provided, with two fields set, start_time and duration. Please see zonal_cluster_resource_name config example.
auto_upgrade bool
(Required) Boolean flag that specifies if master can be upgraded automatically. When omitted, default value is TRUE.
maintenance_windows Sequence[KubernetesClusterMasterMaintenancePolicyMaintenanceWindow]
(Optional) (Computed) This structure specifies maintenance window, when update for master is allowed. When omitted, it defaults to any time. To specify time of day interval, for all days, one element should be provided, with two fields set, start_time and duration. Please see zonal_cluster_resource_name config example.

KubernetesClusterMasterMaintenancePolicyMaintenanceWindow

Duration string
StartTime string
Day string
Duration string
StartTime string
Day string
duration string
startTime string
day string

KubernetesClusterMasterRegional

Region string
(Required) Name of availability region (e.g. “ru-central1”), where master instances will be allocated.
Locations List<KubernetesClusterMasterRegionalLocation>
Array of locations, where master instances will be allocated. The structure is documented below.
Region string
(Required) Name of availability region (e.g. “ru-central1”), where master instances will be allocated.
Locations []KubernetesClusterMasterRegionalLocation
Array of locations, where master instances will be allocated. The structure is documented below.
region string
(Required) Name of availability region (e.g. “ru-central1”), where master instances will be allocated.
locations KubernetesClusterMasterRegionalLocation[]
Array of locations, where master instances will be allocated. The structure is documented below.
region str
(Required) Name of availability region (e.g. “ru-central1”), where master instances will be allocated.
locations Sequence[KubernetesClusterMasterRegionalLocation]
Array of locations, where master instances will be allocated. The structure is documented below.

KubernetesClusterMasterRegionalLocation

SubnetId string
(Optional) ID of the subnet.
Zone string
(Optional) ID of the availability zone.
SubnetId string
(Optional) ID of the subnet.
Zone string
(Optional) ID of the availability zone.
subnetId string
(Optional) ID of the subnet.
zone string
(Optional) ID of the availability zone.
subnet_id str
(Optional) ID of the subnet.
zone str
(Optional) ID of the availability zone.

KubernetesClusterMasterVersionInfo

CurrentVersion string
Current Kubernetes version, major.minor (e.g. 1.15).
NewRevisionAvailable bool
Boolean flag. Newer revisions may include Kubernetes patches (e.g 1.15.1 > 1.15.2) as well as some internal component updates - new features or bug fixes in yandex-specific components either on the master or nodes.
NewRevisionSummary string
Human readable description of the changes to be applied when updating to the latest revision. Empty if new_revision_available is false.
VersionDeprecated bool
Boolean flag. The current version is on the deprecation schedule, component (master or node group) should be upgraded.
CurrentVersion string
Current Kubernetes version, major.minor (e.g. 1.15).
NewRevisionAvailable bool
Boolean flag. Newer revisions may include Kubernetes patches (e.g 1.15.1 > 1.15.2) as well as some internal component updates - new features or bug fixes in yandex-specific components either on the master or nodes.
NewRevisionSummary string
Human readable description of the changes to be applied when updating to the latest revision. Empty if new_revision_available is false.
VersionDeprecated bool
Boolean flag. The current version is on the deprecation schedule, component (master or node group) should be upgraded.
currentVersion string
Current Kubernetes version, major.minor (e.g. 1.15).
newRevisionAvailable boolean
Boolean flag. Newer revisions may include Kubernetes patches (e.g 1.15.1 > 1.15.2) as well as some internal component updates - new features or bug fixes in yandex-specific components either on the master or nodes.
newRevisionSummary string
Human readable description of the changes to be applied when updating to the latest revision. Empty if new_revision_available is false.
versionDeprecated boolean
Boolean flag. The current version is on the deprecation schedule, component (master or node group) should be upgraded.
current_version str
Current Kubernetes version, major.minor (e.g. 1.15).
new_revision_available bool
Boolean flag. Newer revisions may include Kubernetes patches (e.g 1.15.1 > 1.15.2) as well as some internal component updates - new features or bug fixes in yandex-specific components either on the master or nodes.
new_revision_summary str
Human readable description of the changes to be applied when updating to the latest revision. Empty if new_revision_available is false.
version_deprecated bool
Boolean flag. The current version is on the deprecation schedule, component (master or node group) should be upgraded.

KubernetesClusterMasterZonal

SubnetId string
(Optional) ID of the subnet.
Zone string
(Optional) ID of the availability zone.
SubnetId string
(Optional) ID of the subnet.
Zone string
(Optional) ID of the availability zone.
subnetId string
(Optional) ID of the subnet.
zone string
(Optional) ID of the availability zone.
subnet_id str
(Optional) ID of the subnet.
zone str
(Optional) ID of the availability zone.

KubernetesClusterNetworkImplementation

Cilium KubernetesClusterNetworkImplementationCilium
(Optional) Cilium network implementation configuration. No options exist.
Cilium KubernetesClusterNetworkImplementationCilium
(Optional) Cilium network implementation configuration. No options exist.
cilium KubernetesClusterNetworkImplementationCilium
(Optional) Cilium network implementation configuration. No options exist.
cilium KubernetesClusterNetworkImplementationCilium
(Optional) Cilium network implementation configuration. No options exist.

Import

A Managed Kubernetes cluster can be imported using the id of the resource, e.g.

 $ pulumi import yandex:index/kubernetesCluster:KubernetesCluster default cluster_id

Package Details

Repository
https://github.com/pulumi/pulumi-yandex
License
Apache-2.0
Notes
This Pulumi package is based on the yandex Terraform Provider.