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

kubernetes

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

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

Kubernetes小学校 夏休みのしおり

macOS Ventura 13.1 Apple Silicon で動作確認済み

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 version 0.17.0

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

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

参考書籍

仕組みと使い方がわかる Docker&Kubernetesのきほんのきほん – 2021/2/1

Kubernetes小学校 夏休みのしおり – 2020/9/18

Kubernetes完全ガイド 第2版 – 2020/8/7

実践入門 Kubernetesカスタムコントローラーへの道 (技術の泉シリーズ(NextPublishing)) – 2020/2/28

みんなのDocker/Kubernetes – 2019/4/18

Docker/Kubernetes 実践コンテナ開発入門 – 2018/8/25

コメント

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