今天就跟大家聊聊有關(guān)如何使用KubeSphere在K8s安裝cert-manager為網(wǎng)站啟用HTTPS,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
發(fā)展壯大離不開廣大客戶長期以來的信賴與支持,我們將始終秉承“誠信為本、服務(wù)至上”的服務(wù)理念,堅持“二合一”的優(yōu)良服務(wù)模式,真誠服務(wù)每家企業(yè),認(rèn)真做好每個細(xì)節(jié),不斷完善自我,成就企業(yè),實現(xiàn)共贏。行業(yè)涉及成都門簾等,在網(wǎng)站建設(shè)公司、營銷型網(wǎng)站建設(shè)、WAP手機網(wǎng)站、VI設(shè)計、軟件開發(fā)等項目上具有豐富的設(shè)計經(jīng)驗。
cert-manager(https://cert-manager.io/
)是 Kubernetes 原生的證書管理控制器。它可以幫助從各種來源頒發(fā)證書,例如 Let's Encrypt,HashiCorp Vault,Venafi,簡單的簽名密鑰對或自簽名。它將確保證書有效并且是最新的,并在證書到期前嘗試在配置的時間續(xù)訂證書。它大致基于 kube-lego 的原理,并從其他類似項目(例如 kube-cert-manager)中借鑒了一些智慧。
cert-maganer
139.198.121.121
A kubesphere.io 139.198.121.121
,我們將
staging.kubesphere.io
域名解析到了
139.198.121.121
ks-console
登錄 KubeSphere,進(jìn)入任意一個企業(yè)空間下的項目中。
在 KubeSphere 中啟用對應(yīng)項目下的網(wǎng)關(guān)。
我們開啟的是一個NodePort類型的網(wǎng)關(guān),需要在集群外部使用 LoadBalancer 轉(zhuǎn)發(fā)到網(wǎng)關(guān)的端口,將
139.198.121.121
綁定到 LoadBalancer 上,這樣我們就可以通過公網(wǎng)IP直接訪問我們的服務(wù)了;如果 Kubernetes 集群是在物理機上,可以安裝 Porter(https://porter.kubesphere.io
)負(fù)載均衡器對外暴露集群服務(wù);如果在公有云上,可以安裝和配置公有云支持的負(fù)載均衡器插件,然后創(chuàng)建 LoadBalancer 類型的網(wǎng)關(guān),填入公網(wǎng)IP對應(yīng)的 eip,會自動創(chuàng)建好負(fù)載均衡器,并將端口轉(zhuǎn)發(fā)到網(wǎng)關(guān)。
詳細(xì)安裝文檔可以參考 cert-manager。
cert-manager
部署時會創(chuàng)建一個webhook
來校驗cert-manager
相關(guān)對象是否符合格式,不過也會增加部署的復(fù)雜性。這里我們使用官方提供的一個no-webhook
版本安裝。
可以在 KubeSphere 右下角的工具箱中,打開 Web Kubectl。
在 Web Kubectl 執(zhí)行下列命令安裝 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
是 cert-manager 中的概念,表示證書的簽發(fā)者。在此實例中,我們使用免費的 letsencrypt
來獲取TLS證書。
在 kubectl 中執(zhí)行下面命令來創(chuàng)建一個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
創(chuàng)建完成后,執(zhí)行下面命令可以看到
[root@master ~]# kubectl -n kubesphere-system get issuers.cert-manager.io
NAME AGE
letsencrypt-prod 46m
Certificate
在kubectl里執(zhí)行下面命令創(chuàng)建
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
會根據(jù) Certificate
自動進(jìn)行 http01 challenge
簽發(fā)證書,在 kubesphere-system
下創(chuàng)建對應(yīng)的 TLS 證書
[root@master ~]# kubectl -n kubesphere-system get secrets
NAME TYPE DATA AGE
staging-kubesphere-io kubernetes.io/tls 3 40m
證書簽發(fā)完成后,確認(rèn)對應(yīng)的 TLS 證書已經(jīng)在項目下創(chuàng)建,就可以在創(chuàng)建應(yīng)用路由(Ingress)中使用證書了。如下,創(chuàng)建時選擇對應(yīng)的 TLS 證書即可
當(dāng)創(chuàng)建 Ingress 完成后,即可通過瀏覽器 https://staging.kubesphere.io
訪問 Ingress 代理的服務(wù),本示例我們已給 KubeSphere Console 服務(wù)配置了該域名。
KubeSphere (https://kubesphere.io) 是在 Kubernetes 之上構(gòu)建的以應(yīng)用為中心的多租戶容器平臺,提供全棧的 IT 自動化運維的能力,簡化企業(yè)的 DevOps 工作流。KubeSphere 提供了運維友好的向?qū)讲僮鹘缑?,幫助企業(yè)快速構(gòu)建一個強大和功能豐富的容器云平臺。
看完上述內(nèi)容,你們對如何使用KubeSphere在K8s安裝cert-manager為網(wǎng)站啟用HTTPS有進(jìn)一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。
網(wǎng)站題目:如何使用KubeSphere在K8s安裝cert-manager為網(wǎng)站啟用HTTPS
網(wǎng)站URL:http://www.muchs.cn/article46/ghjphg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計、面包屑導(dǎo)航、定制網(wǎng)站、自適應(yīng)網(wǎng)站、服務(wù)器托管、網(wǎng)站維護
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)