<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Cert Manager在k8s中的使用

      學習參考鏈接

      https://www.bilibili.com/video/BV1qa411V7xs/?spm_id_from=333.337.search-card.all.click&vd_source=0372d3f32c3f19a6a2676a7529d6698a

      https://tech.aufomm.com/how-to-use-cert-manager-on-kubernetes/

      https://cert-manager.io/docs/installation/helm/

      Cert Manager在k8s中的使用

      Cert - Manager 是一款強大且使用相對簡便的工具,用于在 Kubernetes 集群中自動化證書管理。

      安裝(這里使用Helm,可以參考上面鏈接里介紹的其他方式)

      # 添加 Jetstack Helm 倉庫

      # 更新本地 Helm Chart 倉庫緩存

      helm repo add jetstack https://charts.jetstack.io
      helm repo update
      helm install \
        cert-manager jetstack/cert-manager \
        --namespace cert-manager \
        --create-namespace \
        --set installCRDs=true

       

      簡單講,在k8s里可以用兩個步驟來應用其功能:

      1. 定義一個證書頒發者

      2. 從該頒發者請求證書

       

      步驟一:定義一個證書頒發者(Issuer)

      證書頒發者(Issuer)定義了證書的來源和頒發方式。Cert - Manager 支持多種類型的頒發者,這里介紹三種
      1. 自簽名方式
      2. ACME Let's Encrypt方式
      3. CA證書方式

      自簽名頒發者示例

      下面是一個定義自簽名頒發者的 YAML 文件示例:
      apiVersion: cert-manager.io/v1
      kind: Issuer
      metadata:
        name: selfsigned-issuer
        namespace: default
      spec:
        selfSigned: {}
      在這個示例中:
      • apiVersion 指定了使用的 Cert - Manager API 版本。
      • kind 表明這是一個 Issuer 資源。
      • metadata 部分定義了頒發者的名稱和命名空間。
      • spec 部分指定了頒發者的類型,這里使用的是 selfSigned,即自簽名。

       

      你可以使用以下命令將該 YAML 文件應用到 Kubernetes 集群中:
      kubectl apply -f selfsigned-issuer.yaml

       

      Let's Encrypt 頒發者示例

      如果你想使用 Let's Encrypt 來頒發證書,需要定義一個 ACME(Automated Certificate Management Environment)類型的頒發者。示例如下:
      apiVersion: cert-manager.io/v1
      kind: ClusterIssuer
      metadata:
        name: letsencrypt-issuer
      spec:
        acme:
          # Let's Encrypt 的服務器地址
          server: https://acme-v02.api.letsencrypt.org/directory
          email: your-email@example.com # 替換為你的郵箱,用于證書到期提醒
          privateKeySecretRef:
            name: letsencrypt-key
          solvers:
          - http01:
              ingress:
      class: nginx  # 替換為你的 Ingress Controller 類型(如 nginx、traefik)
      在這個示例中:
      • server 指定了 Let's Encrypt 的服務器地址。
      • email 是你用于注冊 Let's Encrypt 賬戶的郵箱地址。
      • privateKeySecretRef 是存儲 Let's Encrypt 賬戶私鑰的 Secret 名稱。
      • solvers 部分定義了證書驗證的方式,這里使用的是 http01 驗證,通過 Ingress 進行驗證。
      同樣,使用 kubectl apply 命令將該 YAML 文件應用到集群中。
      kubectl apply -f letsencrypt-issuer.yaml

       

      CA 頒發者示例

      申請到合法的CA證書,通過證書創建 secret

      kubectl create secret tls -n cert-manager ca-key-pair --cert=ca.cert.pem --key=ca.key.pem

      再使用這個 secret 來創建issuer, 這里創建一個cluster issuer, 因為想給全局使用

      apiVersion: cert-manager.io/v1
      kind: ClusterIssuer
      metadata:
        name: ca-issuer
      spec:
        ca:
          secretName: ca-key-pair
      在這個 YAML 文件中:
      • apiVersion 和 kind 分別指定了使用的 Cert - Manager API 版本和資源類型(ClusterIssuer)。
      • metadata 部分定義了 Issuer 的名稱。
      • spec.ca.secretName 指定了存儲 CA 證書和私鑰的 Secret 名稱。

       

      步驟二:從該頒發者請求證書

      請求證書常用兩種方式:
      1. 直接生成證書 
      2. 使用annotations 方式

      直接生成證書

      定義好頒發者后,就可以向其請求證書了。以下是用剛才生成的 let's encrypt Issuer
      letsencrypt-issuer
      a. 來生成一個證書的 YAML 文件示例:
      #my-certificate.yaml
      apiVersion: cert-manager.io/v1
      kind: Certificate
      metadata:
        name: my-certificate
        namespace: default
      spec:
        secretName: my-certificate-secret
        issuerRef:
          name: letsencrypt-issuer
          kind: Issuer
        commonName: my-domain.com
        dnsNames:
          - my-domain.com
          - www.my-domain.com
      在這個示例中:
      • apiVersion 和 kind 分別指定了使用的 API 版本和資源類型(Certificate)。
      • metadata 部分定義了證書的名稱和命名空間。
      • spec.secretName 是存儲證書和私鑰的 Secret 名稱。
      • spec.issuerRef 指定了要使用的頒發者的名稱和類型。
      • spec.commonName 是證書的通用名稱。
      • spec.dnsNames 是證書要支持的域名列表。

       

      使用以下命令將該 YAML 文件應用到 Kubernetes 集群中:
      kubectl apply -f my-certificate.yaml
       
      證書將被存到對應的secret資源 my-certifaicate-secret 中
       
      b. 在 ingress 中使用此證書
      apiVersion: networking.k8s.io/v1
      kind: Ingress
      metadata:
        name: my-ingress
        annotations:
          kubernetes.io/ingress.class: nginx
      spec:
        tls:
        - hosts:
          - my-domain.com
          secretName: my-certifaicate-secret
        rules:
        - host: your - domain.com
          http:
            paths:
            - path: /
              pathType: Prefix
              backend:
                service:
                  name: your-service
                  port:
                    number: 80

       

       

      annotations 自動請求方式

       這里通過在Ingress的資源定義文件中加入我們上面創建的 ClusterIssuer ca-issuer來自動請求證書
      apiVersion: networking.k8s.io/v1
      kind: Ingress
      metadata:
        name: my-ingress
        annotations:
          cert-manager.io/cluster-issuer: letsencrypt-issuer
          kubernetes.io/ingress.class: nginx
      spec:
        tls:
        - hosts:
          - your-domain.com
          secretName: your-domain-tls
        rules:
        - host: your - domain.com
          http:
            paths:
            - path: /
              pathType: Prefix
              backend:
                service:
                  name: your-service
                  port:
                    number: 80
      在這個 Ingress 資源中:
      • annotations 部分:
        • cert - manager.io/cluster - issuer 指定了要使用的 ClusterIssuer 名稱。
        • kubernetes.io/ingress.class 指定了使用的 Ingress 控制器類型,這里假設使用的是 Nginx Ingress 控制器。
      • tls 部分:
        • hosts 列出了要為其請求證書的域名。
        • secretName 是存儲頒發的 TLS 證書和私鑰的 Secret 名稱。
      • rules 部分定義了 Ingress 的路由規則。

      使用以下命令將該 Ingress 資源應用到集群中:
      kubectl apply -f ingress-with-cert.yaml

       

      使用以下命令檢查證書的狀態:
      kubectl describe certificate your-domain-tls
       
      如果一切配置正確,Cert - Manager 會自動處理證書的請求和頒發過程。當證書頒發成功后,你可以在指定的 Secret(your-domain-tls)中找到證書和私鑰。
       
       
       

       

      posted @ 2025-04-23 16:03  呆瓜小賊66  閱讀(202)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 亚洲色成人一区二区三区人人澡人人妻人人爽人人蜜桃麻豆 | 亚洲AV国产福利精品在现观看| 高清无打码一区二区三区| 热久在线免费观看视频| 精品无码成人片一区二区| 精品无人区一区二区三区在线| 日本深夜福利在线观看| 毛葺葺老太做受视频| 国产粉嫩美女一区二区三| 国产精品成人午夜福利| 欧洲美熟女乱又伦免费视频 | 他掀开裙子把舌头伸进去添视频| 亚洲一区在线成人av| 国产做爰xxxⅹ久久久精华液| 香蕉久久久久久av成人| 粗大挺进朋友人妻淑娟| 国产成人一区二区不卡| 国产激情一区二区三区成人| 国产无遮挡裸体免费视频在线观看| 国产精品亚洲国际在线看| 无码国模国产在线观看免费| 毛茸茸性xxxx毛茸茸毛茸茸| 免费无码av片在线观看网站| 亚洲欧美综合人成在线| 小污女小欲女导航| 欧美人成在线播放网站免费| 久久精品无码一区二区小草| 老妇xxxxx性开放| 亚洲码与欧洲码区别入口| 中文字幕国产精品一二区| 亚洲精品一区二区区别| 在线免费成人亚洲av| 四虎国产精品永久地址99| 精品国产中文字幕av| 孕妇特级毛片ww无码内射| 亚洲精品国产综合麻豆久久99| 女同AV在线播放| 国产美女免费永久无遮挡| 丝袜国产一区av在线观看| 西西444www高清大胆| 99久久精品看国产一区|