Skip to content

Commit 942b089

Browse files
authored
fix image links
1 parent e0926fc commit 942b089

File tree

1 file changed

+17
-18
lines changed

1 file changed

+17
-18
lines changed

articles/azure-arc/kubernetes/tutorial-workload-management.md

Lines changed: 17 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ Created AKS clusters in kalypso-rg resource group:
7474
7575
This deployment script created an infrastructure shown on the following diagram:
7676
77-
:::image type="content" source="tutorial-workload-management/infra-diagram.png" alt-text="Diagram showing the infrastructure of the sample.":::
77+
:::image type="content" source="media/tutorial-workload-management/infra-diagram.png" alt-text="Diagram showing the infrastructure of the sample.":::
7878
7979
There are a few Platform Team repositories:
8080
@@ -266,13 +266,13 @@ The second policy states that all deployment targets from the `kaizen-app-team`
266266

267267
This push to the `dev` branch triggers the scheduling process and creates a PR to the `dev` branch in the `Platform GitOps` repository:
268268

269-
:::image type="content" source="tutorial-workload-management/pr-to-dev-with-app-assignment.png" alt-text="Screenshot showing a PR to dev environment with application assignment.":::
269+
:::image type="content" source="media/tutorial-workload-management/pr-to-dev-with-app-assignment.png" alt-text="Screenshot showing a PR to dev environment with application assignment.":::
270270

271271
Besides `Promoted_Commit_id`, which is just tracking information for the promotion CD flow, the PR contains assignment manifests. The `functional-test` deployment target is assigned to the `drone` cluster type, and the `performance-test` deployment target is assigned to the `large` cluster type. Those manifests are going to be landed in `drone` and `large` folders that contain all assignments to these cluster types in the `Dev` environment.
272272

273273
Note that there are `command-center` and `small` cluster types as well in the `Dev` environment:
274274

275-
:::image type="content" source="tutorial-workload-management/dev-cluster-types.png" alt-text="Screenshot showing acluster types in the Dev environment.":::
275+
:::image type="content" source="media/tutorial-workload-management/dev-cluster-types.png" alt-text="Screenshot showing acluster types in the Dev environment.":::
276276

277277
However, only the `drone` and `large` cluster types were selected by the scheduling policies that you defined.
278278

@@ -349,16 +349,16 @@ spec:
349349

350350
Once we have approved and merged the PR to the `Platform GitOps` repository, the `drone` and `large` AKS clusters that represent corresponding cluster types start fetching the assignment manifests. The `drone` cluster has Azure Arc GitOps configuration installed, pointing to the `Platform GitOps` repository. It reports its `compliance` status:
351351

352-
:::image type="content" source="tutorial-workload-management/drone-compliance-state.png" alt-text="Screenshot showing compliance state details for the drone cluster.":::
352+
:::image type="content" source="media/tutorial-workload-management/drone-compliance-state.png" alt-text="Screenshot showing compliance state details for the drone cluster.":::
353353

354354
The PR merging event starts a GitHub workflow `checkpromote` in the `control plane` repository that waits until all Azure Arc-enabled clusters looking at the `dev` branch in the `Platform GitOps` repository are compliant with the PR commit. In this tutorial, the only such cluster is `drone`.
355355

356-
:::image type="content" source="tutorial-workload-management/checkpromote-to-dev.png" alt-text="Screenshot showing promotion to dev.":::
356+
:::image type="content" source="media/tutorial-workload-management/checkpromote-to-dev.png" alt-text="Screenshot showing promotion to dev.":::
357357

358358
Once the `checkpromote` is successful, it starts the `cd` workflow that promotes the change (application registration) to the `Stage` environment. For better visibility, it also updates the git commit status in the `control plane` repository:
359359

360360
![Git commit status deploying to dev](media/tutorial-workload-management/dev-git-commit-status.png)
361-
:::image type="content" source="tutorial-workload-management/dev-git-commit-status.png" alt-text="Screenshot showing git commit status deploying to dev.":::
361+
:::image type="content" source="media/tutorial-workload-management/dev-git-commit-status.png" alt-text="Screenshot showing git commit status deploying to dev.":::
362362

363363
> [!NOTE]
364364
> If the `drone` cluster fails to reconcile the assignment manifests for any reason, the promotion flow will fail. The commit status will be marked as failed, and the application registration will not be promoted to the `Stage` environment.
@@ -399,29 +399,29 @@ Pushing this policy to the `stage` branch triggers the scheduling process, which
399399

400400
As in the case with the `Dev` environment, after reviewing and merging the PR to the `Platform GitOps` repository, the `checkpromote` workflow in the `control plane` repository waits until Azure Arc-enabled clusters with Flux (`drone`) reconcile the assignment manifests:
401401

402-
:::image type="content" source="tutorial-workload-management/check-promote-to-stage.png" alt-text="Screenshot showing promotion to stage.":::
402+
:::image type="content" source="media/tutorial-workload-management/check-promote-to-stage.png" alt-text="Screenshot showing promotion to stage.":::
403403

404404
On successful execution, the commit status is updated:
405405

406-
:::image type="content" source="tutorial-workload-management/stage-git-commit-status.png" alt-text="Screenshot showing successful commit status.":::
406+
:::image type="content" source="media/tutorial-workload-management/stage-git-commit-status.png" alt-text="Screenshot showing successful commit status.":::
407407

408408
## 3 - Application Dev Team: Build and deploy application
409409

410410
The Application Team regularly submits pull requests to the `main` branch in the `Application Source` repository. Once a PR is merged to `main`, it starts a CI/CD workflow. In this tutorial, the workflow will be started manually.
411411

