通常在實(shí)際的項(xiàng)目中用kubernetes做開(kāi)發(fā)的時(shí)候,會(huì)用到私有的registry(鏡像倉(cāng)庫(kù)),比如:在創(chuàng)建應(yīng)用的時(shí)候,鏡像用的就是私有倉(cāng)庫(kù)的鏡像。但是通常會(huì)有一個(gè)問(wèn)題,如果你的私有的鏡像倉(cāng)庫(kù)做了認(rèn)證和授權(quán),kubernetes在創(chuàng)建應(yīng)用的時(shí)候去獲取私有倉(cāng)庫(kù)鏡像就會(huì)失敗,會(huì)報(bào)沒(méi)有認(rèn)證的錯(cuò)誤。有兩種方式去解決。
下面我主要講解的就是第二種方式。 首先在其中一個(gè)node上登錄私有倉(cāng)庫(kù)
登錄成功后會(huì)在/root/.docker目錄下生產(chǎn)config.json文件,然后執(zhí)行如下命令:
該命令會(huì)將你的認(rèn)證信息通過(guò)base64編碼,生成一個(gè)編碼之后的字符串,在linux中terminal中看到是兩行,但是其實(shí)質(zhì)是一行,所以之后要用到的這個(gè)字符串需要合并為一行。 在kubernetes中的master節(jié)點(diǎn)中創(chuàng)建secret 元素:
其中name你可以隨便取,推薦用私有倉(cāng)庫(kù)地址.key的方式命名。 之后在創(chuàng)建其他元素的時(shí)候指定:imagesPullSecrets即可。例如: pod:
replicationController:
其中要修改k8s部署各個(gè)節(jié)點(diǎn)(未驗(yàn)證, 應(yīng)該是只修改 master 上即可) /etc/docker/daemon.json, "insecure-registries": ["hub.yfcloud.io"] 重啟 docker, systemctl restart docker |
|
來(lái)自: 饅頭的人生 > 《待分類(lèi)》