首页
运维
编程

小布江

首页
运维
编程
  • Kubernetes

    • Ack开启nginx-ingress-controller公/私网双SLB
    • kube-apiserver请求异常
    • nginx-ingress-controller反向代理踩坑记
    • Kubelet启动失败
    • Kubelet证书到期轮转
    • nginx-ingress-controller开启tcp/udp
    • Alb-ingress 自动发现https证书
      • 背景
      • 一、基础配置
        • 1.1 AlbConfig
        • 1.2 IngressClass
        • 1.3 配置 Ingress
      • 二、证书管理
        • 2.1 生成自签证书
        • 2.2 上传证书到 ALB
        • 2.3 系统信任自签证书
      • 三、验证
    • Coredns自定义参数
  • 日常

  • Prometheus

  • Cl

  • 运维
  • Kubernetes
小布江
2026-01-05
目录

Alb-ingress 自动发现https证书

# 背景

ingress-nginx 即将停止维护,且阿里云 ingress-nginx 缺少 SLA 保障,因此 ALB Ingress 成为了我们的选择。对于 HTTPS 服务的证书管理,我们倾向于在 ALB 上完成,因此需要一个合理的证书自动发现方案。 (opens new window)

# 一、基础配置

# 1.1 AlbConfig

apiVersion: alibabacloud.com/v1
kind: AlbConfig
metadata:
  name: alb-internal
spec:
  config:
    id: alb-xxxx          # ALB 实例 ID
    forceOverride: false
    listenerForceOverride: false
    securityGroupIds:
      - sg-xxx            # 安全组 ID
    listeners:
      - port: 80
        protocol: HTTP
      - port: 443
        protocol: HTTPS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

# 1.2 IngressClass

apiVersion: networking.k8s.io/v1
kind: IngressClass
metadata:
  name: alb-internal
spec:
  controller: ingress.k8s.alibabacloud/alb
  parameters:
    apiGroup: alibabacloud.com
    kind: AlbConfig
    name: alb-internal     # 对应 AlbConfig 名称
1
2
3
4
5
6
7
8
9
10

# 1.3 配置 Ingress

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: ssl-1
  namespace: app
  annotations:
    alb.ingress.kubernetes.io/listen-ports: '[{"HTTPS": 443}]'
spec:
  ingressClassName: alb-internal
  rules:
  - host: a.demo.jiang.top
    http:
      paths:
      - backend:
          service:
            name: app-a-svc
            port:
              number: 80
        path: /
        pathType: Prefix
  tls:
  - hosts:
    - a.demo.jiang.top
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23

# 二、证书管理

# 2.1 生成自签证书

# 生成私钥
openssl genrsa -out albtop-key.pem 4096

# 生成证书签名请求
openssl req -subj "/CN=a.demo.jiang.top" -sha256 -new -key albtop-key.pem -out albtop.csr

# 配置 SAN 扩展
echo subjectAltName = DNS:a.demo.jiang.top > extfile.cnf

# 生成自签名证书(有效期 10 年)
openssl x509 -req -days 3650 -sha256 -in albtop.csr -signkey albtop-key.pem -out albtop-cert.pem -extfile extfile.cnf
1
2
3
4
5
6
7
8
9
10
11

# 2.2 上传证书到 ALB

在阿里云 ALB 控制台上传证书:

  • 私钥: albtop-key.pem
  • 证书: albtop-cert.pem

# 2.3 系统信任自签证书

# Ubuntu/Debian - 安装为系统受信任的根证书
sudo cp albtop-cert.pem /usr/local/share/ca-certificates/lee_a.demo.jiang.top.crt

# 更新系统证书库
sudo update-ca-certificates
1
2
3
4
5

# 三、验证

# 查看证书有效期
echo | openssl s_client -connect a.demo.jiang.top:443 2>/dev/null | openssl x509 -noout -dates

# notBefore=Jan 30 02:32:09 2026 GMT
# notAfter=Jan 28 02:32:09 2036 GMT

# 验证 HTTPS 连接
curl -v https://a.demo.jiang.top
1
2
3
4
5
6
7
8
#Kubernetes
上次更新: 2026/05/31, 03:30:34
nginx-ingress-controller开启tcp/udp
Coredns自定义参数

← nginx-ingress-controller开启tcp/udp Coredns自定义参数→

最近更新
01
Coredns自定义参数
05-18
02
Docker Mirrors
04-24
03
SSL自签证书管理
02-10
更多文章>
Theme by Vdoing
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式