[A-00238] Kubernetes 1000本ノック (3)
前回記事はこちら
Nodeportを使って外部からpodに通信しようと思います。
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx
spec:
replicas: 2
selector:
matchLabels:
app: nginx-dep
template:
metadata:
labels:
app: nginx-dep
spec:
containers:
- name: nginx
image: nginx:latest
ports:
- containerPort: 80
apiVersion: v1
kind: Service
metadata:
name: node-port
spec:
type: NodePort
ports:
- name: node-port
protocol: TCP
port: 8080
targetPort: 80
nodePort: 30001
selector:
app: nginx-dep
上記をデプロイして各podのnginxのhtmlを書き換えます。書き換え方法は前回記事を見てください。
書き換えが済んだらブラウザからnodeportにアクセスします。describeコマンドでIPを表示し、30001ポートにアクセスすることで2つのpodにロードバランシングされます。
kubectl apply -f deployment.yml,nodeport.yml
user@usernoMacBook-Pro external_ip_test % kubectl describe service/node-port
Name: node-port
Namespace: default
Labels: <none>
Annotations: <none>
Selector: app=nginx-dep
Type: NodePort
IP Family Policy: SingleStack
IP Families: IPv4
IP: 10.97.209.247
IPs: 10.97.209.247 // localhostでアクセスで問題なし
Port: node-port 8080/TCP
TargetPort: 80/TCP
NodePort: node-port 30001/TCP
Endpoints: 10.1.0.188:80,10.1.0.187:80
Session Affinity: None
External Traffic Policy: Cluster
Internal Traffic Policy: Cluster
Events: <none>

Appendix
参考文献はこちら
https://qiita.com/dingtianhongjie/items/8f3c320c4eb5cf25d9de
https://qiita.com/dingtianhongjie/items/d3dda4583ae013c9d6eb
https://zenn.dev/suiudou/articles/7dad08c5b64283
https://cstoku.dev/posts/2018/k8sdojo-05
https://qiita.com/dingtianhongjie/items/cead36bedffbd57ce100
コメントを残す