Cert-manager 部署

本文涉及的产品
Serverless 应用引擎 SAE,800核*时 1600GiB*时
可观测监控 Prometheus 版,每月50GB免费额度
性能测试 PTS,5000VUM额度
简介: 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搭建和管理企业级网站应用
相关文章
|
2月前
|
网络安全 数据安全/隐私保护
【Azure 应用服务】 在App Service中无法上传证书[Private Key Certificates (.pfx)],导入Azure Key Vault中的证书也无法成功
【Azure 应用服务】 在App Service中无法上传证书[Private Key Certificates (.pfx)],导入Azure Key Vault中的证书也无法成功
|
5月前
|
存储 Kubernetes API
Docker拉取镜像或者kubectl出现的这个解决方案x509: certificate signed by unknown authority
Docker拉取镜像或者kubectl出现的这个解决方案x509: certificate signed by unknown authority
494 2
|
安全 网络安全 PHP
解决SSL routines:ssl3_get_server_certificate:certificate verify failed
解决SSL routines:ssl3_get_server_certificate:certificate verify failed
576 0
|
5月前
|
Kubernetes 网络安全 容器
Cert Manager 申请 SSL 证书流程及相关概念 - 一
Cert Manager 申请 SSL 证书流程及相关概念 - 一
|
5月前
|
存储 Kubernetes 网络协议
Cert Manager 申请 SSL 证书流程及相关概念 - 二
Cert Manager 申请 SSL 证书流程及相关概念 - 二
|
5月前
|
Kubernetes 网络协议 网络安全
Cert Manager 申请 SSL 证书流程及相关概念 - 三
Cert Manager 申请 SSL 证书流程及相关概念 - 三
|
IDE 网络安全 PHP
composer遇到SSL3_GET_SERVER_CERTIFICATE
composer遇到SSL3_GET_SERVER_CERTIFICATE
196 1
composer遇到SSL3_GET_SERVER_CERTIFICATE
|
Kubernetes Cloud Native 安全
Kubernetes CKS 2021【7】---Cluster Setup - Verify Platform
Kubernetes CKS 2021【7】---Cluster Setup - Verify Platform
Kubernetes CKS 2021【7】---Cluster Setup - Verify Platform
|
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
|
开发工具 Docker 容器
docker登录harbor仓库时 提示:x509: certificate signed by unknown authority
docker登录harbor仓库时 提示:x509: certificate signed by unknown authority
1135 0