412412
Go to the `Application Source` repository in GitHub. On the `Actions` tab, select `Run workflow`:
413413

414-
:::image type="content" source="tutorial-workload-management/run-workflow-button.png" alt-text="Screenshot showing the Run workflow option.":::
414+
:::image type="content" source="media/tutorial-workload-management/run-workflow-button.png" alt-text="Screenshot showing the Run workflow option.":::
415415

416416
The workflow does the following:
417417

418-
:::image type="content" source="tutorial-workload-management/cicd-workflow.png" alt-text="Screenshot showing the CI/CD workflow.":::
418+
:::image type="content" source="media/tutorial-workload-management/cicd-workflow.png" alt-text="Screenshot showing the CI/CD workflow.":::
419419

420420
- Builds application Docker image and pushes it to the GitHub repository package.
421421
- Generates manifests for the `functional-test` and `performance-test` deployment targets. It uses configuration values from the `dev-configs` branch. The generated manifests are PRed and auto-merged in the `dev` branch.
422422
- Generates manifests for the `uat-test` deployment target. It uses configuration values from the `stage-configs` branch. The generated manifests are PRed to the `stage` branch waiting for approval:
423423

424-
:::image type="content" source="tutorial-workload-management/app-pr-to-stage.png" alt-text="Screenshot showing a PR to stage.":::
424+
:::image type="content" source="media/tutorial-workload-management/app-pr-to-stage.png" alt-text="Screenshot showing a PR to stage.":::
425425

426426
To test the application manually on the `Dev` environment before approving the PR to the `Stage` environment, first verify how the `functional-tesl` application instance works on the `drone` cluster:
427427

@@ -436,7 +436,7 @@ kubectl port-forward svc/hello-world-service -n dev-kaizen-app-team-hello-world-
436436

437437
While this command is running, open `localhost:9090` in your browser. You'll see the following greeting page:
438438

439-
:::image type="content" source="tutorial-workload-management/dev-greeting-page.png" alt-text="Screenshot showing the Dev greeting page.":::
439+
:::image type="content" source="media/tutorial-workload-management/dev-greeting-page.png" alt-text="Screenshot showing the Dev greeting page.":::
440440

441441
The next step is to check how the `performance-test` instance works on the `large` cluster:
442442

@@ -470,7 +470,7 @@ kubectl port-forward svc/hello-world-service -n stage-kaizen-app-team-hello-worl
470470

471471
The application instance on the `large` cluster shows the following greeting page:
472472

473-
:::image type="content" source="tutorial-workload-management/stage-greeting-page.png" alt-text="Screenshot showing the greeting page on stage.":::
473+
:::image type="content" source="media/tutorial-workload-management/stage-greeting-page.png" alt-text="Screenshot showing the greeting page on stage.":::
474474

475475
## 4 - Platform Team: Provide platform configurations
476476

@@ -505,7 +505,7 @@ The scheduler scans all config maps in the environment and collects values for e
505505

506506
In a few seconds, a new PR to the `stage` branch in the `Platform GitOps` repository appears:
507507

508-
:::image type="content" source="tutorial-workload-management/stage-db-url-update-pr.png" alt-text="Screenshot showing a PR to update the database URL on stage.":::
508+
:::image type="content" source="media/tutorial-workload-management/stage-db-url-update-pr.png" alt-text="Screenshot showing a PR to update the database URL on stage.":::
509509

510510
Approve the PR and merge it.
511511

@@ -524,7 +524,7 @@ kubectl port-forward svc/argocd-server 8080:80 -n argocd --context large
524524

525525
Next, open `localhost:8080` in your browser and provide the username and password printed by the script. You'll see a web page similar to this one:
526526

527-
:::image type="content" source="tutorial-workload-management/argocd-ui.png" alt-text="Screenshot showing the Argo CD user interface web page.":::
527+
:::image type="content" source="media/tutorial-workload-management/argocd-ui.png" alt-text="Screenshot showing the Argo CD user interface web page.":::
528528

529529
Select the `stage` tile to see more details on the reconciliation state from the `stage` branch to this cluster. You can select the `SYNC` buttons to force the reconciliation and speed up the process.
530530

@@ -538,8 +538,7 @@ kubectl port-forward svc/hello-world-service -n stage-kaizen-app-team-hello-worl
538538

539539
You'll see the updated database url:
540540

541-
![Page with updated database url](media/tutorial-workload-management/updated-db-url-page.png)
542-
:::image type="content" source="tutorial-workload-management/updated-db-url.png" alt-text="Screenshot showing a page with updated database url.":::
541+
:::image type="content" source="media/tutorial-workload-management/updated-db-url.png" alt-text="Screenshot showing a page with updated database url.":::
543542

544543
## 5 - Platform Team: Add cluster type to environment
545544

@@ -573,7 +572,7 @@ git push
573572

574573
In a few seconds, the scheduler submits a PR to the `Platform GitOps` repository. According to the `uat-test-policy` that you created, it assigns the `uat-test` deployment target to the new cluster type, as it is supposed to work on all available cluster types in the environment.
575574

576-
:::image type="content" source="tutorial-workload-management/small-cluster-type-assignment.png" alt-text="Screenshot showing the assignment for the small cluster type.":::
575+
:::image type="content" source="media/tutorial-workload-management/small-cluster-type-assignment.png" alt-text="Screenshot showing the assignment for the small cluster type.":::
577576

578577
## Clean up resources
579578
When no longer needed, delete the resources that you created for this tutorial. To do so, run the following command:

0 commit comments

Comments
 (0)