:_mod-docs-content-type: ASSEMBLY
[id="installing-azure-vnet"]
= Installing a cluster on Azure into an existing VNet
include::_attributes/common-attributes.adoc[]
:context: installing-azure-vnet

toc::[]

[role="_abstract"]
In {product-title} version {product-version}, you can install a cluster into an existing {azure-short} Virtual Network (VNet) on {azure-full}. The installation program provisions the rest of the required infrastructure, which you can further customize. To customize the installation, you modify parameters in the `install-config.yaml` file before you install the cluster.

include::modules/installation-about-custom-azure-vnet.adoc[leveloffset=+1]

include::modules/installation-about-custom-azure-vnet-requirements.adoc[leveloffset=+2]

include::modules/installation-about-custom-azure-permissions.adoc[leveloffset=+2]

include::modules/installation-about-custom-azure-vnet-isolation.adoc[leveloffset=+2]

[role="_additional-resources"]
.Additional resources

* xref:../../../networking/ovn_kubernetes_network_provider/about-ovn-kubernetes.adoc#about-ovn-kubernetes[About the OVN-Kubernetes network plugin]

* xref:../../../installing/install_config/configuring-firewall.adoc#configuring-firewall-module_configuring-firewall[Configuring your firewall]

* link:https://azure.microsoft.com/en-us/global-infrastructure/availability-zones/[Availability zones]

* link:https://azure.microsoft.com/en-us/global-infrastructure/regions/[Regions]

include::modules/installation-initializing.adoc[leveloffset=+1]

[role="_additional-resources"]
.Additional resources
* xref:../../../installing/installing_azure/installation-config-parameters-azure.adoc#installation-config-parameters-azure[Installation configuration parameters for Azure]

include::modules/installation-minimum-resource-requirements.adoc[leveloffset=+2]

[role="_additional-resources"]
.Additional resources

* xref:../../../scalability_and_performance/optimization/optimizing-storage.adoc#optimizing-storage[Optimizing storage]

include::modules/installation-azure-tested-machine-types.adoc[leveloffset=+2]

include::modules/installation-azure-arm-tested-machine-types.adoc[leveloffset=+2]

include::modules/installation-azure-trusted-launch.adoc[leveloffset=+2]

include::modules/installation-azure-confidential-vms.adoc[leveloffset=+2]

include::modules/installing-azure-managing-dns-solution.adoc[leveloffset=+2]

include::modules/installation-azure-config-yaml-simple.adoc[leveloffset=+2]

[role="_additional-resources"]
.Additional resources

* xref:../../../installing/installing_azure/installation-config-parameters-azure.adoc#installation-config-parameters-azure[Installation configuration parameters for Azure]


include::modules/installation-configure-proxy.adoc[leveloffset=+2]

[role="_additional-resources"]
.Additional resources

* For more details about Accelerated Networking, see xref:../../../machine_management/creating_machinesets/creating-machineset-azure.adoc#machineset-azure-accelerated-networking_creating-machineset-azure[Accelerated Networking for Microsoft Azure VMs].

[id="installing-azure-manual-modes_{context}"]
== Alternatives to storing administrator-level secrets in the kube-system project

By default, administrator secrets are stored in the `kube-system` project. If you configured the `credentialsMode` parameter in the `install-config.yaml` file to `Manual`, you must use one of the following alternatives:

* To manage long-term cloud credentials manually, follow the procedure in xref:../../../installing/installing_azure/ipi/installing-azure-vnet.adoc#manually-create-iam_installing-azure-vnet[Manually creating long-term credentials].

* To implement short-term credentials that are managed outside the cluster for individual components, follow the procedures in xref:../../../installing/installing_azure/ipi/installing-azure-vnet.adoc#installing-azure-with-short-term-creds_installing-azure-vnet[Configuring an Azure cluster to use short-term credentials].

//Manually creating long-term credentials
include::modules/manually-create-identity-access-management.adoc[leveloffset=+2]

//Supertask: Configuring an Azure cluster to use short-term credentials
[id="installing-azure-with-short-term-creds_{context}"]
=== Configuring an Azure cluster to use short-term credentials

To install a cluster that uses {entra-first}, you must configure the Cloud Credential Operator utility and create the required Azure resources for your cluster.

//Task part 1: Configuring the Cloud Credential Operator utility
include::modules/cco-ccoctl-configuring.adoc[leveloffset=+3]

//Task part 2: Creating the required Azure resources
include::modules/cco-ccoctl-creating-at-once.adoc[leveloffset=+3]

// Additional steps for the Cloud Credential Operator utility (`ccoctl`)
include::modules/cco-ccoctl-install-creating-manifests.adoc[leveloffset=+3]

include::modules/installation-launching-installer.adoc[leveloffset=+1]

include::modules/installing-azure-provisioning-dns-records.adoc[leveloffset=+1]

[role="_additional-resources"]
.Additional resources

* xref:../../../web_console/web-console.adoc#web-console[Accessing the web console]

== Next steps

* xref:../../../post_installation_configuration/cluster-tasks.adoc#available_cluster_customizations[Customize your cluster].
* If necessary, you can
xref:../../../support/remote_health_monitoring/remote-health-reporting.adoc#remote-health-reporting[Remote health reporting].
