【问题标题】:Minikube change address of ingress addonMinikube 更改入口插件的地址
【发布时间】:2021-01-28 07:10:49
【问题描述】:

当我使用入口插件 (minikube addons enable ingress) 部署入口时,它的地址设置为 192.168.49.2

NAME           CLASS    HOSTS             ADDRESS        PORTS     AGE
some-ingress   <none>   application.com   192.168.49.2   80, 443   86s

如何将其更改为 127.0.0.1(或外部 ip)才能接收来自外部的请求?

更新: 使用vm_driver=dockerminikube ip 返回192.168.49.2

UPD2:入口配置:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: application-ingress
  annotations:
    ingress.kubernetes.io/ssl-redirect: "true"
    kubernetes.io/ingress.class: nginx
spec:
  tls:
    - hosts:
        - application.com
      secretName: tls-secret
  rules:
    - host: application.com
      http:
        paths:
          - pathType: Prefix
            path: "/"
            backend:
              service:
                name: application-back
                port:
                  number: 80

【问题讨论】:

标签: kubernetes kubernetes-ingress minikube


【解决方案1】:

实际上,您不必为了接收外部请求而对其进行更改。

您的配置中的rules: 部分:

spec:
  rules:
    - host: application.com

需要名称为 application.com 的 DNS 记录。稍后在指南中您可以看到:

将以下行添加到/etc/hosts 文件的底部。

注意:如果您在本地运行 Minikube,请使用 minikube ip 获取 外部IP。入口列表中显示的 IP 地址将是 内部 IP。

172.17.0.15 hello-world.info

这会将来自 hello-world.info 的请求发送到 Minikube。

该入口指向您的入口 IP 或 Minikube IP。当然,您需要调整您的 IP 和 DNS 名称。

如果您想卷曲 IP 而不是 DNS 名称,可以通过从入口中删除主机规则来实现。例如:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: application-ingress
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /
spec:
  rules:
  - http:
     paths:
     - path: "/"
       backend:
         serviceName: application-back
         servicePort: 80

之后,您应该可以通过 IP 毫无问题地curl -Lk

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-01-27
    • 1970-01-01
    • 2019-04-14
    • 2022-01-19
    • 2021-07-28
    • 1970-01-01
    • 2021-01-03
    相关资源
    最近更新 更多