91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何使用KubeSphere在K8s安裝cert-manager為網站啟用HTTPS

發布時間:2021-11-10 18:52:15 來源:億速云 閱讀:594 作者:柒染 欄目:云計算

今天就跟大家聊聊有關如何使用KubeSphere在K8s安裝cert-manager為網站啟用HTTPS,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

什么是 cert-manager

cert-managerhttps://cert-manager.io/)是 Kubernetes 原生的證書管理控制器。它可以幫助從各種來源頒發證書,例如 Let's Encrypt,HashiCorp Vault,Venafi,簡單的簽名密鑰對或自簽名。它將確保證書有效并且是最新的,并在證書到期前嘗試在配置的時間續訂證書。它大致基于 kube-lego 的原理,并從其他類似項目(例如 kube-cert-manager)中借鑒了一些智慧。

    cert-maganer

 

準備工作

  1. 需要一個公網可訪問的 IP,例如     139.198.121.121
  2. 需要一個域名,并且已經解析到到對應的IP,例如     A kubesphere.io 139.198.121.121,我們將     staging.kubesphere.io 域名解析到了     139.198.121.121
  3. 在KubeSphere上已經運行網站對應的服務,例如本例中的     ks-console
 

啟用項目網關

登錄 KubeSphere,進入任意一個企業空間下的項目中。

如何使用KubeSphere在K8s安裝cert-manager為網站啟用HTTPS  

在 KubeSphere 中啟用對應項目下的網關。

如何使用KubeSphere在K8s安裝cert-manager為網站啟用HTTPS  

我們開啟的是一個NodePort類型的網關,需要在集群外部使用 LoadBalancer 轉發到網關的端口,將 139.198.121.121 綁定到 LoadBalancer 上,這樣我們就可以通過公網IP直接訪問我們的服務了;如果 Kubernetes 集群是在物理機上,可以安裝 Porter(https://porter.kubesphere.io負載均衡器對外暴露集群服務;如果在公有云上,可以安裝和配置公有云支持的負載均衡器插件,然后創建 LoadBalancer 類型的網關,填入公網IP對應的 eip,會自動創建好負載均衡器,并將端口轉發到網關。

 

安裝 cert-manager

詳細安裝文檔可以參考 cert-manager。

cert-manager 部署時會創建一個 webhook 來校驗 cert-manager 相關對象是否符合格式,不過也會增加部署的復雜性。這里我們使用官方提供的一個 no-webhook 版本安裝。

可以在 KubeSphere 右下角的工具箱中,打開 Web Kubectl。

如何使用KubeSphere在K8s安裝cert-manager為網站啟用HTTPS  

在 Web Kubectl 執行下列命令安裝 cert-manager:

# Install the CustomResourceDefinitions and cert-manager itself
kubectl apply -f https://github.com/jetstack/cert-manager/releases/download/v0.11.0/cert-manager-no-webhook.yaml
   

創建 Issuer

Issuer 是 cert-manager 中的概念,表示證書的簽發者。在此實例中,我們使用免費的 letsencrypt 來獲取TLS證書。

在 kubectl 中執行下面命令來創建一個kubesphere-system項目可用的 Issuer(注意修改項目和email信息)

kubectl -n kubesphere-system create -f - <<EOF
apiVersion: cert-manager.io/v1alpha2
kind: Issuer
metadata:
 name: letsencrypt-prod
 namespace: kubesphere-system
spec:
 acme:
   email: kubesphere@kubesphere.io
   privateKeySecretRef:
     name: letsencrypt-prod
   server: https://acme-v02.api.letsencrypt.org/directory
   solvers:
   - http01:
       ingress:
         class: nginx
EOF
 

創建完成后,執行下面命令可以看到

[root@master ~]# kubectl -n kubesphere-system get issuers.cert-manager.io
NAME               AGE
letsencrypt-prod   46m
   

創建證書 Certificate

在kubectl里執行下面命令創建

kubectl -n kubesphere-system create -f - <<EOF
apiVersion: cert-manager.io/v1alpha2
kind: Certificate
metadata:
 name: staging-kubesphere-io
 namespace: kubesphere-system
spec:
 commonName: staging.kubesphere.io
 dnsNames:
 - staging.kubesphere.io
 duration: 2160h
 issuerRef:
   name: letsencrypt-prod
 renewBefore: 360h
 secretName: staging-kubesphere-io
EOF
 

cert-manager 會根據 Certificate 自動進行 http01 challenge 簽發證書,在 kubesphere-system 下創建對應的 TLS 證書

[root@master ~]# kubectl -n kubesphere-system get secrets
NAME                                TYPE                                  DATA   AGE
staging-kubesphere-io               kubernetes.io/tls                     3      40m
   

使用證書

證書簽發完成后,確認對應的 TLS 證書已經在項目下創建,就可以在創建應用路由(Ingress)中使用證書了。如下,創建時選擇對應的 TLS 證書即可

如何使用KubeSphere在K8s安裝cert-manager為網站啟用HTTPS  

當創建 Ingress 完成后,即可通過瀏覽器 https://staging.kubesphere.io 訪問 Ingress 代理的服務,本示例我們已給 KubeSphere Console 服務配置了該域名。

如何使用KubeSphere在K8s安裝cert-manager為網站啟用HTTPS  
 
 

KubeSphere (https://kubesphere.io) 是在 Kubernetes 之上構建的以應用為中心的多租戶容器平臺,提供全棧的 IT 自動化運維的能力,簡化企業的 DevOps 工作流。KubeSphere 提供了運維友好的向導式操作界面,幫助企業快速構建一個強大和功能豐富的容器云平臺。

看完上述內容,你們對如何使用KubeSphere在K8s安裝cert-manager為網站啟用HTTPS有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

郁南县| 武山县| 乐至县| 邯郸市| 保山市| 岳普湖县| 遂平县| 缙云县| 台东县| 浦北县| 锦州市| 定西市| 嘉善县| 庆阳市| 鸡泽县| 五河县| 临湘市| 盐亭县| 巩留县| 石柱| 忻州市| 肇源县| 确山县| 汕头市| 蒙阴县| 甘孜县| 台山市| 会昌县| 老河口市| 蕲春县| 依兰县| 漳浦县| 南投县| 广汉市| 义乌市| 房山区| 清新县| 涞源县| 兰州市| 绵竹市| 谢通门县|