0
0

前回は、Kubernetesの基本的な用語と主要なコンポーネントの役割について説明しました。今回は、nginxのPodを実際にデプロイしてみたいと思います。

KubernetesでPodなどのリソースをデプロイする場合、主に二つの方法があります。

  1. kubectl createコマンドやkubectl runコマンドでデプロイする
  2. マニフェストファイルを作成し、マニフェストファイルを指定してkubectl createもしくはkubectl applyを実行する

このそれぞれの方法を使ってPodをデプロイしてみます。

前提

Kubernetesのリソースを操作するには、kubectlというツールをインストールする必要があります。お使いのOSに合わせて、ここを参考にしてインストールしてください。また、kubectlのバージョンはKubernetesクラスタのバージョンと合わせる必要がありますので、適宜置き換えてください。本稿では、v1.29.1を用います。

ワンライナーでPodのデプロイ

マニフェストファイルを使わずにリソースを作成するには、基本的にkubectl createコマンドを使います。ですがPodに限り、kubectl runコマンドという簡単にPodが作成できるコマンドが用意されています。

kubectl runコマンドは、kubectl run <pod-name> --image=<image-name>でPodを作成できます。

kubectl run run-nginx --image=nginx:latest

作成したPodを確認するには、kubectl getコマンドを使います。kubectl getコマンドは、kubectl get <resource-type>でリソースの一覧を取得できます。

$ kubectl get pod # リソースタイプにPodを指定
NAME                    READY   STATUS    RESTARTS   AGE
run-nginx               1/1     Running   0          18s

作成した、run-nginxというPodが確認できます。

マニフェストファイルを使ってPodのデプロイ

Kubernetesでは、基本的にすべてのリソースをマニフェストファイルと呼ばれるYAMLファイルで管理し、クラスタにこのYAMLファイルを適用することでリソースを作成します。

ワンライナーでPodを作成することも可能ですが、ここではマニフェストファイルを使って同様のPodを作成してみます。

manifest-nginx.yaml
apiVersion: v1
kind: Pod
metadata:
  name: manifest-nginx-pod
spec:
  containers:
  - name: manifest-nginx
    image: nginx

上記のマニフェストファイルを保存し、以下のコマンドを実行します。

kubectl apply -f manifest-nginx.yaml

作成したPodをkubectl get podで確認します。

$ kubectl get pod
NAME                    READY   STATUS    RESTARTS   AGE
manifest-nginx-pod      1/1     Running   0          4s
run-nginx               1/1     Running   0          11m

注意点

今回nginxのPodを作成しましたが、まだこのPodは外部に対して公開されていません。そのため、下記のようにcurlコマンドを実行しても結果は返ってきません。

curl <IP>:80

まとめ

今回はワンライナーでPodをデプロイする方法と、マニフェストファイルからPodをデプロイする方法を紹介しました。次回は、Serviceというリソースを作成し、外部からこのPodがアクセスできるようにしてみます。

0
0
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
0
0