You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于Traefik与CertManager为K8s中HTTPS后端服务配置证书

为Kubernetes中my-app2配置Traefik+CertManager证书方案

你可以直接在已有的prod-ingress资源中添加my-app2的路由规则,同时适配其本身的HTTPS服务特性,具体操作如下:

步骤1:适配my-app2的Service配置(可选但推荐)

因为my-app2本身是HTTPS服务,为了让Traefik明确使用HTTPS协议转发请求到后端,建议修改my-app2的Service,添加appProtocol: https标识:

apiVersion: v1
kind: Service
metadata:
  name: my-app2
  namespace: my-ns
spec:
  type: NodePort
  ports:
  - name: https
    port: 2746
    targetPort: 2746
    nodePort: 30972
    protocol: TCP
    appProtocol: https  # 标记该端口为HTTPS协议
  selector:
    app: my-app2  # 替换为你的my-app2 Pod实际标签

执行更新命令:

kubectl apply -f my-app2-service.yaml

步骤2:更新Ingress资源添加my-app2路由

修改现有的prod-ingress,在rules的paths下新增my-app2的路径规则:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: prod-ingress
  namespace: my-ns
  annotations:
    cert-manager.io/cluster-issuer: letsencrypt-prod
    kubernetes.io/ingress.class: traefik
    traefik.ingress.kubernetes.io/router.tls: "true"
spec:
  tls:
  - hosts:
    - "my-dns.com"
    secretName: prod-cert
  rules:
  - host: "my-dns.com"
    http:
      paths:
      - path: /app1
        pathType: Prefix
        backend:
          service:
            name: my-app1
            port:
              number: 16686
      # 新增my-app2的路由规则
      - path: /app2
        pathType: Prefix
        backend:
          service:
            name: my-app2
            port:
              number: 2746

执行更新命令:

kubectl apply -f prod-ingress.yaml

验证配置

等待Ingress和证书状态同步后,即可通过https://my-dns.com/app2访问my-app2服务。你可以通过以下命令检查资源状态:

# 检查Ingress状态
kubectl get ingress prod-ingress -n my-ns
# 检查证书状态
kubectl get certificates prod-cert -n my-ns

内容的提问来源于stack exchange,提问作者Rupesh Shinde

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 13:05:24