Cert-manager 部署

本文涉及的产品
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
可观测监控 Prometheus 版,每月50GB免费额度
简介: Cert-manager 部署

Cert-manager 部署

1、创建 Namespace

kubectl create namespace cert-manager

2、安装 CustomResourceDefinitions (CRDs)

kubectl apply -f https://github.com/jetstack/cert-manager/releases/download/v1.5.3/cert-manager.crds.yaml

3、部署 cert-manager

kubectl apply -f https://github.com/jetstack/cert-manager/releases/download/v1.5.3/cert-manager.yaml

4、创建 ClusterIssuer

apiVersion: cert-manager.io/v1
kind: ClusterIssuer
metadata:
  name: letsencrypt-prod
spec:
  acme:
    server: https://acme-v02.api.letsencrypt.org/directory
    email: your-email@example.com  # 用于 Let's Encrypt 通知和问题证书时的联系邮箱
    privateKeySecretRef:
      name: letsencrypt-prod
    solvers:
      - http01:
          ingress:
            class: ingress  # 指定使用的 Ingress 控制器类别,根据您的实际情况进行更改
  • metadata.name:为 ClusterIssuer 指定一个名称,例如 letsencrypt-prod
  • spec.acme.server:指定 Let's Encrypt ACME 服务器的 URL。通常情况下,您可以使用 Let's Encrypt 的生产服务器地址。
  • spec.acme.email:提供一个用于 Let's Encrypt 通知和问题证书时的联系邮箱。
  • spec.acme.privateKeySecretRef.name:指定存储 ACME 客户端私钥的 Kubernetes Secret 的名称。如果没有现有的 Secret,cert-manager 将自动生成并使用它。
  • spec.acme.solvers:定义用于验证证书颁发请求的解析器。在上面的示例中,使用 HTTP 验证解析器(http01),并指定了 Ingress 控制器的类别。您可以根据您的 Ingress 控制器类别和配置进行相应更改。

5、创建测试ingress 自动申请证书

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: test-ingress
  namespace: test-ingress
  annotations:
    kubernetes.io/ingress.class: ingress
    kubernetes.io/ingress.rule-mix: "true"
    cert-manager.io/cluster-issuer: letsencrypt-prod  # 指定关联的 ClusterIssuer
spec:
  tls:
    - hosts:
        - test.abc.com  # 指定需要证书的域名
      secretName: test.abc.com.tls  # 证书将被存储在此 Kubernetes Secret 中
  rules:
    - host: test.abc.comm  # 指定规则的域名
      http:
        paths:
          - path: /
            pathType: ImplementationSpecific
            backend:
              service:
                name: serviceName  # 指定后端服务的名称
                port:
                  number: 8080  # 指定后端服务的端口
  • metadata.name:为 Ingress 资源指定一个名称,例如 example-ingress
  • annotations.cert-manager.io/cluster-issuer:在 Ingress 上使用注释指定要使用的 ClusterIssuer 的名称。这将告诉 cert-manager 使用哪个颁发机构来签发证书。
  • tls.hosts:在 tls 部分下,列出需要证书的域名。在上述示例中,example.com 是需要证书的域名。您可以指定多个域名,以逗号分隔。
  • tls.secretName:指定一个 Kubernetes Secret 的名称,用于存储颁发的证书。
  • rules.host:在 rules 部分下,指定规则的域名,即您要为其创建 Ingress 规则的域名。
  • rules.http.paths.backend.service.namerules.http.paths.backend.service.port.number:指定后端服务的名称和端口,以将流量路由到后端服务。
相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
1月前
|
存储 JSON API
【Azure Cloud Service】使用Key Vault Secret添加.CER证书到Cloud Service Extended Support中
由于Key Vault仅支持上传pfx格式的证书,而中间证书和根证书通常为crt或cer格式,无法直接转换为pfx。因此,将完整的证书链上传至Key Vault后,只能显示服务器证书的指纹,无法直接在Cloud Service (Extended Support)中修改。解决方法是先将中间证书和根证书存储在Key Vault Secrets中,再通过调用Cloud Service API更新证书配置。具体步骤包括准备证书文件、将证书内容JSON格式化并使用az cli命令设置到Key Vault Secret中,最后通过API更新Cloud Service信息。
|
3月前
【Azure Fabric Service】Service Fabric部署失败问题 Provisioning of VM extension ConfigureVM has timed out.
【Azure Fabric Service】Service Fabric部署失败问题 Provisioning of VM extension ConfigureVM has timed out.
|
6月前
|
存储 Kubernetes API
Docker拉取镜像或者kubectl出现的这个解决方案x509: certificate signed by unknown authority
Docker拉取镜像或者kubectl出现的这个解决方案x509: certificate signed by unknown authority
660 2
|
6月前
|
Kubernetes 网络安全 容器
Cert Manager 申请 SSL 证书流程及相关概念 - 一
Cert Manager 申请 SSL 证书流程及相关概念 - 一
|
6月前
|
Kubernetes 网络协议 网络安全
Cert Manager 申请 SSL 证书流程及相关概念 - 三
Cert Manager 申请 SSL 证书流程及相关概念 - 三
|
6月前
|
存储 Kubernetes 网络协议
Cert Manager 申请 SSL 证书流程及相关概念 - 二
Cert Manager 申请 SSL 证书流程及相关概念 - 二
|
IDE 网络安全 PHP
composer遇到SSL3_GET_SERVER_CERTIFICATE
composer遇到SSL3_GET_SERVER_CERTIFICATE
210 1
composer遇到SSL3_GET_SERVER_CERTIFICATE
|
存储 Kubernetes 关系型数据库
【Kubernetes的Configmap、SecretMetric service及HPA、Wordpress应用Mysql主从PVPVCSCHPA】
【Kubernetes的Configmap、SecretMetric service及HPA、Wordpress应用Mysql主从PVPVCSCHPA】
119 0
|
Kubernetes API 容器
Kubernetes CKS【10】---Cluster Hardening - Restrict API Access
Kubernetes CKS【10】---Cluster Hardening - Restrict API Access
Kubernetes CKS【10】---Cluster Hardening - Restrict API Access
|
Kubernetes 容器
Kubernetes CKS 2021【4】---Cluster Setup - Secure Ingress
Kubernetes CKS 2021【4】---Cluster Setup - Secure Ingress
Kubernetes CKS 2021【4】---Cluster Setup - Secure Ingress