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.1443/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
コメント