SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

イラストではじめるKubernetes

イラストではじめる「Kubernetesが動くしくみ」~Kubernetesのリソースとマニフェストとは

  • X ポスト
  • このエントリーをはてなブックマークに追加

 本連載ではKubernetesの簡単な説明からはじまり、開発者の方にとってKubernetesを利用することで何が嬉しいのか、どのように開発フローが変わっていくのかについて、イラストを交えながら紹介します。この回ではKubernetesを利用する際によく登場する「Pod」や「Service」などの用語について説明します。また、ドキュメントを参照しながらマニフェストが読めるようになることを狙いとします。

  • X ポスト
  • このエントリーをはてなブックマークに追加

 まず連載第1回の簡単な復習をしましょう。Kubernetesはコンテナを本番で運用するために便利な機能をたくさん備えています。Kubernetesではリソースを作成することでコンテナを起動したりネットワークの設定を行ったりします。リソースを扱うためにはマニフェストを利用することがほとんどであるため、マニフェストの読み書きができるようになることがKubernetesを利用するための第一歩です。

コンテナ起動を例にしたマニフェストの解説

 Kubernetesでは、クラスタ上でコンテナを起動したり、ネットワークを設定したり、あらゆる操作をKubernetes APIサーバを通してリソースを登録・作成することにより実行します。例えば「NGINXのコンテナを起動したい」と言った時にはKubernetes APIサーバにマニフェストを添付したリクエストを送信し、Kubernetesクラスタはマニフェストを解読し、Podオブジェクトを作成、実際にコンテナを起動……といったことを行います(詳細なアーキテクチャについては後ほど説明します)。

 ではKubernetesのマニフェストはどのようなものなのか、具体的にみていきましょう。

 マニフェストはYAMLで書くことが多いですが、JSONで書くことも可能です(CLIを利用してYAMLからJSONに変換しているだけで、APIサーバへのリクエストはJSONで行われます)。

 これはNGINXのコンテナを起動するためのマニフェストです。KubernetesではコンテナをPodというリソースを利用してデプロイします。

 ここで例示されているマニフェストは大枠としては以下のように分かれています。

フィールド 概要
apiVersion 利用するAPIのバージョン
kind 作成するリソースの種類
metadata 作成するリソースにつける名前などのメタデータ
spec 作成するリソースの仕様

 metadata、apiVersion、kindは各リソース共通の必須入力項目です。今回はPodを例に出しましたが、共通項目に関しては他のリソースの読み書きする際にも重要になってくるので覚えておいてください。

 Pod用マニフェスト各項目に関しての詳細な仕様を知りたい場合は以下のドキュメントを参考にしてください。

会員登録無料すると、続きをお読みいただけます

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

次のページ
マニフェストとkubectl

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
イラストではじめるKubernetes連載記事一覧

もっと読む

この記事の著者

あおい(アオイ)

 大手メーカーにてソフトウェアエンジニアエンジニアを経て2019年7月サイボウズ株式会社にSREとして入社。 現行インフラ基盤上のアプリケーションを新インフラ基盤(Kubernetes)に移行するプロジェクトが主な仕事です。著書は、「まんがではじめるKubernetes」など。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/15710 2022/04/01 11:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング