gpt4 book ai didi

kubernetes - 如何通过https访问kubernetes网站

转载 作者:行者123 更新时间:2023-12-02 12:14:44 26 4
gpt4 key购买 nike

我在一个始终在线的服务器上运行的虚拟机上构建了自己的1个主机kubernetes集群(1个主机,1个节点,许多命名空间,许多pod和服务)。

在集群上运行的应用程序运行正常(基本上是NodeJS后端和HTML前端)。
到目前为止,我有一个NodePort服务,该服务公开了端口30000:

NAME                      TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)                  AGE
traefik-ingress-service NodePort 10.109.211.16 <none> 443:30000/TCP 147d

因此,现在我可以通过在浏览器地址栏中键入 https://<server-alias>:30000来访问Web界面。

但是我想通过输入 https://<server-alias>来访问它而不提供端口。
我知道,这可以使用kubectl port-forwarding命令完成: kubectl -n kube-system port-forward --address 0.0.0.0 svc/traefik-ingress-service 443:443
这有效。但这似乎不是一件很专业的事情。

端口转发似乎还不时断开连接。有时,它会引发错误并退出,但会使进程保持打开状态,从而使端口保持打开状态-必须手动终止进程。

那么,有没有办法专业地访问我的应用程序呢?群集提供程序(AWS,GCP ...)如何做到这一点?

谢谢!

最佳答案

使用Ingress Nginx,您可以使用名称服务器访问您的网站:

  • 步骤1:在您的群集中安装Nginx入口,您可以使此link
  • 流动

    安装完成后,您将有一个新的Pod
    NAME                                    READY   STATUS

    nginx-ingress-xxxxx 1/1 Running

    和一项新服务
    NAME                             TYPE           CLUSTER-IP     EXTERNAL-IP
    nginx-ingress LoadBalancer 10.109.x.y a.b.c.d
  • 步骤2:为您的应用程序创建新的部署,但是请确保您为nginx ingress svc / pod使用相同的 namespace ,并且应用程序,并将svc类型设置为 ClusterIP
  • 步骤3:创建Kubernetes入口对象

  • 现在您必须创建入口对象
    apiVersion: extensions/v1beta1
    kind: Ingress
    metadata:
    name: test-ingress
    namespace: **Same Name Space**
    spec:
    rules:
    - host: your DNS <server-alias>
    http:
    paths:
    - backend:
    serviceName: svc Name
    servicePort: svc Port

    现在,您可以使用来访问您的网站。

    要免费创建DNS,可以使用 freenom或使用/ etc / hosts
    用更新:
    server-alias a.b.c.d

    关于kubernetes - 如何通过https访问kubernetes网站,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58427810/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com