Kubeadm Kubernetes集群无法通过ingress将外部IP地址映射到域名



我试图在GCE中使用Kubeadm设置Kubernetes集群。我能够从外部IP使用Nodeport服务访问部署。我想建立一个入口映射到一个域名,但没能做到。到目前为止我所做的:

  • 创建裸金属nginx入口控制器(我使用kubeadm)
  • 在部署上创建Nodeport服务(能够从集群外部连接它))
  • 使用以下配置创建入口资源:命令kubectl describe ingress my-ingress返回my-ingress <none> sample.com 10.160.15.210 80, 443 32h内部IP
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: my-ingress
annotations:
ingressClassName: nginx

spec:
tls:
- hosts:
- sample.com
secretName: sample-tls
rules:
- host: sample.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: sample # the nodeport service name of the deployment
port: 
number: 8000 # nodeport target port

我无法使用sample.com访问部署。我仔细检查了DNS名称,使用命令dig sample.com,它返回外部IP.

如果使用GCP创建集群,则应该使用GCE-GKE安装说明。

重要的区别是GCE-GKE安装创建的是LoadBalancer而不是NodePort

最新更新