Azure Kubernetes Service(AKS)について解説

お疲れ様です。
最近よく映画を見るのですが、改めて声優さん達はキャラクターに命を吹き込むすごい仕事だなと感じる宮﨑です。

 
今回はAzure Kubernetes Service(AKS)についてになります。別の記事でAzure Container Instances(ACI)の説明を行いましたが、こちらはAzure内でコンテナを最も高速かつ簡単に構築できるサービスでした。

 
今回はACIと対になる、AKSの知識編になります。

 

Azure Kubernetes Service(AKS)とは

Kubernetes は、コンテナー化されたアプリケーションのデプロイ、スケーリング、管理を自動化するためのオープンソース システムです。 Azure Kubernetes Service (AKS) を使用すると、マネージド Kubernetes クラスターを Azure 内に簡単にデプロイできます。

組織により、Azure での Kubernetes の理解、合理化、導入の段階はさまざまです。 他の多くのテクノロジを導入する場合と同じように、組織では学習、役割と責任に沿った組織の調整、運用環境に対応したワークロードのデプロイなどの過程を経ます。 そこからは、顧客とビジネスの需要の変化に合わせて製品を拡張する作業を繰り返します。 Azure Kubernetes Service (AKS) – 設計と運用を計画します

 
簡単に構築出来る代わりに特別な機能がないACIとは逆に、値段は安くはないですが強力な機能を多数サポートしているのがAKSの特徴になります。

 

Azure Kubernetes Service(AKS)の使用方法

 

AKSクラスターを作成する

file

 
リソースの作成よりAzure Kubernetes Service、作成を選択します。

 
file

 
基本設定です。テスト用のため、自分で入力する部分以外はデフォルトで進めます。Kubernetesクラスターという新しい用語が出てきましたが、各用語などの深掘りは別記事にまとめます。

 
file

 
file

 
file

 
サイズ設定になります。デフォルトのサイズを調べてみると月で約3万円でした。高いですね…。今回はAzureユーザが使用することの多いB4msサイズに変更します。テストなので起動する時間は短くそこまで料金はかかりませんが、一応保険として。

 
file

 
スケーリング方法とノード数の設定が出来ます。ACIでは単一のコンテナを実行することしか出来ませんでしたが、AKSでは任意の数を、手動か自動化まで設定が可能です。

 
file

 
他部分は基本的にデフォルト設定で進めます。最後に確認をして、作成を選択します。

 
file

 
作成が完了しました。ACIより設定が多い分、時間も長めでした。

 

kubectlを使用してAKSを管理する

 
Kubernetesを管理するためのコマンドラインツール、kubectlを使用します。今回ははじめからインストール済のCloud Shellでbashを使用します。

 

az aks get-credentials --resource-group リソースグループ --name 作成したAKSクラスター名

 
先ほど作成したAKSクラスターに接続しましょう。

 
file

 
接続が完了しました。

 

kubectl get nodes

 
次に実行されているノードを調べてみます。

 
file

 
2台のノードが実行されているのがわかります。これでアプリをデプロイする準備が整いました。

 

AKSクラスターにアプリをデプロイする

 

git clone https://github.com/Azure-Samples/azure-voting-app-redis.git

 
file
 
GitHubから単純な投票が出来るサンプルアプリをダウンロードします。

 

cd azure-voting-app-redis

 
file

 
ディレクトリを移動します。アプリをデプロイしましょう。

 

kubectl apply -f azure-vote-all-in-one-redis.yaml

 
file

 
フロントエンド、バックエンドのサービスが作成されアプリをデプロイしました。

 

kubectl get service

 
file

 
サービスの一覧を取得してみると、フロントエンドにIPアドレスが割り当てられています。アクセスしてみます。

 
file

 
無事にログインすることが出来ました。Kubernetesクラスターへ正常にデプロイが完了です。お疲れ様でした。

 

まとめ

スケーリングなどACIでは出来ない機能が多くあるのでためしてみます、また用語などの深掘りもしていき知識をつけていきます。最後まで読んでいただきありがとうございました。

Last modified: 2024-02-06

Author