Kubernetesに必要な前提知識
Kubernetesはコンテナ化されたアプリケーションのデプロイ、スケーリングなどの管理を自動化するためのプラットフォーム(コンテナオーケストレーションエンジン)です。
要するに、コンテナを管理するためのプラットフォームです。
コンテナを管理するためのものだから、まずコンテナの知識も必要ですね。
コンテナ(ランタイム)はよく耳にするのはDockerではないでしょうか。KubernetesはDockerだけではなく、containerdなども管理できます。
私はDockerでの経験があるので、ブログの内容はDockerを前提として説明していきます。
また、自分はクラウドインフラエンジニアのため、Kubernetesの説明は基本GCP(googleのクラウド)をベースにして説明していきます。
必要なDockerの知識
Kubernetesはコンテナを管理するためのものだから、コンテナ作成するためのものはやはりDockerで用意しないといけません。
Dockerだけでも色々できますが、ここはKubernetesの使用を前提にして、Dockerの知識を最小限抑える方針で説明します。
必要最小限のDockerの知識とは以下です
- Dockerの使い方
- Dockerイメージ操作関連のコマンド
- Dockerfileの書き方
Dockerの使い方
Docker環境を作るには、以下のソフトウェアで簡単にできます。
- Dockerソフトウェア:
- Docker for Windows
- Docker for mac
- Docker Toolbox
環境を整えると、Dockerのコマンドが使えるようになるし、コンテナを立ち上げることも可能です。Kubernetesを使うことが前提ですので、使用が必要なコマンドも限られています。
Dockerイメージ操作関連のコマンド
Dockerでイメージを取得、作成、アップロードするためのコマンドは以下で説明します。
<...>
:使用時に書き換える内容
[...]
:省略可能内容
# docker HUBのイメージを検索する
docker search <キーワード>
# イメージを取得(ダウンロード)する。プライベートのイメージの場合はログインが必要です。
docker pull <イメージ名>[:<tag名>]
# loginコマンド:DockerHUBのプライベートイメージを使う場合
docker login
# loginコマンド:GCPのプライベートイメージを使う場合
gcloud auth configure-docker
# イメージ作成
# build image
# -f
オプション:Dockerファイル名指定。デフォルト値は ./Dockerfile
# <biuld context directory>:イメージ作成時に、docker daemon(イメージ作成用のプロセス)にコピーするディレクトリ
docker build [-t <イメージ名>[:<tag名>]] [-f <Dockerファイルのパス(相对パス)>] [<biuld context directory>]
# ローカルのdocker image一覧出力
docker images
# イメージにtagを付ける
docker tag <ローカルのイメージ名> <docker hub ID>/<イメージ名>:<tag名>
# イメージアップロード
docker push <アップロード先>
Dockerfileの書き方
DockerfileはDockerイメージの中身を記述するファイルです。
詳しい書き方ここで書くとすごく長くなってしまいますので、ここでは割愛させていただきます。また今後タイミングを見て、この部分を入れていこうと思います。
最後に
Kubernetesを始めるために必要な知識はおわかりいただけただけましたでしょうか。
次の記事から、Kubernetesについて説明していきます。
また、Kubernetesは世間でk8sと略称しています。
今後はk8sで記述していきます。
コメント