cert-manager-自動(dòng)證書刷新工具


證書過期,是個(gè)讓人很頭疼的問題峰伙。需要定期的去renew證書疗疟,就會(huì)比較麻煩,而且很容易遺忘瞳氓。當(dāng)portal太多當(dāng)時(shí)候策彤,這個(gè)問題就會(huì)更加明顯。這個(gè)問題本身并不是什么難題匣摘,寫個(gè)定時(shí)任務(wù)就可以完成店诗。如果我們代碼部署在k8s上的話,也只用寫個(gè)cronjob去刷新掛載的secret就可以了恋沃。今天要介紹的是采用Cert-manager來自動(dòng)管理證書必搞,我認(rèn)為它很優(yōu)雅,對(duì)代碼沒有侵入性囊咏,并且使用起來很簡(jiǎn)單方便。先看看他官網(wǎng)自己怎么說的塔橡。

cert-manager is a native?Kubernetes?certificate management controller. It can help with issuing certificates from a variety of sources, such as?Let’s Encrypt,?HashiCorp Vault,?Venafi, a simple signing key pair, or self signed.

官方文檔介紹的很詳細(xì)梅割。今天就主要介紹一下踩的一點(diǎn)點(diǎn)坑就行了。因?yàn)槲覀兊捻?xiàng)目是部署在gcp k8s cluster上的葛家,所以下面的介紹也都以k8s部署為例户辞。

安裝

安裝 CustomResourceDefinition

kubectl apply --validate=false-f https://github.com/jetstack/cert-manager/releases/download/v0.14.0/cert-manager.yaml

kubectl create namespace cert-manager

helm repo add jetstack https://charts.jetstack.io

helm repo update

helm3.x 執(zhí)行 helm install cert-manager jetstack/cert-manager --namespace cert-manager --version v0.14.0

helm2.x 執(zhí)行?helm install --name cert-manager --namespace cert-manager --version v0.14.0 jetstack/cert-manager?

到這里基本的安裝就結(jié)束了●耍可以通過這個(gè)命令去查看一下底燎。kubectl get pods --namespace cert-manager


使用

Ingress上的使用

Ingress使用比較簡(jiǎn)單,不過多介紹弹砚。為了讓多個(gè)Ingress可以共用同一個(gè)Issuer双仍,需要?jiǎng)?chuàng)建一個(gè)ClusterIssuer。溫馨提示桌吃,測(cè)試環(huán)境請(qǐng)用letencrypt的staging環(huán)境朱沃,生產(chǎn)環(huán)境有配額限制。每IP每3個(gè)小時(shí)不超過10次,每個(gè)域名(包含子域名)每7天不超過5個(gè)逗物。


接下來就按照教程里面說的配置就行了搬卒,secretName可以隨便取名,cert-manager會(huì)自動(dòng)幫你創(chuàng)建翎卓。


loadbalancer上的使用

我們項(xiàng)目有一個(gè)項(xiàng)目比較特殊契邀,不需要用ingress,而是直接采用的loadbalancer的形式暴露服務(wù)失暴。那么證書就需要手動(dòng)去刷新蹂安。

首先創(chuàng)建一個(gè)issuer


然后創(chuàng)建一個(gè)certificate


certificate里面的secretName就是生成的證書所在了,可以把這個(gè)secret掛載到需要的地方锐帜,就可以使用了田盈。

這里踩的一個(gè)坑就是,一開始我在供ingress使用的clusterissuer下面添加了dns解析器這種形式缴阎,但是失敗了允瞧。由于我是采用clouddns的形式,需要letencrypt能夠訪問到我的dns下面蛮拔,所以需要提供service account述暂,所以就掛載了一個(gè)secret。由于service account secret需要能夠被clusterissueer訪問到建炫,所以需要放在clusterissuer對(duì)應(yīng)的namespace A下面畦韭。certificate創(chuàng)建的secret需要被namespace B使用,所以需要?jiǎng)?chuàng)建在namespace B中肛跌。走到這里就失敗了艺配,因?yàn)閏ertificate在調(diào)用clusterissuer的申請(qǐng)證書的時(shí)候,提示訪問不到service account衍慎。最后改用了Issuer转唉。

今天寫到這里突然想到,service account secret放在namespace B中稳捆,clusterissuer不知道能不能讀到赠法,如果能就完美了。晚點(diǎn)試試再來給答案乔夯。

自動(dòng)證書刷新就做完了砖织,針對(duì)具體的項(xiàng)目,怎么讓secret每次更新觸發(fā)程序重新讀取secret的值就需要寫一個(gè)cronjob了末荐,比如nginx reload之類的侧纯。我這里是寫了個(gè)cronjob,用python來定期讀取證書

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
禁止轉(zhuǎn)載鞠评,如需轉(zhuǎn)載請(qǐng)通過簡(jiǎn)信或評(píng)論聯(lián)系作者茂蚓。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子聋涨,更是在濱河造成了極大的恐慌晾浴,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,948評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件牍白,死亡現(xiàn)場(chǎng)離奇詭異脊凰,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)茂腥,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,371評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門狸涌,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人最岗,你說我怎么就攤上這事帕胆。” “怎么了般渡?”我有些...
    開封第一講書人閱讀 157,490評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵懒豹,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我驯用,道長(zhǎng)脸秽,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,521評(píng)論 1 284
  • 正文 為了忘掉前任蝴乔,我火速辦了婚禮记餐,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘薇正。我一直安慰自己片酝,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,627評(píng)論 6 386
  • 文/花漫 我一把揭開白布铝穷。 她就那樣靜靜地躺著钠怯,像睡著了一般。 火紅的嫁衣襯著肌膚如雪曙聂。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,842評(píng)論 1 290
  • 那天鞠鲜,我揣著相機(jī)與錄音宁脊,去河邊找鬼。 笑死贤姆,一個(gè)胖子當(dāng)著我的面吹牛榆苞,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播霞捡,決...
    沈念sama閱讀 38,997評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼坐漏,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起赊琳,我...
    開封第一講書人閱讀 37,741評(píng)論 0 268
  • 序言:老撾萬榮一對(duì)情侶失蹤街夭,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后躏筏,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體板丽,經(jīng)...
    沈念sama閱讀 44,203評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,534評(píng)論 2 327
  • 正文 我和宋清朗相戀三年趁尼,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了埃碱。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,673評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡酥泞,死狀恐怖砚殿,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情芝囤,我是刑警寧澤似炎,帶...
    沈念sama閱讀 34,339評(píng)論 4 330
  • 正文 年R本政府宣布,位于F島的核電站凡人,受9級(jí)特大地震影響名党,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜挠轴,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,955評(píng)論 3 313
  • 文/蒙蒙 一传睹、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧岸晦,春花似錦欧啤、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,770評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至冈在,卻和暖如春倒慧,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背包券。 一陣腳步聲響...
    開封第一講書人閱讀 32,000評(píng)論 1 266
  • 我被黑心中介騙來泰國(guó)打工纫谅, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人溅固。 一個(gè)月前我還...
    沈念sama閱讀 46,394評(píng)論 2 360
  • 正文 我出身青樓付秕,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親侍郭。 傳聞我的和親對(duì)象是個(gè)殘疾皇子询吴,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,562評(píng)論 2 349

推薦閱讀更多精彩內(nèi)容