5
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Azure Kubernetes Service あれこれ

Last updated at Posted at 2023-02-03

やりたいこと

AKS (Azure Kubernetes Service) をいろいろ触る機会があって、概念レベルだった理解が深まったのでこの記事にまとめます。

AKS の作成や操作といった具体的な手順は別記事で投稿する予定です。

AKS (Azure Kubernetes Service) とは

公式ドキュメントより

Azure Kubernetes Service (AKS) を使用すると、運用上のオーバーヘッドが Azure にオフロードされるため、Azure でのマネージド Kubernetes クラスターのデプロイが簡素化されます。 ホストされた Kubernetes サービスとして、Azure によって正常性監視やメンテナンスなどの重要なタスクが処理されます。 AKS クラスターを作成すると、コントロール プレーンが自動的に作成されて構成されます。 このコントロール プレーンは、ユーザーから抽象化されたマネージド Azure リソースとして無料で提供されます。 AKS クラスターに接続されているノードに対してのみ課金され、管理します。

Web アプリケーションの各サービスをコンテナで構築するようなマイクロサービスを実現する上で、コンテナのオーケストレーションを行ってくれる Kubernetes を Azure が提供しているもの。Kubernetes のクラスター管理などを Azure が行ってくれるので、サービスの開発に集中でき、導入も簡単になる、というのが個人的な理解。

AKS の基本概念

大まかな流れ

  1. AKS クラスターを作成する
    • Azure CLI や Kubernetes CLI が便利
  2. マニフェストファイルを作成する
    • マニフェスト: Kubernetes のリソース定義 (YAML)
    • kind フィールドの値を変更することで定義対象を変更できる
  3. ポッドに関するマニフェストファイルをデプロイする
  4. アプリケーション (コンテナイメージ) が AKS 上で実行される

事前に行うこと (Optional)

  • AKS 用のアプリケーションを準備する
    • コンテナイメージを作成したり、ローカルでテストしたり
  • コンテナレジストリを作成する
    • ACR (Azure Container Registry) などを利用する

構成要素

AKS クラスターは大きく2つのコンポーネントに分割される

  • コントロールプレーン
  • ノード

image.png

コントロールプレーン

  • クラスターに関する全体的な決定を行う
  • クラスターイベントの検出および応答を行う (定義されたポッド数が満たされていないときに新しいポッドを起動するなど)
  • kube-apiserver 経由で API を呼び、クラスター内のリソースを管理する
  • AKS ではマネージドコントロールプレーンなため、高可用性を意識して構成する必要はないが、コントロールプレーンに直接アクセスはできない
    • 直接アクセスするためには、Cluster API Provider Azure を使用して自己管理型の Kubernetes クラスターを展開する

ノード

  • アプリケーションが実行されるリソース
  • クラスター内に少なくとも1つ以上存在する
  • AKS では Azure Virtual Machine によって実行されている
    • 1つのノードが1つの VM に相当する

image.png

ノードプール

  • 同じ構成のノードはノードプールにグループ化できる
  • クラスター内には少なくとも1つのノードプールが存在する
  • デフォルトの数とサイズはクラスター作成時に定義する

ワークロードの構成要素

  • ポッド
  • デプロイメント

ポッド

  • アプリケーションのインスタンス
  • 基本的には実行されるコンテナと1対1でマッピングされる
    • 1つのポッドに複数のコンテナを含む場合もある

デプロイメント

  • ポッドにデプロイするコンテナイメージの定義やレプリカ数などを YAML で定義する (マニフェスト)
  • 定義したマニフェストを API 経由でデプロイすることでポッドに適用されるとアプリケーションが実行される

以上です。

5
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?