😊

マニュフェストをYAMLに自動生成する/YAMLからポッドを起動する

2021/02/22に公開

はじめに

くーばねてすをやっつけるために新たなステージに上がるためについにdockerさんに会いに行くことにした。dockerさんと仲良くなることでコンテナシステムの仕組みの理解とくーばねてすを倒すための調査をする。今回はkubernetesマニフェストの作成とマニフェストからオブジェクトの作成を勉強する。

概要

■マニフェストからオブジェクトを作成する
■ワンライナーでマニフェストファイルを生成する方法

をまとめた(>_<)

■マニフェストからオブジェクトを作成する

前回と同じnginxコンテナを作成するポッドをマニフェストで指定し、ポッドのたちあげをする。

nginx-pod.yml
apiVersion: v1
kind: Pod
metadata:
  creationTimestamp: null
  labels:
    run: nginx
  name: nginx
spec:
  containers:
  - image: nginx
    name: nginx
    resources: {}
  dnsPolicy: ClusterFirst
  restartPolicy: Always
status: {}

マニフェストからオブジェクトを生成する↓

$ kubectl apply -f マニフェストファイル名

作成してみる。

作成してみる
$ kubectl apply -f nginx-pod.yml
pod/nginx created

ポッドの確認をする。

$ kubectl get po
NAME          READY   STATUS             RESTARTS   AG
nginx         1/1     Running            0          102s

ポッドが作成された。

■ワンライナーでマニフェストファイルを生成する方法

通常のnginxファイルを作成したいとき、

$ kubectl run nginx --image=nginx --restart=Always --dry-run=client --output=yaml > nginx-pod.yml

--dry-run=client --output=yamlでYAML形式に変換した内容を ymlファイルに上書きする方法でマニフェストファイルを生成する。
作成してみる。

作成してみる
$ kubectl apply -f nginx-pod.yml
pod/nginx created

まとめ

ワンライナーを極めたいと思った。(>_<)

Discussion