【问题标题】:Kubernetes nginx ingress redirect domains to clusterKubernetes nginx 入口将域重定向到集群
【发布时间】:2021-07-14 23:27:46
【问题描述】:

我想将两个 namecheap 域 testA.comtestB.com 重定向到我的树莓派集群上的两个不同的服务(网站)。

我使用来自this guide 的更新表单设置了所有内容。这意味着 k3s、metalb、nginx ingress 和 cert-manager 已完全部署并正常工作。

% kubectl get pods --all-namespaces
NAMESPACE      NAME                                                      READY   STATUS    RESTARTS   AGE
kube-system    metallb-speaker-bsxfg                                     1/1     Running   1          30h
kube-system    metallb-speaker-6pwsb                                     1/1     Running   1          30h
kube-system    nginx-ingress-ingress-nginx-controller-7cc994599f-db285   1/1     Running   1          28h
cert-manager   cert-manager-7998c69865-754mr                             1/1     Running   2          27h
kube-system    metallb-speaker-z8p97                                     1/1     Running   1          30h
webserver      httpd-554794f9fd-npd4g                                    1/1     Running   1          21h
kube-system    metallb-controller-df647b67b-2khlr                        1/1     Running   1          30h
kube-system    coredns-854c77959c-dl74f                                  1/1     Running   2          33h
cert-manager   cert-manager-webhook-7d6d4c78bc-97g2g                     1/1     Running   1          27h
kube-system    metrics-server-86cbb8457f-2vqmt                           1/1     Running   3          33h
cert-manager   cert-manager-cainjector-7b744d56fb-bvwjd                  1/1     Running   2          27h
kube-system    local-path-provisioner-5ff76fc89d-vbqs9                   1/1     Running   4          33h
% kubectl get services  -n kube-system -o wide                     
NAME                                               TYPE           CLUSTER-IP      EXTERNAL-IP       PORT(S)                      AGE   SELECTOR
nginx-ingress-ingress-nginx-controller-admission   ClusterIP      10.43.116.250   <none>            443/TCP                      28h   app.kubernetes.io/component=controller,app.kubernetes.io/instance=nginx-ingress,app.kubernetes.io/name=ingress-nginx
nginx-ingress-ingress-nginx-controller             LoadBalancer   10.43.10.136    192.168.178.240   80:31517/TCP,443:31733/TCP   28h   app.kubernetes.io/component=controller,app.kubernetes.io/instance=nginx-ingress,app.kubernetes.io/name=ingress-nginx

该指南针对 dynDNS 进行了描述。如果我有两个域和两个不同的网站,我应该怎么做。这是用容器化的 certbot 完成的吗?还是我需要 CNAME?

【问题讨论】:

    标签: nginx ssl kubernetes


    【解决方案1】:

    您可以运行该命令并检查外部或暴露给互联网 IP 的 LoadBalancer IP

    您可以将此 IP 作为 A 记录或 CNAME 记录到 DNS 端,然后您就完成了。您的两个域都将流量指向 Kubernetes 集群,并且在 Kubernetes 内部,您可以创建入口路由或记录以将流量转移到特定服务。

    【讨论】:

    • 我在帖子中添加了 nginx-ingress 信息。我认为外部 IP 会改变,因为它是非静态的。IP 192.168.178.240 只是在我的本地网络中。
    • 除非你删除我认为的服务 ingress-nginx,否则它不会改变。
    • 获取nginx入口ip的外部ip是什么命令?
    • 它是192.168.178.240,在你的情况下,你的 nginx 入口位于 kube-system 命名空间中。
    • 你是对的,如果它来自本地网络,那么如果覆盆子重启 IP 可能会发生变化,这也是一个问题。
    猜你喜欢
    • 2020-12-30
    • 2021-06-01
    • 2020-02-29
    • 2018-07-11
    • 1970-01-01
    • 2014-07-02
    • 2018-10-09
    • 2019-11-07
    • 2021-01-17
    相关资源
    最近更新 更多