AKSを使うと、ホストされている Kubernetes 環境を管理できます。
これにより、コンテナーオーケストレーションの知識がなくてもコンテナー化されたアプリケーションを迅速かつ簡単にデプロイおよび管理できるようになります。
Azure Kubernetes Service の概要 | Microsoft Docs
アクセス、セキュリティ、および監視
AKS では、Azure Active Directory と統合して、Kubernetes のロールベースのアクセス制御を使用することができます。
また、クラスターとリソースの正常性を監視することもできます。
AKS ノードは Azure 仮想マシンで実行されます。
サービスを実行するクラスターノードやポッドの数を自動的にスケールアップ、ダウンすることができます。
開発ツールの統合
Kubernetes には、Helm、Draft、Visual Studio Code 用の Kubernetes 拡張機能など、
これらのツールは、AKS でシームレスに動作します。
Docker イメージのサポートとプライベート コンテナー レジストリ
AKS は Docker イメージ形式をサポートしています。
最初のセットアップ
AzureCloudShell を使うか、WindowsマシンからAzure CLIを実行するかどちらかを選択します。
今回はAzureCLIをAzureCloud Shellから実行してみました。
Azure CloudShell
docs.microsoft.com
Azure CLIのインストール
下記ページを参照
docs.microsoft.com
リソースグループの作成
まず、AKSをデプロイするリソースグループを作成します。
az group create --name myAKSCluster --location eastus
AKSクラスターを作成します。
次の例は"myAKSCluster"という名前のクラスターを 1 つのノードで作成する例です。
az aks create --resource-group myAKSCluster --name myAKSCluster --node-count 1 --enable-addons monitoring --generate-ssh-keys
Azure Cloud Shellの場合は、既にインストールされているので実行しなくて大丈夫です。
az aks install-cli
4.資格情報をダウンロードし、Kubernetes CLI を構成してそれらの資格情報を使用する
az aks get-credentials --resource-group myAKSCluster --name myAKSCluster
5.接続確認として、クラスター ノードの一覧を取得する
kubectl get nodes
6. アプリケーションを定義するyamlファイルを作成する
"azure-vote.yaml"という名前のyamlファイルを下記コードをそのままコピペして作成します。
apiVersion: apps/v1
kind: Deployment
metadata:
name: azure-vote-back
spec:
replicas: 1
selector:
matchLabels:
app: azure-vote-back
template:
metadata:
labels:
app: azure-vote-back
spec:
containers:
- name: azure-vote-back
image: redis
resources:
requests:
cpu: 100m
memory: 128Mi
limits:
cpu: 250m
memory: 256Mi
ports:
- containerPort: 6379
name: redis
---
apiVersion: v1
kind: Service
metadata:
name: azure-vote-back
spec:
ports:
- port: 6379
selector:
app: azure-vote-back
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: azure-vote-front
spec:
replicas: 1
selector:
matchLabels:
app: azure-vote-front
template:
metadata:
labels:
app: azure-vote-front
spec:
containers:
- name: azure-vote-front
image: microsoft/azure-vote-front:v1
resources:
requests:
cpu: 100m
memory: 128Mi
limits:
cpu: 250m
memory: 256Mi
ports:
- containerPort: 80
env:
- name: REDIS
value: "azure-vote-back"
---
apiVersion: v1
kind: Service
metadata:
name: azure-vote-front
spec:
type: LoadBalancer
ports:
- port: 80
selector:
app: azure-vote-front
7.CloudShell上で実行できるように作成したyamlファイル(azure-vote.yaml)をアップロードする
ファイルのアップロードボタンを使用してyamlファイルをアップロードします。
8.アプリケーションを実行する
アプリケーションが実行されると、アプリケーション フロントエンドをインターネットに公開する Kubernetes サービスが作成されます。
kubectl apply -f azure-vote.yaml
9.アプリケーションをテストする
Kubernetes サービス作成の進行状況を監視するには下記のコマンドを実行します。
kubectl get service azure-vote-front --watch
azure-vote-front サービスの EXTERNAL-IPが"保留中"から"IPアドレス"に変わったらCtrl + C
で監視を停止します。
取得したEXTERNAL-IPでブラウザにアクセスをすると、下記画像のようなAzure Vote Appが表示されます。
10.クラスターを削除する
クラスタが不要になったら下記コマンドを実行して削除します。
az aks delete --resource-group myResourceGroup --name myAKSCluster --no-wait
参考ページ
docs.microsoft.com
docs.microsoft.com