kubernetesはkubectl port-forwardを使用してアプリケーションにアクセスします

3840 ワード

概要または機能ポート転送によって指定したアプリケーションポートにマッピングされたローカルポート
例Redis deployment and service redis deploymentの作成
kubectl create -f https://k8s.io/docs/tutorials/stateless-application/guestbook/redis-master-deployment.yaml

redis serverの作成
kubectl create -f https://k8s.io/docs/tutorials/stateless-application/guestbook/redis-master-service.yaml

redis serverが露出しているポートを確認するのは6379です.
kubectl get pods redis-master-xxxxx --template='{{(index (index .spec.containers 0).ports 0).containerPort}}{{"
"
}}
'

ローカルのportをpodのportにマッピングする
kubectl port-forward redis-master-765d459796-258hz 6379:6379 
  
kubectl port-forward pods/redis-master-765d459796-258hz 6379:6379
  
kubectl port-forward deployment/redis-master 6379:6379 
  
kubectl port-forward rs/redis-master 6379:6379 
  
kubectl port-forward svc/redis-master 6379:6379

成功すると次のような出力が得られます.
I0710 14:43:38.274550    3655 portforward.go:225] Forwarding from 127.0.0.1:6379 -> 6379
I0710 14:43:38.274797    3655 portforward.go:225] Forwarding from [::1]:6379 -> 6379

コマンドラインからredisにアクセス
redis-cli
127.0.0.1:6379>ping

END
参考:port-forward-access-application-cluster