我试图在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