Azure Dev Spaces でプライベート Helm リポジトリを使用するUse a private Helm repository in Azure Dev Spaces

Helm は、Kuberentes 用のパッケージ マネージャーです。Helm is a package manager for Kuberentes. Helm では、依存関係をパッケージ化するためにチャート形式が使用されます。Helm uses a chart format to package dependencies. Helm チャートは、パブリックまたはプライベートのリポジトリに格納されます。Helm charts are stored in a repository, which can be public or private. Azure Dev Spaces では、アプリケーションを実行するときに、パブリックリ ポジトリからのみ Helm チャートが取得されます。Azure Dev Spaces only retrieves Helm charts from public repositories when running your application. Helm リポジトリがプライベートである場合、または Azure Dev Spaces でアクセスできない場合は、そのリポジトリからアプリケーションにチャートを直接追加できます。In cases where the Helm repository is private or Azure Dev Spaces can't access it, you can add a chart from that repository directly to your application. チャートを直接追加すると、Azure Dev Spaces で、プライベート Helm リポジトリにアクセスしなくてもアプリケーションを実行することができます。Adding the chart directly lets Azure Dev Spaces run your application without having to access the private Helm repository.

プライベート Helm リポジトリをローカル コンピューターに追加するAdd the private Helm repository to your local machine

helm repo addhelm repo update を使用して、ローカル コンピューターからプライベート Helm リポジトリにアクセスします。Use helm repo add and helm repo update to access the private Helm repository from your local machine.

helm repo add privateRepoName http://example.com/helm/v1/repo --username user --password 5tr0ng_P@ssw0rd!
helm repo update

アプリケーションにチャートを追加するAdd the chart to your application

プロジェクトのディレクトリに移動して、azds prep を実行します。Navigate to your project's directory and run azds prep.

azds prep --public

アプリケーションのチャート ディレクトリにチャートを含む requirements.yaml ファイルを作成します。Create a requirements.yaml file with your chart in your application's chart directory. たとえば、アプリケーションの名前が app1 の場合は、charts/app1/requirements.yaml を作成します。For example, if your application is named app1, you would create charts/app1/requirements.yaml.

dependencies:
    - name: mychart
      version: 0.1.0
      repository:  http://example.com/helm/v1/repo

アプリケーションのチャート ディレクトリに移動し、helm dependency update を使用して、アプリケーションの Helm 依存関係を更新し、プライベート リポジトリからチャートをダウンロードします。Navigate to your application's chart directory and use helm dependency update to update the Helm dependencies for your application and download the chart from the private repository.

helm dependency update

tgz ファイルを含む charts サブディレクトリが、アプリケーションのチャート ディレクトリに追加されていることを確認します。Verify a charts subdirectory with a tgz file has been added to your application's chart directory. たとえば、charts/app1/charts/mychart-0.1.0.tgz のようになります。For example, charts/app1/charts/mychart-0.1.0.tgz.

チャートをプライベート Helm リポジトリからダウンロードして、プロジェクトに追加しました。The chart from your private Helm repository has been downloaded and added to your project. Dev Spaces でこの依存関係の更新が試行されないように、requirements.yaml ファイルを削除します。Remove the requirements.yaml file so that Dev Spaces won't try to update this dependency.

アプリケーションを実行するRun your application

プロジェクトのルート ディレクトリに移動し、azds up を実行して、アプリケーションが開発スペースで正常に実行されていることを確認します。Navigate to the root directory of your project and run azds up to verify your application successfully runs in your dev space.

$ azds up
Using dev space 'default' with target 'MyAKS'
Synchronizing files...2s
Installing Helm chart...2s
Waiting for container image build...2m 25s
Building container image...
...
Service 'app1' port 'http' is available at http://app1.1234567890abcdef1234.eus.azds.io/
Service 'app1' port 80 (http) is available at http://localhost:54256
...

次の手順Next steps

Helm とそのしくみについてさらに学習します。Learn more about Helm and how it works.