nginx - Kubernetes nginx ingress redirect domains to cluster
问题描述
I want to redirect two namecheap domains testA.com
and testB.com
to two different services (websites) on my raspberry pi cluster.
I set everything up using an updated form from this guide. This means that k3s, metalb, nginx ingress and cert-manager are fully deployed and working.
% 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
The guide describes it for dynDNS. How should I do this if I had two domains and two different websites. Is this done with a containerised certbot? Or do I need CNAME?
解决方案
您可以运行该命令并检查外部或暴露给 Internet IP的LoadBalancer IP。
你可以将此IP作为A记录或CNAME记录到DNS端,你就完成了。您的两个域都将流量指向 Kubernetes 集群,并且在 Kubernetes 内部,您可以创建入口路由或记录以将流量转移到特定服务。
推荐阅读
- sql - SQL - 将逗号分隔的字符串转换为单独的行后更新表
- erlang - 当我将 ets 表转换为 Erlang 中的列表时,如何减少进程的内存使用量?
- spring - PathVariable 中的正则表达式无法正常工作 Spring
- git - 通过 cPanel 添加私有 git 仓库
- javascript - 如何延迟函数或如何在绘图中使用 settimout
- c# - Linq 错误输入字符串的格式不正确。System.Exception {System.FormatException}
- hive - 配置具有非空约束的 Glue 目录
- java - 如何在 Spring Boot @Async 中使用 ForkJoinPool?
- mysql - 我通过一些列的值来获取行
- java - 如何正确地将json转换为键实际上是变化值的对象?