kubernetesパブリッシングサービス
Kubernetesクラスターにポッドを作成し、正常に実行されていることを確認します。
# 拉取nginx 的pod
[root@zjj101 ~]# kubectl create deployment nginx --image=nginx
deployment.apps/nginx created
# 查看pod ,发现了一个nginx,等status状态变成running状态后就可以了
[root@zjj101 ~]# kubectl get pod
NAME READY STATUS RESTARTS AGE
nginx-f89759699-rh5lk 1/1 Running 0 2m19s
外部ポートが公開されています。公開しないと、外部ネットワークにアクセスできません。nginxのデフォルトポートは80です。
コマンド:kubectl Exposure Deployment nginx --port = 80 --type = NodePort
[root@zjj101 ~]# kubectl expose deployment nginx --port=80 --type=NodePort
service/nginx exposed
外部ポートの表示:kubectl get pod、svc
[root@zjj101 ~]# kubectl get pod,svc
NAME READY STATUS RESTARTS AGE
pod/nginx-f89759699-rh5lk 1/1 Running 0 5m10s
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 15m
service/nginx NodePort 10.98.67.59 <none> 80:31715/TCP 46s
nginxによって公開されているポートは31715であることがわかります
ブラウザを開いてテストします
zjj101 zjj102 zjj103は、Windowsマシンでホストマッピングを行ったものです。実際、zjj101はマスターマシン、zjj102はnode1マシン、zjj103はnode2マシンです。
http:// zjj101:31715 /
http:// zjj102:31715 /
http:// zjj103:31715 /