18.8. 튜토리얼: 네트워킹
이 튜토리얼에서는 OSToy 앱에서 클러스터 내부 네트워킹을 사용하여 마이크로서비스를 사용하고 Pod 스케일링을 시각화하여 기능을 분리하는 방법을 보여줍니다.
다이어그램에서는 두 개 이상의 개별 Pod가 있으며 각각 자체 서비스가 있음을 보여줍니다.
하나의 pod는 서비스와 공개적으로 액세스 가능한 경로를 사용하여 프런트 엔드 웹 애플리케이션으로 작동합니다. 다른 pod는 서비스 오브젝트를 사용하여 backend 마이크로 서비스로 작동하므로 프런트 엔드 포드에서 마이크로 서비스와 통신할 수 있습니다. 이 통신은 Pod에서 둘 이상의 경우 발생합니다. 이러한 통신 제한으로 인해 이 마이크로 서비스는 구성된 경우 이 클러스터 외부에서 또는 다른 네임스페이스 또는 프로젝트에서 액세스할 수 없습니다. 이 마이크로 서비스의 유일한 용도는 내부 웹 요청을 제공하고 포드 이름인 현재 호스트 이름 및 무작위로 생성된 색상 문자열이 포함된 JSON 오브젝트를 반환하는 것입니다. 이 색상 문자열은 "Intra-cluster communication"이라는 제목의 타일에 표시되는 해당 색상이 있는 상자를 표시하는 데 사용됩니다.
네트워킹 제한에 대한 자세한 내용은 네트워크 정책 정보를 참조하십시오.
18.8.1. 클러스터 내 네트워킹
OSToy 애플리케이션에서 네트워킹 구성을 볼 수 있습니다.
프로세스
- OSToy 애플리케이션의 왼쪽 메뉴에서 네트워킹 을 클릭합니다.
네트워킹 구성을 검토합니다. "Hostname Lookup"이라는 제목의 올바른 타일은 Pod에 대해 생성된 서비스 이름을 사용하여 내부 ClusterIP 주소로 변환하는 방법을 보여줍니다.
<
service_name>.<namespace>.svc.cluster.local의 형식에 따라 오른쪽 타일에 생성된 마이크로 서비스의 이름을
입력합니다. 다음 명령을 실행하여ostoy-microservice.yaml
의 서비스 정의에서 이 서비스 이름을 찾을 수 있습니다.$ oc get service <name_of_service> -o yaml
출력 예
apiVersion: v1 kind: Service metadata: name: ostoy-microservice-svc labels: app: ostoy-microservice spec: type: ClusterIP ports: - port: 8080 targetPort: 8080 protocol: TCP selector: app: ostoy-microservice
이 예에서 전체 호스트 이름은
ostoy-microservice-svc.ostoy.svc.cluster.local
입니다.IP 주소가 반환됩니다. 이 예에서는
172.30.165.246
입니다. 클러스터 내 IP 주소이며 클러스터 내에서만 액세스할 수 있습니다.