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

Support to reference multiple container projects #3236

Open
Tracked by #2729
wbreza opened this issue Jan 27, 2024 · 0 comments · May be fixed by #3946
Open
Tracked by #2729

Support to reference multiple container projects #3236

wbreza opened this issue Jan 27, 2024 · 0 comments · May be fixed by #3946
Assignees
Labels
aca Azure Container Apps aks Azure Kubernetes Service
Milestone

Comments

@wbreza
Copy link
Contributor

wbreza commented Jan 27, 2024

When working with AKS it is very common to be composing multiple k8s resources that comprise of deployments, services, configuration & ingress to name a few.

If the intent is to build/package/push multiple containers these containers and their relevant source code will more easily be managed in the context of a single azd service.

Developers can utilize popular k8s deployment tools like Helm, Kustomize or raw yaml definitions to compose the resource definitions into a single atomic deployment command.

Example

# azure.yaml

name: todo-nodejs-mongo-aks
metadata:
  template: [email protected]
services:
  todo:
    host: aks
    # Manually specify the AKS cluster name to connect to already existing cluster (default: AZURE_AKS_CLUSTER_NAME)
    resourceName: aks-22mkcdyjkqce2
    # Manually specify the ACR registry to connect to already existing cluster (default: AZURE_CONTAINER_REGISTRY_ENDPOINT)
    docker:
      registry: cr22mkcdyjkqce2.azurecr.io
    # The containers that need to be built, packaged and deployed for this service
    containers:
      web:
        project: ./src/web
        dist: build
        language: js
      api:
        project: ./src/api
        language: js
    k8s:
      # The default namespace used in the kubeconfig file (default: ${project.name})
      namespace: todo
      # Whether or not the cluster kubeconfig should be merged into the main .kube/config file (default: true)
      mergeKubeConfig: false
      # Configure the helm releases to deploy for this AKS cluster
      helm:
        releases:
          - name: todo
            chart: ./charts/todo
            values:
              - ./charts/todo/${AZD_ENV_NAME}-values.tmpl.yaml
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
aca Azure Container Apps aks Azure Kubernetes Service
Projects
None yet
2 participants