Prev: Pod Networking

Untitled

In this section, we will take a look at Service Networking

Service Types

clusterIP.yaml

apiVersion: v1
kind: Service
metadata:
  name: local-cluster
spec:
  ports:
  - port: 80
    targetPort: 80
  selector:
    app: nginx

Untitled

nodeportIP.yaml

apiVersion: v1
kind: Service
metadata:
  name: nodeport-wide
spec:
  type: NodePort
  ports:
  - port: 80
    targetPort: 80
  selector:
    app: nginx

Q. 어떻게 서비스는 Ip 를 가져오고, 모든 노드에서 사용가능하게 할 수 있을까? 노드에 포트를 통해 외부 사용자가 서비스를 이용할 수 있게 하는 방법은 무엇일까? 누가 그일을 하고 있고, 어디에서 볼 수 있을까?

Untitled

  1. 각 노드마다 Pod 생성을 담당하는 Kubelet 과 Kubelet 에게 지시를 내리는 Kube-apiserver
  2. 새 서비스가 생성될때, 노드에 파드가 생성이 된다.
  3. 그런 다음, CNI 플러그인을 호출하여, 해당 파드에 대한 네트워킹을 구성한다.
  4. 마찬가지로 각 노드는 kube-proxy로 알려진 다른 구성요소를 실행한다.