繁体   English   中英

如何将 IP 分配给 Kube.netes 集群?

[英]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

安装入口controller 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 问题是,如何得到它。

ClusterIP类型的服务永远不会创建 EXTERNAL IP,因为它是集群内部的 IP。请按照本指南了解如何使用数字海洋上的 nginx 入口通过主机名公开 hello world 应用程序。

按照指南安装 nginx 入口 controller 后,它将由 digital ocean 提供的 LoadBalancer 公开。

正如您在指南中看到的,您将在入口规则中使用您的域。您需要确保您的域通过 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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM