Ожидающее сообщение выставлено externalApi

Имя: ingress-nginx Тип: LoadBalancer InternalIP: 10.108.240.88 ExternalIP: в ожидании

ПОРТЫ: 80: 30191 / TCP, 443: 30616 / TCP 21h

Yaml файл:

apiVersion: v1
kind: Service
metadata:
  name: ingress-nginx
  namespace: ingress-nginx
spec:
  externalTrafficPolicy: Local
  type: LoadBalancer
  loadBalancerIP: 172.18.3.11
  ports:
  - port: 80
    targetPort: 80
    protocol: TCP
    name: http
  - port: 443
    targetPort: 443
    protocol: TCP
    name: https

  selector:
    app.kubernetes.io/name: ingress-nginx
    app.kubernetes.io/part-of: ingress-nginx

Я использую docker 18.06, kubernete 1.13, чтобы предложить тест в частной организации с диапазоном exp ip 172.18.3.9-20

Журнал Flannel: журналы kubectl --namespace kube-system kube-flannel-ds-amd64-ms94w -c kube-flannel

Результат:

Не удалось перечислить * v1.Node: получить https://10.96.0.1:443/api/v1/nodes?resourceVersion=0: набрать tcp 10.96.0.1:443: getsockopt: соединение отклонено E1211 11: 48: 43.238318 1 отражатель.go: 201] github.com/coreos/flannel/subnet/ kube / kube.go: 295: не удалось перечислить * v1.Node: получить https://10.96.0.1:443/api/v1/nodes?resourceVersion=0: net / http: тайм-аут подтверждения TLS

Используется kubeadm init:

kubeadm init --pod-network-cidr 10.255.0.0/16 --service-cidr 10.244.0.0/16 --service-dns-domain "k8s" --apiserver-Advertise-address 172.18.3.9

Dashboard kubernete показывает все (pods, ingress, replicateSets, частный контейнер регистрационного докера) Хорошо, кроме этой службы!


person Arman Riazi    schedule 11.12.2018    source источник


Ответы (1)


Вы должны уточнить статус модулей, чтобы убедиться, что все модули работают и нет ошибок, таких как ImagePullBackOff:

kubectl get pods -o wide
kubectl get pods -o json
kubectl get pods -o wide | grep nginx | awk '{print $6}' | xargs kubectl get node -o json | grep ExternalIP -A 2

Если вы используете kubeadm, то, вероятно, у вас есть главный узел и несколько рабочих. Поэтому, когда вы развертываете приложения с использованием kubectl apply или kubectl create или любыми другими способами, вы должны использовать VPN на своих рабочих узлах. Это из-за блокировки веб-сайта, который пытается с него вытащить.

person Majid Rajabi    schedule 12.12.2018
comment
На приборной панели kubernete отображается все (pods, ingress, replicateSets, личный контейнер регистрационного докера) Хорошо, кроме этой службы для демонстрации cafe.example.com/cafe Или чай! - person Arman Riazi; 12.12.2018
comment
В служебном .yaml файле попробуйте использовать type: NodePort (только для тестирования, а не для производства!) Или ClusterIP, а затем получить доступ к службе через kubectl proxy --port - person Majid Rajabi; 12.12.2018