在kubernetes中创建使用nginx控制器的ingress时,如何生成External IP

qyyhg6bp  于 2023-08-03  发布在  Kubernetes
关注(0)|答案(1)|浏览(229)
apiVersion: extensions/v1beta1
kind: Ingress 
metadata:
  name: helloworld-rules
spec:
  rules:
  - host: helloworld-v1.example.com
http:
  paths:
  - path: /
    backend:
      serviceName: helloworld-v1
      servicePort: 80
  - host: helloworld-v2.example.com
http:
  paths:
  - path: /
    backend:
           serviceName: helloworld-v2
           servicePort: 80

字符串
我正在制作kubernetes集群,我将应用cloudPlatform Isolated(不是AWS或Google)。当创建一个入口服务,我可以选择主机URL,但这是不存在的任何地方(该地址不注册的东西像DNS服务器),所以我不能访问该URL。访问这个IP只会给404。如何获取或配置可以访问外部浏览器URL:(...

vwkv1x7d

vwkv1x7d1#

这取决于你如何配置你的nginx控制器。
您应该配置一个服务,它是从外部访问时的入口点,请参阅文档https://kubernetes.io/docs/concepts/services-networking/ingress/#what-is-ingress。
因此,基本上你有一个指向入口控制器的Service,这将根据入口对象将流量重定向到你的pod。
Ingress ->服务-> Pod
因为你不运行在aws或google上,所以你必须使用externalIp或NodePort并相应地配置服务

kind: Service
apiVersion: v1
metadata:
  name: ingress-nginx
  namespace: ingress-nginx
  labels:
    app: ingress-nginx
spec:
  selector:
    app: ingress-nginx
  ports:
  - name: http
    port: 80
    targetPort: http
  - name: https
    port: 443
    targetPort: http
  externalIPs:
  - 80.11.12.10

字符串
DNS需要使用任何您为您的域来管理,以便解析,或者在本地测试时,您只需编辑您的/etc/hostname
基本上,在AWS或Google中,您只需创建一个类型的服务:LoadBalancer并将您的DNS记录指向平衡器地址(AWS的CNAME和Google的IP)

相关问题