k 8 s学習(四)k 8 s nodeport方式を用いてサービス対外暴露サービスを構成する
2540 ワード
Podはライフサイクルがあり、誰もが死んでpodを記述するのに適しており、1つのワークノード(node)が破棄されると、ノード上で実行されるpodsも破棄され、ReplicationControllerは他のノード上で動的にPodを作成してアプリケーションの実行を維持し、各Podには独立したIPアドレス、さらには同じノード上のPodがあります.PodのIPは動的であり、Podの作成に伴って作成され、Podの破棄に伴って消失していることがわかります.これは、Podsのセットからなるクラスタがサービスを提供する場合、これらのPodsにどのようにアクセスするかという問題を引き起こします.Kubenetesのサービスはこの問題を解決するために使われています.1つのサービスは、同じサービスを提供するPodsの対外アクセスインタフェースのセットと見なすことができ、どのPodsがlabel selectorによって定義され、これらのPodsがサービスにアクセスできるか、Pod間の検出およびルーティング(アプリケーションのフロントエンドおよびバックエンドコンポーネントなど)は、Kubernetesサービスによって処理されます.サービスには、4つのタイプがあります.ClousterIP(デフォルト)、NodePort、LoadBalancer、ExternalName.NodePort、LoadBalancerの2つのタイプのサービスが外部に提供されます.これは、NodePortを使用して構成されます.
1、yamlサービスを作成する.yaml
2、yamlを適用する
3、配置が正しいかどうかを検査する
1、yamlサービスを作成する.yaml
---
apiVersion: v1
kind: Service
metadata:
name: kube-node-service
labels:
name: kube-node-service
spec:
type: NodePort # NodePort
ports:
- port: 8080 # clusterIP , ip:8080, 。
targetPort: 8080 # container
protocol: TCP
nodePort: 32143 # , 。
selector:
app: web # , name:kube-node 。
2、yamlを適用する
kubectl create -f service.yaml
3、配置が正しいかどうかを検査する
//
[root@k8s-node1 k8s]# curl 192.168.100.89:32143/index
hello,world
[root@k8s-node1 k8s]# kubectl get services
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kube-node-service NodePort 10.96.77.110 8080:32143/TCP 21m
kubernetes ClusterIP 10.96.0.1 443/TCP 4d
// (clusterIp:PORT)
curl 10.96.77.110:8080
[root@k8s-node1 k8s]# curl 10.96.77.110:8080/index
hello,world
[root@k8s-node1 k8s]# kubectl get pods -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
kube-node-87dcfc9cf-9kj8j 1/1 Running 0 75m 10.244.1.23 k8s-node3
kube-node-87dcfc9cf-l2ppz 1/1 Running 0 75m 10.244.2.24 k8s-node2
[root@k8s-node1 k8s]# curl 10.244.1.23:8080/index
hello,world
[root@k8s-node1 k8s]# curl 10.244.2.24:8080/index
hello,world
// slave
[root@k8s-node1 k8s]# curl 192.168.100.91:32143/index
hello,world
[root@k8s-node1 k8s]# curl 192.168.100.92:32143/index
hello,world
http://192.168.100.89:32143/index
http://192.168.100.91:32143/index
http://192.168.100.92:32143/index