kind でとりあえず nginx を動かす

kubernetes

kubernetes のマルチノードをローカル環境でも構築できる
kind(Kubernetes in Docker) を使って、macOS で最小限の手順で nginx の初期ページを表示できるようにします。

以下の書籍を参考にさせていただきました。

Kubernetes小学校 夏休みのしおり

macOS Catalina で動作確認済み

kind を動かすには Docker Desktop for Mac のインストールも必要です。
以下からインストールしてください。

Docker Desktop for Mac
https://hub.docker.com/editions/community/docker-ce-desktop-mac

kind のインストール

% brew install kind

バージョン確認

% kind --version
kind v0.9.0 go1.15.2 darwin/amd64

以下のファイルを用意します

cluster.yml


kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
nodes:
- role: control-plane
  extraPortMappings:
  - containerPort: 30080
    hostPort: 80
    listenAddress: "0.0.0.0"
    protocol: TCP

service.yml


apiVersion: v1
kind: Service
metadata:
  labels:
    app: nginx
  name: nginx
spec:
  ports:
  - port: 80
    protocol: TCP
    targetPort: 80
    nodePort: 30080
  selector:
    app: nginx
  type: NodePort

クラスターを作成します

% kind create cluster --config cluster.yml 

nginx を deploy

% kubectl create deploy nginx --image=nginx

サービスを apply

% kubectl apply -f service.yml

ブラウザで http://localhost にアクセスして
以下のように表示されれば成功です。

念のため現在のステータスを確認してみます。

% kubectl get deployment
NAME    READY   UP-TO-DATE   AVAILABLE   AGE
nginx   1/1     1            1           6m24s
% kubectl get service
NAME         TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)        AGE
kubernetes   ClusterIP   10.96.0.1               443/TCP        6m32s
nginx        NodePort    10.96.102.115           80:30080/TCP   4m38s

kubernetes の学習にオススメの本

Kubernetes完全ガイド 第2版 impress top gearシリーズ

みんなのDocker/Kubernetes

Docker/Kubernetes 実践コンテナ開発入門

コメント

タイトルとURLをコピーしました