LoginSignup
0
0

More than 3 years have passed since last update.

AKS Deployment でアプリケーションをデプロイする

Posted at

今回は Deployment を実行する方法を見ていきたいと思います。Kubernetes の Deployment では以下3点のことを実行するみたいです。
- Pod のロールアウト/ロールバック
- ロールアウト方式の指定
- ロールアウトの条件や速度の制御

つまり、Kubernetes における Deployment とは、コンテナーイメージのバージョンアップがあった際に、新しい ReplicaSet を作成し、準備新しいPod に置き換えてロールアウトする仕組み、とも解釈することができます。
ReplicaSet とよく似ているように思いますが、下記の図のような概念になるため、Deployment は ReplicaSet を包括した少し大きな枠組みと理解することが出来ます。
image.png

マニフェストファイルの作成

Deployment を定義するマニフェストファイルは以下のような形になります。kind の部分で Deployment を指定する様です。

deploysample.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment

spec:
  replicas: 3
  selector:
    matchLabels:
      app: nginx-pod

  template:
    metadata:
      labels:
        app: nginx-pod
    spec:
      containers:
      - name: nginx
        image: nginx:1.14
        ports:
        - containerPort: 80

Deployment の実行

前回記事で取り上げた、ReplicaSet を構築する方法と良く似ています。このマニフェストファイルを kubeclt apply -f Deployment/nginx-deployment.yaml で実行してみましょう。

$ kubectl apply -f deploysample.yaml
deployment.apps/nginx-deployment created

クラスター内の Deployment の一覧を確認するには、以下のコマンドを実行します。

$ kubectl get deploy
NAME               READY   UP-TO-DATE   AVAILABLE   AGE
nginx-deployment   3/3     3            3           2m51s

また、get replicaset,pod を実行すると、作成された ReplicaSet / Pod を確認することができます。Deployment のマニフェストファイルを実行するだけでどちらもデプロイできるのでとても便利ですね。

$ kubectl get replicaset,pod
NAME                                                DESIRED   CURRENT   READY   AGE
replicaset.extensions/nginx-deployment-5c987f56f6   3         3         3       9m22s

NAME                                    READY   STATUS    RESTARTS   AGE
pod/nginx-deployment-5c987f56f6-4kzbk   1/1     Running   0          9m22s
pod/nginx-deployment-5c987f56f6-94pkp   1/1     Running   0          9m22s
pod/nginx-deployment-5c987f56f6-h46nc   1/1     Running   0          9m22s

Deployment の実行方法について見てきました。次回は、Deployment を変更する方法について詳しく見ていきたいと思います。

参考

Deployments
https://kubernetes.io/docs/concepts/workloads/controllers/deployment/

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