Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Azure Stack Wizard docs #2890

Merged
merged 2 commits into from
Jul 29, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
7 changes: 7 additions & 0 deletions docs/book/component-guide/artifact-stores/azure.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,13 @@ You should use the Azure Artifact Store when you decide to keep your ZenML artif

### How do you deploy it?

{% hint style="info" %}
Don't want to deploy the artifact store manually? Check out the
[easy cloud deployment wizard](../../how-to/stack-deployment/deploy-a-cloud-stack.md)
or the [easy cloud registration wizard](../../how-to/stack-deployment/register-a-cloud-stack.md)
for a shortcut on how to deploy & register this stack component.
{% endhint %}

The Azure Artifact Store flavor is provided by the Azure ZenML integration, you need to install it on your local machine to be able to register an Azure Artifact Store and add it to your stack:

```shell
Expand Down
7 changes: 7 additions & 0 deletions docs/book/component-guide/container-registries/azure.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,13 @@ You should use the Azure container registry if:

### How to deploy it

{% hint style="info" %}
Don't want to deploy the artifact store manually? Check out the
[easy cloud deployment wizard](../../how-to/stack-deployment/deploy-a-cloud-stack.md)
or the [easy cloud registration wizard](../../how-to/stack-deployment/register-a-cloud-stack.md)
for a shortcut on how to deploy & register this stack component.
{% endhint %}

Go [here](https://portal.azure.com/#create/Microsoft.ContainerRegistry) and choose a subscription, resource group, location, and registry name. Then click on `Review + Create` and to create your container registry.

### How to find the registry URI
Expand Down
122 changes: 88 additions & 34 deletions docs/book/how-to/stack-deployment/register-a-cloud-stack.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
---
description: Seamlessly register a cloud stack using existing infrastructure
description: Seamlessly register a cloud stack by using existing infrastructure
---

# Register a cloud stack with existing infrastructure

In ZenML, the [stack](../../user-guide/production-guide/understand-stacks.md)
is a fundamental concept that represents the configuration of your
infrastructure. In a normal workflow, creating a stack requires you to first
Expand All @@ -24,30 +22,71 @@ cloud stack](deploy-a-cloud-stack.md).

# How to use the Stack Wizard?

At the moment, the stack wizard can only be accessed through our CLI.
The stack wizard is available to you by both our CLI and our dashboard.

{% tabs %}
{% tab title="Dashboard" %}

If you are using the dashboard, the stack wizard is available through
the stacks page.

![The new stacks page](../../.gitbook/assets/stack-wizard-new-stack.png)

Here you can click on "+ New Stack" and choose the option "Use existing Cloud".

![New stack options](../../.gitbook/assets/stack-wizard-options.png)

Next, you have to select the cloud provider that you want to work with.

![Stack Wizard Cloud Selection](../../.gitbook/assets/stack-wizard-cloud-selection.png)

Choose one of the possible authentication methods based on your provider and
fill in the required fields.

![Wizard Example](../../.gitbook/assets/stack-wizard-example.png)

<details>

<summary>AWS: Authentication methods</summary>

There are several different methods to authenticate with AWS:

![Wizard Example](../../.gitbook/assets/stack-wizard-aws-auth.png)

</details>

{% hint style="warning" %}
On the dashboard, the stack wizard only works with AWS. We are working on
bringing support to GCP and Azure as well. If you would like to use these
providers, you can still use the CLI or stay tuned for further updates.
{% endhint %}

From this step forward, ZenML will show you different selections of resources
that you can use from your existing infrastructure so that you can create the
required stack components such as an artifact store, an orchestrator,
and a container registry.

{% endtab %}
{% tab title="CLI" %}

In order to register a remote stack over the CLI with the stack wizard,
you can use the following command:

```shell
zenml stack register <STACK_NAME> -p {aws|gcp}
zenml stack register <STACK_NAME> -p {aws|gcp|azure}
```

To register the cloud stack, the first thing that the wizard needs is a service
connector. You can either use an existing connector by providing its ID or name
`-sc <SERVICE_CONNECTOR_ID_OR_NAME>` or the wizard will create one for you.

Similar to the service connector, you can also use existing stack components.
However, this is only possible if these components are already configured with
the same service connector that you provided through the parameter
described above.
To register the cloud stack, the first thing that the wizard needs is a [service
connector](../auth-management/service-connectors-guide.md). You can either use
an existing connector by providing its ID or name
`-sc <SERVICE_CONNECTOR_ID_OR_NAME>` (CLI-Only) or the wizard will create one
for you.

{% hint style="warning" %}
Currently, the stack wizard only works on AWS and GCP. We are working on bringing
support to Azure as well. Stay in touch for further updates.
{% hint style="info" %}
Similar to the service connector, if you use the CLI, you can also use existing
stack components. However, this is only possible if these components are already
configured with the same service connector that you provided through the
parameter described above.
{% endhint %}

### Define Service Connector
Expand All @@ -70,7 +109,8 @@ If you decline auto-configuration next you might be offered the list of already
created service connectors available on the server: pick one of them and proceed or pick
`0` to create a new one.

#### AWS connection options
<details>
<summary>AWS: Authentication methods</summary>

If you select `aws` as your cloud provider, and you haven't selected a connector
or declined auto-configuration, you will be prompted to select an authentication
Expand Down Expand Up @@ -122,12 +162,12 @@ method for your cloud connector.
└─────────┴────────────────────────────────┴────────────────────────────────┘
```
{% endcode %}
</details>

<details>
<summary>GCP: Authentication methods</summary>

Based on your selection, you will have to provide the required parameters
listed below. This will allow ZenML to create a Service Connector and authenticate
you to use your cloud resources.

#### GCP

If you select `gcp` as your cloud provider, and you haven't selected a connector
or declined auto-configuration, you will be prompted to select an authentication
Expand Down Expand Up @@ -175,10 +215,34 @@ method for your cloud connector.
└─────────┴────────────────────────────────┴────────────────────────────────┘
```
{% endcode %}
</details>

<details>
<summary>Azure: Authentication methods</summary>

Based on your selection, you will have to provide the required parameters
listed below. This will allow ZenML to create a Service Connector and authenticate
you to use your cloud resources.
If you select `azure` as your cloud provider, and you haven't selected a
connector or declined auto-configuration, you will be prompted to select an
authentication method for your cloud connector.

{% code title="Available authentication methods for Azure" %}
```
Available authentication methods for AZURE
┏━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Choice ┃ Name ┃ Required ┃
┡━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ [0] │ Azure Service Principal │ client_secret (Service principal │
│ │ │ client secret) │
│ │ │ tenant_id (Azure Tenant ID) │
│ │ │ client_id (Azure Client ID) │
│ │ │ │
├────────┼─────────────────────────┼────────────────────────────────────┤
│ [1] │ Azure Access Token │ token (Azure Access Token) │
│ │ │ │
└────────┴─────────────────────────┴────────────────────────────────────┘
```
{% endcode %}

</details>

### Defining cloud components

Expand Down Expand Up @@ -225,21 +289,11 @@ service connector (if any)
```
{% endcode %}



### Final steps

Based on your selection, ZenML will create the stack component and ultimately
register the stack for you.

{% endtab %}

{% tab title="Dashboard" %}

We are working hard to bring this feature to our dashboard as well. Stay in
touch for further updates.

{% endtab %}
{% endtabs %}

There you have it! Through the wizard, you just registered a cloud stack
Expand Down