2017-10-16 2 views
0

내 kubernetes 클러스터 내의 동일한 포트에서 여러 서비스를 실행 중입니다. 그래서 같은 ser1, ser2, ser3 같은 포트 8080을 모두 사용합니다. 나는 <serv-name>:8080 포드 내부에서 이러한 서비스에 액세스 할 수 있지만 호스트 노드 중 하나에서 동일한 방법으로 액세스 할 수 있습니다 즉 컨테이너 외부에서하지만 클러스터 중 하나에서 노드?외부 포드에서 클러스터 내에서 kubernetics 서비스에 액세스

나는 주변을 둘러 보았지만 이에 관한 관련 토론을 찾지 못했습니다. 누군가가 제안 할 수 있다면.

내 샘플 설정은

apiVersion: v1 
kind: Service 
metadata: 
    name: svc1 
    namespace: sample 
    labels: 
    app: svc1 
spec: 
    selector: 
    app: app1 
    ports: 
    - name: psvc1 
    port: 8080 
    targetPort: 9090 
    protocol: TCP 
+0

clusterIP 유형으로 서비스를 공개하려 했습니까? 이렇게하면 지정된 포트로 호출 할 수있는 가상 클러스터 차원의 IP가 제공됩니다. –

+0

감사합니다. @DriesDeRydt. 예, 클러스터 -IP를 통해 액세스 할 수 있습니다. 그러나 서비스가 시작되거나 다시 시작될 때 동일한 clusterIP를 항상 사용할 수있는 것은 아닙니다. Kubernetes에게 그러한 가상 IP를 유지하거나보다 적절하게 다양한 가상 IP를 예약하도록 지시 할 수있는 방법이 있습니까? 로드 밸런서에서 이러한 clusterIP를 구성해야합니다. –

+0

네, IP를 지정할 수 있습니다 : https://kubernetes.io/docs/concepts/services-networking/service/#choosing-your-own-ip-address –

답변

1

건조는 우리가 노드에서 서비스에 액세스 할 수 있습니다 클러스터 IP를 사용했다있다.

kubectl run nginx --image=nginx --port=80 --expose=true 

kubectl get svc 
NAME   TYPE  CLUSTER-IP  EXTERNAL-IP PORT(S) AGE 
kubernetes ClusterIP 10.96.0.1  <none>  443/TCP 9d 
nginx  ClusterIP 10.103.206.246 <none>  80/TCP 52m 


# curl 10.103.206.246:80 
<!DOCTYPE html> 
<html> 
<head> 
<title>Welcome to nginx!</title> 
<style> 
관련 문제