azure - azure kubernetes 托管服务上的外部 https

标签 azure kubernetes

我已成功将 .netcore api 部署到 azure kubernetes 托管服务 (ACS),并且它按预期工作。该镜像托管在 azure 容器注册表中。

我现在正在尝试通过 https 访问该服务。我想要一个非常简单的设置。

  • 首先,我是否必须创建 openssl 证书或使用 letencrypt 注册?理想情况下,我希望避免单独管理 ssl 证书,但从文档来看,尚不清楚是否需要这样做。

  • 其次,我在下面有一个 list 文件。我仍然可以使用此 list 访问端口 80。但是,我无法访问端口 443。我没有看到任何错误,所以不清楚问题是什么。有什么想法吗?

谢谢

apiVersion: apps/v1beta1
kind: Deployment
metadata:
  name: someappservice-deployment
  annotations:
    service.beta.kubernetes.io/openstack-internal-load-balancer: "false"
    loadbalancer.openstack.org/floating-network-id: "9be23551-38e2-4d27-b5ea-ea2ea1321bd6"
spec:
  replicas: 3
  template:
    metadata:
      labels:
        app: someappservices
    spec:
      containers:
      - name: someappservices
        image: myimage.azurecr.io/someappservices
        ports:
        - containerPort: 80
        - containerPort: 443
---
kind: Service
apiVersion: v1
metadata:
  name: external-http-someappservice
spec:
  selector:
    app: someappservices
  type: LoadBalancer
  ports:
  - name: http
    port: 80
    protocol: TCP
    targetPort: 80
  - name: https
    port: 443
    protocol: TCP        
    targetPort: 443

最佳答案

据我了解,您将需要 NGINX 入口 Controller 之类的东西来处理 SSL 终止,并且还需要管理证书。 Kubernetes cert-manager 是一个很好的包,可以帮助处理证书。

以下是有关如何在 AKS 群集中执行这两项操作的文章:

Deploy an HTTPS enabled ingress controller on AKS

关于azure - azure kubernetes 托管服务上的外部 https,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51806521/

相关文章:

kubernetes - 如何找出负载均衡器服务的外部 IP?

windows - 为什么我无法访问从 Windows 上的 Minikube 公开的服务?

c# - 将 MVC 4 应用程序中的 DateTime.Now 转换为我国的标准时间(当应用程序部署在美国时)

azure - 访问 Power BI API 时收到 401 Unauthorized

Azure 前门和自定义域

kubernetes - 在部署更新时重新附加卷声明

angular - NX Monorepo 的 Azure 静态 Web 应用程序部署管道错误

使用 proguard 保护 Android Apk

kubernetes - PersistentVolumeClaim 在 kubernetes 中未知

kubernetes - 如何按日期列出 Helm Chart 版本?