0

名称:ingress-nginx 类型:LoadBalancer 内部IP:10.108.240.88 外部IP:待定

端口: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 logs --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 初始化:

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

仪表板 kubernete 显示所有内容(pods、ingress、replicateSets、私有 docker registery 容器)好吧,除了这个服务!

4

1 回答 1

1

您必须澄清 pod 状态以确保所有 pod 都在运行并且没有任何错误,例如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。这是因为阻止了试图从中提取的网站。

于 2018-12-12T07:43:43.930 回答