小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

kubernetes獲取私有registry的images

 饅頭的人生 2018-07-31

通常在實(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ò)誤。有兩種方式去解決。

  1. 在k8s中的每個(gè)集群中的node節(jié)點(diǎn)中去docker login 登錄。顯然這種方式不合理。
  2. 通過(guò)k8s的secret來(lái)做。

下面我主要講解的就是第二種方式。

首先在其中一個(gè)node上登錄私有倉(cāng)庫(kù)

docker login hub.yfcloud.io

登錄成功后會(huì)在/root/.docker目錄下生產(chǎn)config.json文件,然后執(zhí)行如下命令:

cat /root/.docker/config.json | base64

該命令會(huì)將你的認(rèn)證信息通過(guò)base64編碼,生成一個(gè)編碼之后的字符串,在linux中terminal中看到是兩行,但是其實(shí)質(zhì)是一行,所以之后要用到的這個(gè)字符串需要合并為一行。

在kubernetes中的master節(jié)點(diǎn)中創(chuàng)建secret 元素:

apiVersion: v1
kind: Secret
metadata:
  name: hub.yfcloud.io.key
type: kubernetes.io/dockerconfigjson
data:
  .dockerconfigjson: ewoJImF1dGhzIjogewoJCSJkb2NrZXIuY29vY2xhLm9yZyI6IHsKCQkJImF1dGgiOiAiWkdWMk9tUnZZMnRsY2c9PSIsCgkJCSJlbWFpbCI6ICIiCgkJfQoJfQp9

其中name你可以隨便取,推薦用私有倉(cāng)庫(kù)地址.key的方式命名。

之后在創(chuàng)建其他元素的時(shí)候指定:imagesPullSecrets即可。例如:

pod:

apiVersion: v1
kind: Pod
metadata:
  name: go-web
spec:
  containers:
  - name: go-web
    image: hub.yfcloud.io/go-web
  imagePullSecrets:
  - name: hub.yfcloud.io.key

replicationController:

apiVersion: v1
kind: ReplicationController
metadata:
  name: go-web
  labels:
    name: go-web
spec:
  replicas: 1 
  selector: 
    name: go-web
  template: 
    metadata: 
      labels: 
        name: go-web
    spec: 
      containers:
        - name: go-web
          image: hub.yfcloud.io/go-web 
          ports: 
            - containerPort: 9080
          resources: 
            limits:
              cpu: 100m
              memory: 100Mi
      imagePullSecrets:
        - name: hub.yfcloud.io.key 
其中要修改k8s部署各個(gè)節(jié)點(diǎn)(未驗(yàn)證, 應(yīng)該是只修改 master 上即可)
/etc/docker/daemon.json, "insecure-registries": ["hub.yfcloud.io"]
重啟 docker, systemctl restart docker

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類(lèi)似文章 更多