如何为 Kubernetes 集群分配 IP?
How to assign an IP to Kubernetes cluster?
我已经通过 Rancher 安装了一个 K8S 集群,它已经启动 运行。出于测试目的,我部署了一个 helloworld nginx pod:
要调用该服务,我必须调用 NodePort IP 地址,例如:
http://111.111.111.111:30359/
但我想用一个名字来称呼它,例如:
https://helloworld.co.example.org
入口控制器 Nginx 已安装:
NAMESPACE NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
default kubernetes ClusterIP 10.43.0.1 <none> 443/TCP 162m
dev helloworld ClusterIP 10.43.187.230 <none> 80/TCP 17m
dev helloworld-nodeport NodePort 10.43.9.147 <none> 80:30359/TCP 17m
ingress-nginx default-http-backend ClusterIP 10.43.86.105 <none> 80/TCP 161m
kube-system kube-dns ClusterIP 10.43.0.10 <none> 53/UDP,53/TCP,9153/TCP 161m
kube-system metrics-server ClusterIP 10.43.220.198 <none> 443/TCP 161m
但是没有EXTERNAL-IP
。问题是如何获得。
关于如何在数字海洋上使用 nginx ingress 通过主机名公开 hello world 应用程序的 ClusterIP type service will never create an EXTERNAL IP because it's cluster-internal IP. Follow this guide。
按照指南安装 nginx 入口控制器后,它将由 digital ocean 提供的 LoadBalancer 公开。
正如您在指南中看到的那样,您将在入口中使用您的域 rules.You需要确保您的域通过 A 记录指向负载均衡器。这是通过您的 DNS 提供商完成的。
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: hello-kubernetes-ingress
annotations:
kubernetes.io/ingress.class: nginx
spec:
rules:
- host: helloworld.co.example.org
http:
paths:
- backend:
serviceName: hello-kubernetes
servicePort: 80
我已经通过 Rancher 安装了一个 K8S 集群,它已经启动 运行。出于测试目的,我部署了一个 helloworld nginx pod:
要调用该服务,我必须调用 NodePort IP 地址,例如:
http://111.111.111.111:30359/
但我想用一个名字来称呼它,例如:
https://helloworld.co.example.org
入口控制器 Nginx 已安装:
NAMESPACE NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
default kubernetes ClusterIP 10.43.0.1 <none> 443/TCP 162m
dev helloworld ClusterIP 10.43.187.230 <none> 80/TCP 17m
dev helloworld-nodeport NodePort 10.43.9.147 <none> 80:30359/TCP 17m
ingress-nginx default-http-backend ClusterIP 10.43.86.105 <none> 80/TCP 161m
kube-system kube-dns ClusterIP 10.43.0.10 <none> 53/UDP,53/TCP,9153/TCP 161m
kube-system metrics-server ClusterIP 10.43.220.198 <none> 443/TCP 161m
但是没有EXTERNAL-IP
。问题是如何获得。
关于如何在数字海洋上使用 nginx ingress 通过主机名公开 hello world 应用程序的 ClusterIP type service will never create an EXTERNAL IP because it's cluster-internal IP. Follow this guide。
按照指南安装 nginx 入口控制器后,它将由 digital ocean 提供的 LoadBalancer 公开。
正如您在指南中看到的那样,您将在入口中使用您的域 rules.You需要确保您的域通过 A 记录指向负载均衡器。这是通过您的 DNS 提供商完成的。
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: hello-kubernetes-ingress
annotations:
kubernetes.io/ingress.class: nginx
spec:
rules:
- host: helloworld.co.example.org
http:
paths:
- backend:
serviceName: hello-kubernetes
servicePort: 80