diff --git a/_topic_maps/_topic_map.yml b/_topic_maps/_topic_map.yml index 9d9dc52005..a29b9284c4 100644 --- a/_topic_maps/_topic_map.yml +++ b/_topic_maps/_topic_map.yml @@ -2466,6 +2466,8 @@ Topics: File: cluster-api-config-options-aws - Name: Cluster API configuration options for Google Cloud Platform File: cluster-api-config-options-gcp + - Name: Cluster API configuration options for Microsoft Azure + File: cluster-api-config-options-azure - Name: Cluster API configuration options for VMware vSphere File: cluster-api-config-options-vsphere # - Name: Cluster API resiliency and recovery diff --git a/modules/capi-creating-infrastructure-resource.adoc b/_unused_topics/capi-creating-infrastructure-resource.adoc similarity index 97% rename from modules/capi-creating-infrastructure-resource.adoc rename to _unused_topics/capi-creating-infrastructure-resource.adoc index c1c2df11dc..1528fb4b77 100644 --- a/modules/capi-creating-infrastructure-resource.adoc +++ b/_unused_topics/capi-creating-infrastructure-resource.adoc @@ -46,6 +46,7 @@ This value must match the value for your platform. The following values are valid: * `AWSCluster`: The cluster is running on {aws-short}. * `GCPCluster`: The cluster is running on {gcp-short}. +* `AzureCluster`: The cluster is running on {azure-first}. * `VSphereCluster`: The cluster is running on {vmw-short}. <3> Specify the name of the cluster. <4> Specify the details for your environment. diff --git a/_unused_topics/capi-yaml-infrastructure-aws.adoc b/_unused_topics/capi-yaml-infrastructure-aws.adoc new file mode 100644 index 0000000000..adaf51ac5a --- /dev/null +++ b/_unused_topics/capi-yaml-infrastructure-aws.adoc @@ -0,0 +1,33 @@ +// Module included in the following assemblies: +// +// * machine_management/cluster_api_machine_management/cluster_api_provider_configurations/cluster-api-config-options-aws.adoc + +:_mod-docs-content-type: REFERENCE +[id="capi-yaml-infrastructure-aws_{context}"] += Sample YAML for a Cluster API infrastructure cluster resource on {aws-full} + +The infrastructure cluster resource is provider-specific and defines properties that all the compute machine sets in the cluster share, such as the region and subnets. +The compute machine set references this resource when creating machines. + +In {product-title} {product-version}, the {cluster-capi-operator} generates this resource. +The following sample YAML file is for informational purposes. +User modification of this generated resource is not recommended. + +[source,yaml] +---- +apiVersion: infrastructure.cluster.x-k8s.io/v1beta2 +kind: AWSCluster # <1> +metadata: + name: # <2> + namespace: openshift-cluster-api +spec: + controlPlaneEndpoint: # <3> + host: + port: 6443 + region: # <4> +---- +<1> Specifies the infrastructure kind for the cluster. +This value matches the value for your platform. +<2> Specifies the cluster ID as the name of the cluster. +<3> Specifies the address of the control plane endpoint and the port to use to access it. +<4> Specifies the {aws-short} region. \ No newline at end of file diff --git a/_unused_topics/capi-yaml-infrastructure-azure.adoc b/_unused_topics/capi-yaml-infrastructure-azure.adoc new file mode 100644 index 0000000000..20c6c352e3 --- /dev/null +++ b/_unused_topics/capi-yaml-infrastructure-azure.adoc @@ -0,0 +1,51 @@ +// Module included in the following assemblies: +// +// * machine_management/cluster_api_machine_management/cluster_api_provider_configurations/cluster-api-config-options-azure.adoc + +:_mod-docs-content-type: REFERENCE +[id="capi-yaml-infrastructure-azure_{context}"] += Sample YAML for a Cluster API infrastructure cluster resource on {azure-full} + +The infrastructure cluster resource is provider-specific and defines properties that all the compute machine sets in the cluster share, such as the region and subnets. +The compute machine set references this resource when creating machines. + +In {product-title} {product-version}, the {cluster-capi-operator} generates this resource. +The following sample YAML file is for informational purposes. +User modification of this generated resource is not recommended. + +[source,yaml] +---- +apiVersion: infrastructure.cluster.x-k8s.io/v1beta1 +kind: AzureCluster # <1> +metadata: + name: # <2> + namespace: openshift-cluster-api +spec: + azureEnvironment: AzurePublicCloud + bastionSpec: {} + controlPlaneEndpoint: # <3> + host: + port: 6443 + identityRef: # <4> + kind: AzureClusterIdentity + name: + namespace: openshift-cluster-api + location: westus # <5> + networkSpec: + apiServerLB: + backendPool: {} + nodeOutboundLB: + backendPool: + name: + name: + vnet: + name: -vnet + resourceGroup: -rg + resourceGroup: -rg +---- +<1> Specifies the infrastructure kind for the cluster. +This value matches the value for your platform. +<2> Specifies the cluster ID as the name of the cluster. +<3> Specifies the address of the control plane endpoint and the port to use to access it. +<4> The cluster identity that the {cluster-capi-operator} creates. +<5> Specifies the {azure-short} region. \ No newline at end of file diff --git a/_unused_topics/capi-yaml-infrastructure-gcp.adoc b/_unused_topics/capi-yaml-infrastructure-gcp.adoc new file mode 100644 index 0000000000..42bbe14504 --- /dev/null +++ b/_unused_topics/capi-yaml-infrastructure-gcp.adoc @@ -0,0 +1,36 @@ +// Module included in the following assemblies: +// +// * machine_management/cluster_api_machine_management/cluster_api_provider_configurations/cluster-api-config-options-gcp.adoc + +:_mod-docs-content-type: REFERENCE +[id="capi-yaml-infrastructure-gcp_{context}"] += Sample YAML for a Cluster API infrastructure cluster resource on {gcp-full} + +The infrastructure cluster resource is provider-specific and defines properties that all the compute machine sets in the cluster share, such as the region and subnets. +The compute machine set references this resource when creating machines. + +In {product-title} {product-version}, the {cluster-capi-operator} generates this resource. +The following sample YAML file is for informational purposes. +User modification of this generated resource is not recommended. + +[source,yaml] +---- +apiVersion: infrastructure.cluster.x-k8s.io/v1beta1 +kind: GCPCluster # <1> +metadata: + name: # <2> +spec: + controlPlaneEndpoint: # <3> + host: + port: 6443 + network: + name: -network + project: # <4> + region: # <5> +---- +<1> Specifies the infrastructure kind for the cluster. +This value matches the value for your platform. +<2> Specifies the cluster ID as the name of the cluster. +<3> Specifies the IP address of the control plane endpoint and the port used to access it. +<4> Specifies the {gcp-short} project name. +<5> Specifies the {gcp-short} region. \ No newline at end of file diff --git a/modules/capi-yaml-infrastructure-vsphere.adoc b/_unused_topics/capi-yaml-infrastructure-vsphere.adoc similarity index 53% rename from modules/capi-yaml-infrastructure-vsphere.adoc rename to _unused_topics/capi-yaml-infrastructure-vsphere.adoc index 403af32406..bd213de70f 100644 --- a/modules/capi-yaml-infrastructure-vsphere.adoc +++ b/_unused_topics/capi-yaml-infrastructure-vsphere.adoc @@ -4,11 +4,15 @@ :_mod-docs-content-type: REFERENCE [id="capi-yaml-infrastructure-vsphere_{context}"] -= Sample YAML for a Cluster API infrastructure resource on {vmw-full} += Sample YAML for a Cluster API infrastructure cluster resource on {vmw-full} -The infrastructure resource is provider-specific and defines properties that are shared by all the compute machine sets in the cluster, such as the region and subnets. +The infrastructure cluster resource is provider-specific and defines properties that all the compute machine sets in the cluster share, such as the region and subnets. The compute machine set references this resource when creating machines. +In {product-title} {product-version}, the {cluster-capi-operator} generates this resource. +The following sample YAML file is for informational purposes. +User modification of this generated resource is not recommended. + [source,yaml] ---- apiVersion: infrastructure.cluster.x-k8s.io/v1beta1 @@ -24,11 +28,11 @@ spec: name: server: # <4> ---- -<1> Specify the infrastructure kind for the cluster. -This value must match the value for your platform. -<2> Specify the cluster ID as the name of the cluster. -<3> Specify the IP address of the control plane endpoint and the port used to access it. -<4> Specify the {vmw-short} server for the cluster. +<1> Specifies the infrastructure kind for the cluster. +This value matches the value for your platform. +<2> Specifies the cluster ID as the name of the cluster. +<3> Specifies the IP address of the control plane endpoint and the port used to access it. +<4> Specifies the {vmw-short} server for the cluster. You can find this value on an existing {vmw-short} cluster by running the following command: + [source,terminal] diff --git a/machine_management/cluster_api_machine_management/cluster-api-about.adoc b/machine_management/cluster_api_machine_management/cluster-api-about.adoc index 6fa385b298..2cc10b4073 100644 --- a/machine_management/cluster_api_machine_management/cluster-api-about.adoc +++ b/machine_management/cluster_api_machine_management/cluster-api-about.adoc @@ -9,7 +9,7 @@ toc::[] :FeatureName: Managing machines with the Cluster API include::snippets/technology-preview.adoc[] -The link:https://cluster-api.sigs.k8s.io/[Cluster API] is an upstream project that is integrated into {product-title} as a Technology Preview for {aws-first}, {gcp-first}, and {vmw-first}. +The link:https://cluster-api.sigs.k8s.io/[Cluster API] is an upstream project that is integrated into {product-title} as a Technology Preview for {aws-first}, {gcp-first}, {azure-first} and {vmw-first}. //Cluster API overview include::modules/capi-overview.adoc[leveloffset=+1] diff --git a/machine_management/cluster_api_machine_management/cluster-api-configuration.adoc b/machine_management/cluster_api_machine_management/cluster-api-configuration.adoc index 088719c6fc..8b67a9b6d4 100644 --- a/machine_management/cluster_api_machine_management/cluster-api-configuration.adoc +++ b/machine_management/cluster_api_machine_management/cluster-api-configuration.adoc @@ -24,4 +24,6 @@ For provider-specific configuration options for your cluster, see the following * xref:../../machine_management/cluster_api_machine_management/cluster_api_provider_configurations/cluster-api-config-options-gcp.adoc#cluster-api-config-options-gcp[Cluster API configuration options for {gcp-full}] +* xref:../../machine_management/cluster_api_machine_management/cluster_api_provider_configurations/cluster-api-config-options-azure.adoc#cluster-api-config-options-azure[Cluster API configuration options for {azure-full}] + * xref:../../machine_management/cluster_api_machine_management/cluster_api_provider_configurations/cluster-api-config-options-vsphere.adoc#cluster-api-config-options-vsphere[Cluster API configuration options for {vmw-full}] \ No newline at end of file diff --git a/machine_management/cluster_api_machine_management/cluster-api-getting-started.adoc b/machine_management/cluster_api_machine_management/cluster-api-getting-started.adoc index d1a4748f99..0b82e2871b 100644 --- a/machine_management/cluster_api_machine_management/cluster-api-getting-started.adoc +++ b/machine_management/cluster_api_machine_management/cluster-api-getting-started.adoc @@ -9,7 +9,7 @@ toc::[] :FeatureName: Managing machines with the Cluster API include::snippets/technology-preview.adoc[] -For the Cluster API Technology Preview, you must create the primary resources that the Cluster API requires manually. +For the Cluster API Technology Preview, you must manually create some of the primary resources that the Cluster API requires. [id="creating-primary-resources_{context}"] == Creating the Cluster API primary resources @@ -27,20 +27,13 @@ include::modules/capi-creating-cluster-resource.adoc[leveloffset=+2] .Additional resources * xref:../../machine_management/cluster_api_machine_management/cluster-api-configuration.adoc#cluster-api-configuration[Cluster API configuration] -//Creating a Cluster API infrastructure resource -include::modules/capi-creating-infrastructure-resource.adoc[leveloffset=+2] -[role="_additional-resources"] -.Additional resources -* xref:../../machine_management/cluster_api_machine_management/cluster_api_provider_configurations/cluster-api-config-options-aws.adoc#capi-yaml-infrastructure-aws_cluster-api-config-options-aws[Sample YAML for a Cluster API infrastructure resource on {aws-full}] -* xref:../../machine_management/cluster_api_machine_management/cluster_api_provider_configurations/cluster-api-config-options-gcp.adoc#capi-yaml-infrastructure-gcp_cluster-api-config-options-gcp[Sample YAML for a Cluster API infrastructure resource on {gcp-full}] -* xref:../../machine_management/cluster_api_machine_management/cluster_api_provider_configurations/cluster-api-config-options-vsphere.adoc#capi-yaml-infrastructure-vsphere_cluster-api-config-options-vsphere[Sample YAML for a Cluster API infrastructure resource on {vmw-full}] - //Creating a Cluster API machine template include::modules/capi-creating-machine-template.adoc[leveloffset=+2] [role="_additional-resources"] .Additional resources * xref:../../machine_management/cluster_api_machine_management/cluster_api_provider_configurations/cluster-api-config-options-aws.adoc#capi-yaml-machine-template-aws_cluster-api-config-options-aws[Sample YAML for a Cluster API machine template resource on {aws-full}] * xref:../../machine_management/cluster_api_machine_management/cluster_api_provider_configurations/cluster-api-config-options-gcp.adoc#capi-yaml-machine-template-gcp_cluster-api-config-options-gcp[Sample YAML for a Cluster API machine template resource on {gcp-full}] +* xref:../../machine_management/cluster_api_machine_management/cluster_api_provider_configurations/cluster-api-config-options-azure.adoc#capi-yaml-machine-template-azure_cluster-api-config-options-azure[Sample YAML for a Cluster API machine template resource on {azure-full}] * xref:../../machine_management/cluster_api_machine_management/cluster_api_provider_configurations/cluster-api-config-options-vsphere.adoc#capi-yaml-machine-template-vsphere_cluster-api-config-options-vsphere[Sample YAML for a Cluster API machine template resource on {vmw-full}] //Creating a Cluster API compute machine set @@ -49,4 +42,5 @@ include::modules/capi-creating-machine-set.adoc[leveloffset=+2] .Additional resources * xref:../../machine_management/cluster_api_machine_management/cluster_api_provider_configurations/cluster-api-config-options-aws.adoc#capi-yaml-machine-set-aws_cluster-api-config-options-aws[Sample YAML for a Cluster API compute machine set resource on {aws-full}] * xref:../../machine_management/cluster_api_machine_management/cluster_api_provider_configurations/cluster-api-config-options-gcp.adoc#capi-yaml-machine-set-gcp_cluster-api-config-options-gcp[Sample YAML for a Cluster API compute machine set resource on {gcp-full}] +* xref:../../machine_management/cluster_api_machine_management/cluster_api_provider_configurations/cluster-api-config-options-azure.adoc#capi-yaml-machine-set-azure_cluster-api-config-options-azure[Sample YAML for a Cluster API compute machine set resource on {azure-full}] * xref:../../machine_management/cluster_api_machine_management/cluster_api_provider_configurations/cluster-api-config-options-vsphere.adoc#capi-yaml-machine-set-vsphere_cluster-api-config-options-vsphere[Sample YAML for a Cluster API compute machine set resource on {vmw-full}] \ No newline at end of file diff --git a/machine_management/cluster_api_machine_management/cluster-api-managing-machines.adoc b/machine_management/cluster_api_machine_management/cluster-api-managing-machines.adoc index 606fcad554..9f0e6f59b8 100644 --- a/machine_management/cluster_api_machine_management/cluster-api-managing-machines.adoc +++ b/machine_management/cluster_api_machine_management/cluster-api-managing-machines.adoc @@ -15,6 +15,7 @@ include::modules/capi-modifying-machine-template.adoc[leveloffset=+1] .Additional resources * xref:../../machine_management/cluster_api_machine_management/cluster_api_provider_configurations/cluster-api-config-options-aws.adoc#capi-yaml-machine-template-aws_cluster-api-config-options-aws[Sample YAML for a Cluster API machine template resource on {aws-full}] * xref:../../machine_management/cluster_api_machine_management/cluster_api_provider_configurations/cluster-api-config-options-gcp.adoc#capi-yaml-machine-template-gcp_cluster-api-config-options-gcp[Sample YAML for a Cluster API machine template resource on {gcp-full}] +* xref:../../machine_management/cluster_api_machine_management/cluster_api_provider_configurations/cluster-api-config-options-azure.adoc#capi-yaml-machine-template-azure_cluster-api-config-options-azure[Sample YAML for a Cluster API machine template resource on {azure-full}] * xref:../../machine_management/cluster_api_machine_management/cluster_api_provider_configurations/cluster-api-config-options-vsphere.adoc#capi-yaml-machine-template-vsphere_cluster-api-config-options-vsphere[Sample YAML for a Cluster API machine template resource on {vmw-full}] * xref:../../machine_management/cluster_api_machine_management/cluster-api-managing-machines.adoc#machineset-modifying_cluster-api-managing-machines[Modifying a compute machine set by using the CLI] @@ -25,4 +26,5 @@ include::modules/machineset-modifying.adoc[leveloffset=+1,tag=!MAPI] .Additional resources * xref:../../machine_management/cluster_api_machine_management/cluster_api_provider_configurations/cluster-api-config-options-aws.adoc#capi-yaml-machine-set-aws_cluster-api-config-options-aws[Sample YAML for a Cluster API compute machine set resource on {aws-full}] * xref:../../machine_management/cluster_api_machine_management/cluster_api_provider_configurations/cluster-api-config-options-gcp.adoc#capi-yaml-machine-set-gcp_cluster-api-config-options-gcp[Sample YAML for a Cluster API compute machine set resource on {gcp-full}] +* xref:../../machine_management/cluster_api_machine_management/cluster_api_provider_configurations/cluster-api-config-options-azure.adoc#capi-yaml-machine-set-azure_cluster-api-config-options-azure[Sample YAML for a Cluster API compute machine set resource on {azure-full}] * xref:../../machine_management/cluster_api_machine_management/cluster_api_provider_configurations/cluster-api-config-options-vsphere.adoc#capi-yaml-machine-set-vsphere_cluster-api-config-options-vsphere[Sample YAML for a Cluster API compute machine set resource on {vmw-full}] \ No newline at end of file diff --git a/machine_management/cluster_api_machine_management/cluster_api_provider_configurations/cluster-api-config-options-aws.adoc b/machine_management/cluster_api_machine_management/cluster_api_provider_configurations/cluster-api-config-options-aws.adoc index b2da6c6ca4..df66bd6219 100644 --- a/machine_management/cluster_api_machine_management/cluster_api_provider_configurations/cluster-api-config-options-aws.adoc +++ b/machine_management/cluster_api_machine_management/cluster_api_provider_configurations/cluster-api-config-options-aws.adoc @@ -16,9 +16,6 @@ You can change the configuration of your {aws-first} Cluster API machines by upd The following example YAML files show configurations for an {aws-full} cluster. -//Sample YAML for a CAPI AWS infrastructure resource -include::modules/capi-yaml-infrastructure-aws.adoc[leveloffset=+2] - //Sample YAML for CAPI AWS machine template resource include::modules/capi-yaml-machine-template-aws.adoc[leveloffset=+2] diff --git a/machine_management/cluster_api_machine_management/cluster_api_provider_configurations/cluster-api-config-options-azure.adoc b/machine_management/cluster_api_machine_management/cluster_api_provider_configurations/cluster-api-config-options-azure.adoc new file mode 100644 index 0000000000..ffe0cd2502 --- /dev/null +++ b/machine_management/cluster_api_machine_management/cluster_api_provider_configurations/cluster-api-config-options-azure.adoc @@ -0,0 +1,30 @@ +:_mod-docs-content-type: ASSEMBLY +[id="cluster-api-config-options-azure"] += Cluster API configuration options for {azure-full} +include::_attributes/common-attributes.adoc[] +:context: cluster-api-config-options-azure + +toc::[] + +:FeatureName: Managing machines with the Cluster API +include::snippets/technology-preview.adoc[] + +You can change the configuration of your {azure-first} Cluster API machines by updating values in the Cluster API custom resource manifests. + +[id="cluster-api-sample-yaml-azure_{context}"] +== Sample YAML for configuring {azure-full} clusters + +The following example YAML files show configurations for an {azure-short} cluster. + +//Sample YAML for CAPI Azure machine template resource +include::modules/capi-yaml-machine-template-azure.adoc[leveloffset=+2] + +//Sample YAML for a CAPI Azure compute machine set resource +include::modules/capi-yaml-machine-set-azure.adoc[leveloffset=+2] + +// [id="cluster-api-supported-features-azure_{context}"] +// == Enabling {azure-full} features with the Cluster API + +// You can enable the following features by updating values in the Cluster API custom resource manifests. + +//Not sure what, if anything, we can add here at this time. \ No newline at end of file diff --git a/machine_management/cluster_api_machine_management/cluster_api_provider_configurations/cluster-api-config-options-gcp.adoc b/machine_management/cluster_api_machine_management/cluster_api_provider_configurations/cluster-api-config-options-gcp.adoc index b9e5c23ecb..7b3ea376a3 100644 --- a/machine_management/cluster_api_machine_management/cluster_api_provider_configurations/cluster-api-config-options-gcp.adoc +++ b/machine_management/cluster_api_machine_management/cluster_api_provider_configurations/cluster-api-config-options-gcp.adoc @@ -16,9 +16,6 @@ You can change the configuration of your {gcp-first} Cluster API machines by upd The following example YAML files show configurations for a {gcp-full} cluster. -//Sample YAML for a CAPI GCP infrastructure resource -include::modules/capi-yaml-infrastructure-gcp.adoc[leveloffset=+2] - //Sample YAML for CAPI GCP machine template resource include::modules/capi-yaml-machine-template-gcp.adoc[leveloffset=+2] diff --git a/machine_management/cluster_api_machine_management/cluster_api_provider_configurations/cluster-api-config-options-vsphere.adoc b/machine_management/cluster_api_machine_management/cluster_api_provider_configurations/cluster-api-config-options-vsphere.adoc index 98fa4cfcb6..43fe1ed67e 100644 --- a/machine_management/cluster_api_machine_management/cluster_api_provider_configurations/cluster-api-config-options-vsphere.adoc +++ b/machine_management/cluster_api_machine_management/cluster_api_provider_configurations/cluster-api-config-options-vsphere.adoc @@ -16,9 +16,6 @@ You can change the configuration of your {vmw-first} Cluster API machines by upd The following example YAML files show configurations for a {vmw-full} cluster. -//Sample YAML for a CAPI vSphere infrastructure resource -include::modules/capi-yaml-infrastructure-vsphere.adoc[leveloffset=+2] - //Sample YAML for CAPI vSphere machine template resource include::modules/capi-yaml-machine-template-vsphere.adoc[leveloffset=+2] diff --git a/modules/capi-arch-resources.adoc b/modules/capi-arch-resources.adoc index 88b2221349..5fe588308f 100644 --- a/modules/capi-arch-resources.adoc +++ b/modules/capi-arch-resources.adoc @@ -6,11 +6,11 @@ [id="capi-arch-resources_{context}"] = Cluster API primary resources -The Cluster API consists of the following primary resources. For the Technology Preview of this feature, you must create these resources manually in the `openshift-cluster-api` namespace. +The Cluster API consists of the following primary resources. For the Technology Preview of this feature, you must create some of these resources manually in the `openshift-cluster-api` namespace. Cluster:: A fundamental unit that represents a cluster that is managed by the Cluster API. -Infrastructure:: A provider-specific resource that defines properties that are shared by all the compute machine sets in the cluster, such as the region and subnets. +Infrastructure cluster:: A provider-specific resource that defines properties that all of the compute machine sets in the cluster share, such as the region and subnets. Machine template:: A provider-specific template that defines the properties of the machines that a compute machine set creates. diff --git a/modules/capi-creating-cluster-resource.adoc b/modules/capi-creating-cluster-resource.adoc index 793d181570..83a208255e 100644 --- a/modules/capi-creating-cluster-resource.adoc +++ b/modules/capi-creating-cluster-resource.adoc @@ -45,6 +45,7 @@ The following values are valid: + * `AWSCluster`: The cluster is running on {aws-first}. * `GCPCluster`: The cluster is running on {gcp-first}. +* `AzureCluster`: The cluster is running on {azure-first}. * `VSphereCluster`: The cluster is running on {vmw-first}. -- diff --git a/modules/capi-creating-machine-set.adoc b/modules/capi-creating-machine-set.adoc index 7b46a53b8a..dce60e98e3 100644 --- a/modules/capi-creating-machine-set.adoc +++ b/modules/capi-creating-machine-set.adoc @@ -18,7 +18,7 @@ You can create compute machine sets that use the Cluster API to dynamically mana * You have installed the {oc-first}. -* You have created the cluster, infrastructure, and machine template resources. +* You have created the cluster and machine template resources. .Procedure @@ -46,6 +46,7 @@ spec: # ... ---- <1> Specify a name for the compute machine set. +The cluster ID, machine role, and region form a typical pattern for this value in the following format: `--`. <2> Specify the name of the cluster. <3> Specify the details for your environment. These parameters are provider specific. For more information, see the sample Cluster API compute machine set YAML for your provider. -- diff --git a/modules/capi-creating-machine-template.adoc b/modules/capi-creating-machine-template.adoc index 0591043ccd..d1bb435fcd 100644 --- a/modules/capi-creating-machine-template.adoc +++ b/modules/capi-creating-machine-template.adoc @@ -18,7 +18,7 @@ You can create a provider-specific machine template resource by creating a YAML * You have installed the {oc-first}. -* You have created and applied the cluster and infrastructure resources. +* You have created and applied the cluster resource. .Procedure @@ -39,6 +39,7 @@ spec: <1> Specify the machine template kind. This value must match the value for your platform. The following values are valid: * `AWSMachineTemplate`: The cluster is running on {aws-first}. * `GCPMachineTemplate`: The cluster is running on {gcp-first}. +* `AzureMachineTemplate`: The cluster is running on {azure-first}. * `VSphereMachineTemplate`: The cluster is running on {vmw-first}. <2> Specify a name for the machine template. <3> Specify the details for your environment. These parameters are provider specific. For more information, see the sample Cluster API machine template YAML for your provider. diff --git a/modules/capi-limitations.adoc b/modules/capi-limitations.adoc index d15bbbf6a5..5ff0ad950e 100644 --- a/modules/capi-limitations.adoc +++ b/modules/capi-limitations.adoc @@ -15,9 +15,9 @@ Using the Cluster API to manage machines is a Technology Preview feature and has Enabling this feature set cannot be undone and prevents minor version updates. ==== -* Only {aws-first}, {gcp-first}, and {vmw-first} clusters can use the Cluster API. +* Only {aws-first}, {gcp-first}, {azure-first}, and {vmw-first} clusters can use the Cluster API. -* You must manually create the primary resources that the Cluster API requires. +* You must manually create some of the primary resources that the Cluster API requires. For more information, see "Getting started with the Cluster API". * You cannot use the Cluster API to manage control plane machines. diff --git a/modules/capi-modifying-machine-template.adoc b/modules/capi-modifying-machine-template.adoc index 8e6a8afda7..076dc76760 100644 --- a/modules/capi-modifying-machine-template.adoc +++ b/modules/capi-modifying-machine-template.adoc @@ -28,6 +28,7 @@ $ oc get <1> <1> Specify the value that corresponds to your platform. The following values are valid: * `AWSMachineTemplate`: The cluster is running on {aws-first}. * `GCPMachineTemplate`: The cluster is running on {gcp-first}. +* `AzureMachineTemplate`: The cluster is running on {azure-first}. * `VSphereMachineTemplate`: The cluster is running on {vmw-first}. -- + diff --git a/modules/capi-yaml-cluster.adoc b/modules/capi-yaml-cluster.adoc index 7f26d8515c..3308adc2f4 100644 --- a/modules/capi-yaml-cluster.adoc +++ b/modules/capi-yaml-cluster.adoc @@ -34,5 +34,6 @@ Valid values are: -- * `AWSCluster`: The cluster is running on {aws-full}. * `GCPCluster`: The cluster is running on {gcp-full}. +* `AzureCluster`: The cluster is running on {azure-full}. * `VSphereCluster`: The cluster is running on {vmw-full}. -- \ No newline at end of file diff --git a/modules/capi-yaml-infrastructure-aws.adoc b/modules/capi-yaml-infrastructure-aws.adoc deleted file mode 100644 index cfb20233b2..0000000000 --- a/modules/capi-yaml-infrastructure-aws.adoc +++ /dev/null @@ -1,29 +0,0 @@ -// Module included in the following assemblies: -// -// * machine_management/cluster_api_machine_management/cluster_api_provider_configurations/cluster-api-config-options-aws.adoc - -:_mod-docs-content-type: REFERENCE -[id="capi-yaml-infrastructure-aws_{context}"] -= Sample YAML for a Cluster API infrastructure resource on {aws-full} - -The infrastructure resource is provider-specific and defines properties that are shared by all the compute machine sets in the cluster, such as the region and subnets. -The compute machine set references this resource when creating machines. - -[source,yaml] ----- -apiVersion: infrastructure.cluster.x-k8s.io/v1beta2 -kind: AWSCluster # <1> -metadata: - name: # <2> - namespace: openshift-cluster-api -spec: - controlPlaneEndpoint: # <3> - host: - port: 6443 - region: # <4> ----- -<1> Specify the infrastructure kind for the cluster. -This value must match the value for your platform. -<2> Specify the cluster ID as the name of the cluster. -<3> Specify the address of the control plane endpoint and the port to use to access it. -<4> Specify the {aws-short} region. \ No newline at end of file diff --git a/modules/capi-yaml-infrastructure-gcp.adoc b/modules/capi-yaml-infrastructure-gcp.adoc deleted file mode 100644 index 96d0a37331..0000000000 --- a/modules/capi-yaml-infrastructure-gcp.adoc +++ /dev/null @@ -1,32 +0,0 @@ -// Module included in the following assemblies: -// -// * machine_management/cluster_api_machine_management/cluster_api_provider_configurations/cluster-api-config-options-gcp.adoc - -:_mod-docs-content-type: REFERENCE -[id="capi-yaml-infrastructure-gcp_{context}"] -= Sample YAML for a Cluster API infrastructure resource on {gcp-full} - -The infrastructure resource is provider-specific and defines properties that are shared by all the compute machine sets in the cluster, such as the region and subnets. -The compute machine set references this resource when creating machines. - -[source,yaml] ----- -apiVersion: infrastructure.cluster.x-k8s.io/v1beta1 -kind: GCPCluster # <1> -metadata: - name: # <2> -spec: - controlPlaneEndpoint: # <3> - host: - port: 6443 - network: - name: -network - project: # <4> - region: # <5> ----- -<1> Specify the infrastructure kind for the cluster. -This value must match the value for your platform. -<2> Specify the cluster ID as the name of the cluster. -<3> Specify the IP address of the control plane endpoint and the port used to access it. -<4> Specify the {gcp-short} project name. -<5> Specify the {gcp-short} region. \ No newline at end of file diff --git a/modules/capi-yaml-machine-set-aws.adoc b/modules/capi-yaml-machine-set-aws.adoc index 468aea4cbe..adb5604cd6 100644 --- a/modules/capi-yaml-machine-set-aws.adoc +++ b/modules/capi-yaml-machine-set-aws.adoc @@ -7,7 +7,7 @@ = Sample YAML for a Cluster API compute machine set resource on {aws-full} The compute machine set resource defines additional properties of the machines that it creates. -The compute machine set also references the infrastructure resource and machine template when creating machines. +The compute machine set also references the cluster resource and machine template when creating machines. [source,yaml] ---- @@ -16,28 +16,35 @@ kind: MachineSet metadata: name: # <1> namespace: openshift-cluster-api + labels: + cluster.x-k8s.io/cluster-name: # <2> spec: clusterName: # <2> replicas: 1 selector: matchLabels: test: example + cluster.x-k8s.io/cluster-name: + cluster.x-k8s.io/set-name: template: metadata: labels: test: example + cluster.x-k8s.io/cluster-name: + cluster.x-k8s.io/set-name: + node-role.kubernetes.io/: "" spec: bootstrap: - dataSecretName: worker-user-data # <3> + dataSecretName: worker-user-data clusterName: infrastructureRef: apiVersion: infrastructure.cluster.x-k8s.io/v1beta1 - kind: AWSMachineTemplate # <4> - name: # <5> + kind: AWSMachineTemplate # <3> + name: # <4> ---- <1> Specify a name for the compute machine set. +The cluster ID, machine role, and region form a typical pattern for this value in the following format: `--`. <2> Specify the cluster ID as the name of the cluster. -<3> For the Cluster API Technology Preview, the Operator can use the worker user data secret from the `openshift-machine-api` namespace. -<4> Specify the machine template kind. +<3> Specify the machine template kind. This value must match the value for your platform. -<5> Specify the machine template name. +<4> Specify the machine template name. diff --git a/modules/capi-yaml-machine-set-azure.adoc b/modules/capi-yaml-machine-set-azure.adoc new file mode 100644 index 0000000000..566ac534d9 --- /dev/null +++ b/modules/capi-yaml-machine-set-azure.adoc @@ -0,0 +1,50 @@ +// Module included in the following assemblies: +// +// * machine_management/cluster_api_machine_management/cluster_api_provider_configurations/cluster-api-config-options-azure.adoc + +:_mod-docs-content-type: REFERENCE +[id="capi-yaml-machine-set-azure_{context}"] += Sample YAML for a Cluster API compute machine set resource on {azure-full} + +The compute machine set resource defines additional properties of the machines that it creates. +The compute machine set also references the cluster resource and machine template when creating machines. + +[source,yaml] +---- +apiVersion: cluster.x-k8s.io/v1beta1 +kind: MachineSet +metadata: + name: # <1> + namespace: openshift-cluster-api + labels: + cluster.x-k8s.io/cluster-name: # <2> +spec: + clusterName: + replicas: 1 + selector: + matchLabels: + test: example + cluster.x-k8s.io/cluster-name: + cluster.x-k8s.io/set-name: + template: + metadata: + labels: + test: example + cluster.x-k8s.io/cluster-name: + cluster.x-k8s.io/set-name: + node-role.kubernetes.io/: "" + spec: + bootstrap: + dataSecretName: worker-user-data + clusterName: + infrastructureRef: + apiVersion: infrastructure.cluster.x-k8s.io/v1beta1 + kind: AzureMachineTemplate # <3> + name: # <4> +---- +<1> Specify a name for the compute machine set. +The cluster ID, machine role, and region form a typical pattern for this value in the following format: `--`. +<2> Specify the cluster ID as the name of the cluster. +<3> Specify the machine template kind. +This value must match the value for your platform. +<4> Specify the machine template name. \ No newline at end of file diff --git a/modules/capi-yaml-machine-set-gcp.adoc b/modules/capi-yaml-machine-set-gcp.adoc index 7846296442..400a83ee2b 100644 --- a/modules/capi-yaml-machine-set-gcp.adoc +++ b/modules/capi-yaml-machine-set-gcp.adoc @@ -7,7 +7,7 @@ = Sample YAML for a Cluster API compute machine set resource on {gcp-full} The compute machine set resource defines additional properties of the machines that it creates. -The compute machine set also references the infrastructure resource and machine template when creating machines. +The compute machine set also references the cluster resource and machine template when creating machines. [source,yaml] ---- @@ -16,30 +16,37 @@ kind: MachineSet metadata: name: # <1> namespace: openshift-cluster-api + labels: + cluster.x-k8s.io/cluster-name: # <2> spec: clusterName: # <2> replicas: 1 selector: matchLabels: test: example + cluster.x-k8s.io/cluster-name: + cluster.x-k8s.io/set-name: template: metadata: labels: test: example + cluster.x-k8s.io/cluster-name: + cluster.x-k8s.io/set-name: + node-role.kubernetes.io/: "" spec: bootstrap: - dataSecretName: worker-user-data # <3> + dataSecretName: worker-user-data clusterName: infrastructureRef: apiVersion: infrastructure.cluster.x-k8s.io/v1beta1 - kind: GCPMachineTemplate # <4> - name: # <5> - failureDomain: # <6> + kind: GCPMachineTemplate # <3> + name: # <4> + failureDomain: # <5> ---- <1> Specify a name for the compute machine set. +The cluster ID, machine role, and region form a typical pattern for this value in the following format: `--`. <2> Specify the cluster ID as the name of the cluster. -<3> For the Cluster API Technology Preview, the Operator can use the worker user data secret from the `openshift-machine-api` namespace. -<4> Specify the machine template kind. +<3> Specify the machine template kind. This value must match the value for your platform. -<5> Specify the machine template name. -<6> Specify the failure domain within the {gcp-short} region. \ No newline at end of file +<4> Specify the machine template name. +<5> Specify the failure domain within the {gcp-short} region. \ No newline at end of file diff --git a/modules/capi-yaml-machine-set-vsphere.adoc b/modules/capi-yaml-machine-set-vsphere.adoc index afdc2ad61f..58aac856d6 100644 --- a/modules/capi-yaml-machine-set-vsphere.adoc +++ b/modules/capi-yaml-machine-set-vsphere.adoc @@ -7,7 +7,7 @@ = Sample YAML for a Cluster API compute machine set resource on {vmw-full} The compute machine set resource defines additional properties of the machines that it creates. -The compute machine set also references the infrastructure resource and machine template when creating machines. +The compute machine set also references the cluster resource and machine template when creating machines. [source,yaml] ---- @@ -16,25 +16,32 @@ kind: MachineSet metadata: name: # <1> namespace: openshift-cluster-api + labels: + cluster.x-k8s.io/cluster-name: # <2> spec: clusterName: # <2> replicas: 1 selector: matchLabels: test: example + cluster.x-k8s.io/cluster-name: + cluster.x-k8s.io/set-name: template: metadata: labels: test: example + cluster.x-k8s.io/cluster-name: + cluster.x-k8s.io/set-name: + node-role.kubernetes.io/: "" spec: bootstrap: - dataSecretName: worker-user-data # <3> + dataSecretName: worker-user-data clusterName: infrastructureRef: apiVersion: infrastructure.cluster.x-k8s.io/v1beta1 - kind: VSphereMachineTemplate # <4> - name: # <5> - failureDomain: # <6> + kind: VSphereMachineTemplate # <3> + name: # <4> + failureDomain: # <5> - name: region: zone: @@ -48,17 +55,17 @@ spec: - port-group ---- <1> Specify a name for the compute machine set. +The cluster ID, machine role, and region form a typical pattern for this value in the following format: `--`. <2> Specify the cluster ID as the name of the cluster. -<3> For the Cluster API Technology Preview, the Operator can use the worker user data secret from the `openshift-machine-api` namespace. -<4> Specify the machine template kind. +<3> Specify the machine template kind. This value must match the value for your platform. -<5> Specify the machine template name. -<6> Specify the failure domain configuration details. +<4> Specify the machine template name. +<5> Specify the failure domain configuration details. + [NOTE] ==== Using multiple regions and zones on a {vmw-short} cluster that uses the Cluster API is not a validated configuration. ==== // This callout section can be updated if this configuration is validated. (see also: additional resources in cluster-api-config-options-vsphere.adoc) -// <6> Specify one or more failure domains. +// <5> Specify one or more failure domains. // For more information about specifying multiple regions and zones on a {vmw-short} cluster, see "Multiple regions and zones configuration for a cluster on {vmw-full}." \ No newline at end of file diff --git a/modules/capi-yaml-machine-template-azure.adoc b/modules/capi-yaml-machine-template-azure.adoc new file mode 100644 index 0000000000..9121bd4766 --- /dev/null +++ b/modules/capi-yaml-machine-template-azure.adoc @@ -0,0 +1,57 @@ +// Module included in the following assemblies: +// +// * machine_management/cluster_api_machine_management/cluster_api_provider_configurations/cluster-api-config-options-azure.adoc + +:_mod-docs-content-type: REFERENCE +[id="capi-yaml-machine-template-azure_{context}"] += Sample YAML for a Cluster API machine template resource on {azure-full} + +The machine template resource is provider-specific and defines the basic properties of the machines that a compute machine set creates. +The compute machine set references this template when creating machines. + +[source,yaml] +---- +apiVersion: infrastructure.cluster.x-k8s.io/v1beta1 +kind: AzureMachineTemplate # <1> +metadata: + name: # <2> + namespace: openshift-cluster-api +spec: + template: + spec: # <3> + disableExtensionOperations: true + identity: UserAssigned + image: + id: /subscriptions//resourceGroups/-rg/providers/Microsoft.Compute/galleries/gallery_/images/-gen2/versions/latest # <4> + networkInterfaces: + - acceleratedNetworking: true + privateIPConfigs: 1 + subnetName: -worker-subnet + osDisk: + diskSizeGB: 128 + managedDisk: + storageAccountType: Premium_LRS + osType: Linux + sshPublicKey: + userAssignedIdentities: + - providerID: 'azure:///subscriptions//resourcegroups/-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/-identity' + vmSize: Standard_D4s_v3 +---- +<1> Specify the machine template kind. +This value must match the value for your platform. +<2> Specify a name for the machine template. +<3> Specify the details for your environment. +The values here are examples. +<4> Specify an image that is compatible with your instance type. +The Hyper-V generation V2 images created by the installation program have a `-gen2` suffix, while V1 images have the same name without the suffix. ++ +[NOTE] +==== +Default {product-title} cluster names contain hyphens (`-`), which are not compatible with {azure-short} gallery name requirements. +The value of `` in this configuration must use underscores (`_`) instead of hyphens to comply with these requirements. +Other instances of `` do not change. + +For example, a cluster name of `jdoe-test-2m2np` transforms to `jdoe_test_2m2np`. +The full string for `gallery_` in this example is `gallery_jdoe_test_2m2np`, not `gallery_jdoe-test-2m2np`. +The complete value of `spec.template.spec.image.id` for this example value is `/subscriptions//resourceGroups/jdoe-test-2m2np-rg/providers/Microsoft.Compute/galleries/gallery_jdoe_test_2m2np/images/jdoe-test-2m2np-gen2/versions/latest`. +==== \ No newline at end of file diff --git a/modules/cluster-capi-operator.adoc b/modules/cluster-capi-operator.adoc index f99d0703bc..c0bb6f46f5 100644 --- a/modules/cluster-capi-operator.adoc +++ b/modules/cluster-capi-operator.adoc @@ -7,7 +7,7 @@ [NOTE] ==== -This Operator is available as a link:https://access.redhat.com/support/offerings/techpreview[Technology Preview] for {aws-first}, {gcp-first}, and {vmw-first} clusters. +This Operator is available as a link:https://access.redhat.com/support/offerings/techpreview[Technology Preview] for {aws-first}, {gcp-first}, {azure-first}, and {vmw-first} clusters. ==== [discrete]