2017-05-22 14 views
7

próbuję wdrożyć nginx na kubernetes, kubernetes wersja v1.5.2, I wdrożyli nginx z 3 repliki, plik YAML jest poniżejkubernetes usług zewnętrznych ip oczekiwaniu

apiVersion: extensions/v1beta1 
kind: Deployment 
metadata: 
    name: deployment-example 
spec: 
    replicas: 3 
    revisionHistoryLimit: 2 
    template: 
    metadata: 
     labels: 
     app: nginx 
    spec: 
     containers: 
     - name: nginx 
     image: nginx:1.10 
     ports: 
     - containerPort: 80 

i teraz chcę wystawiać swój port 80 na porcie 30062 węzła, na który stworzyłem poniżej usługę,

kind: Service 
apiVersion: v1 
metadata: 
    name: nginx-ils-service 
spec: 
    ports: 
    - name: http 
     port: 80 
     nodePort: 30062 
    selector: 
    app: nginx 
    type: LoadBalancer 

usługa ta działa dobrze, jak powinno być, ale to pokazuje, jak czeka nie tylko na kubernetes desce rozdzielczej również na terminalu. Terminal outputDash board status

, więc proszę, pomóż mi rozwiązać ten problem. Dzięki ...

Odpowiedz

21

Wygląda na to, że używasz niestandardowego klastra Kubernetes (używając minikube, kubeadm lub tym podobnych). W tym przypadku nie ma zintegrowanego LoadBalancer (w przeciwieństwie do AWS lub Google Cloud). Przy tej domyślnej konfiguracji możesz używać tylko NodePort (więcej informacji tutaj: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport) lub kontrolera Ingress. Z kontrolerem Ingress można skonfigurować nazwę domeny, która mapuje do kapsuły (więcej informacji tutaj: https://kubernetes.io/docs/concepts/services-networking/ingress/#ingress-controllers)

+0

Dziękuję bardzo @javier, to jest naprawdę pomocne. Rozwiązałem mój problem z powyższego dokumentu. –

5

uzyskać dostęp do usługi na minikube, należy uruchomić następujące polecenie:

minikube service [-n NAMESPACE] [--url] NAME 

Więcej informacji tutaj: Minikube GitHub

+2

konkretny przykład: usługa minikube iskra-ui-proxy --url http://192.168.99.100:30621 –

Powiązane problemy