KIND(Kubernetes IN Docker)を使ったマルチノードクラスタの構築を下記で行いましたが、Mac(arm64)でも同様の環境を構築してみました。
今回目的としたのは、コンテナにロードバランサ経由でアクセスしようとしたのですが、EXTERNAL-IP がpendingのまま変化せず、うまくいきませんでした。いろいろと調べた結果、Linux以外でDockerDesktopを使用した環境では、うまくいかないことを明示されている記事も見つかったことから今回はあきらめました。
しかしそれ以外のアクセス方法についてもメモとして残しておきたいので、実際に動かしてみました。
参考)
https://qiita.com/fruscianteee/items/bee47afe3222f0d073ce
https://qiita.com/yuanying/items/704a173033410d882eea
ttps://speakerdeck.com/uesyn/kubernetes-meetup-tokyo-24-kind-with-type-loadbalancer?slide=8
https://mauilion.dev/posts/kind-metallb/
https://qiita.com/superbrothers/items/0dca5d2a10727fc14734
config.yaml
1 2 3 4 5 6 7 8 9 |
kind: Cluster apiVersion: kind.x-k8s.io/v1alpha4 nodes: - role: control-plane - role: worker - role: worker extraPortMappings: - containerPort: 30080 hostPort: 10080 |
deploy.yaml(実際はファイル名を間違えていました)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
apiVersion: apps/v1 kind: Deployment metadata: name: demo-deploy spec: replicas: 3 selector: matchLabels: app: demo-app template: metadata: labels: app: demo-app spec: containers: - name: nginx-container image: nginx:latest |
service.yaml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
apiVersion: v1 kind: Service metadata: name: demo-service spec: type: NodePort ports: - name: "http-port" protocol: "TCP" port: 8080 targetPort: 80 nodePort: 30080 selector: app: demo-app |
上記最後を含め、個別のworkerに対するアクセス
サービスに対するアクセス
extraPortMappingsによるアクセス
またLinuxでも試したいと思います。