Ошибка ImagePullBackOff при запуске развертывания kubernetes на подчиненном компьютере, где на главном компьютере присутствует образ докера докера - PullRequest
0 голосов
/ 25 мая 2018

У меня есть кластер kubernetes, состоящий из 2 машин, на машинах с «голым железом», на которых главная машина содержит образ докера, который я хочу развернуть только на подчиненном узле, но я не хочу использовать облачное хранилище для хранения образов, я создаю докерИзображение из задания jenkins, которое запускается на главной машине, если я использую образ докера из dockerhub, развертывание работает нормально, но выдает ошибку при развертывании на подчиненном узле, когда образ находится на главной машине,

NAME                            READY     STATUS             RESTARTS  AGE

dash-deploy-5bd7cb4484-wvwcr    0/1       ImagePullBackOff   0         22h

hello-deploy-5756df7ff4-mwzcw   1/1       Running            0         21h

привет-deploy использует образ докера из концентратора докеров, в то время как dash-deploy использует образ докера, представленный на главном узле, оба развертывания выполняются на подчиненном узле.Я знаю, что есть много других способов сделать это, но любая помощь в этом была бы признательна.Я использую Ubuntu 16.04

версия kubeadm: & version.Info {Major: "1", Minor: "10", GitVersion: "v1.10.2", GitCommit: "81753b10df112992bf51bbc2c2f85208aad78335" GateV33T5 Gtateclean ", BuildDate:" 2018-04-27T09: 10: 24Z ", GoVersion:" go1.9.3 ", компилятор:" gc ", платформа:" linux / amd64 "}

версия kubectl Версия клиента:version.Info {Major: "1", Minor: "9", GitVersion: "v1.9.3", GitCommit: "d2835416544f298c919e2ead3be3d0864b52323b", GitTreeState: "clean", BuildDate: "2018-02-07T12: 22: 21Z"GoVersion: "go1.9.2", компилятор: "gc", платформа: "linux / amd64"}

Версия сервера: version.Info {Major: "1", Minor: "10", GitVersion: "v1.10.3 ", GitCommit:" 2bba0127d85d5a46ab4b778548be28623b32d0b0 ", GitTreeState:" clean ", BuildDate:" 2018-05-21T09: 05: 37Z ", GoVersion:" go1.9.3 ", компилятор:" gc ", платформа: lin"amd64 "}

Мой файл yaml выглядит как

---
apiVersion: extensions/v1beta1     
kind: Deployment    
metadata:    
  name: dash-deploy    
spec:    
  replicas: 1    
  minReadySeconds: 1    
  strategy:    
    type: RollingUpdate    
    rollingUpdate:    
      maxUnavailable: 1    
      maxSurge: 1    
  template:    
    metadata:    
      labels:    
        app: dashboard    
    spec:    
      containers:    
      - name: dash-pod    
        image: 32:32    
        imagePullPolicy: IfNotPresent    
        ports:    
        - containerPort: 8080    
---    
apiVersion: v1    
kind: Service    
metadata:    
  name: dash-svc    
  labels:    
    app: dashboard    
spec:    
  type: NodePort    
  ports:    
  - port: 8080    
    nodePort: 30002    
    protocol: TCP    
  selector:    
    app: dashboard    
---

Ответы [ 2 ]

0 голосов
/ 23 июля 2018

Как уже упоминалось в fiunchinho, вы можете настроить реестр Docker и использовать его для своих развертываний.

Другое решение - экспортировать образ из вашего Jenkins, docker import из своего ведомого

0 голосов
/ 25 мая 2018

Раб должен скачать изображение откуда-то.Изображения не распределяются автоматически на подчиненные устройства.

Если вы не хотите использовать dockerhub, вам необходимо разместить собственный реестр Docker в кластере, чтобы загрузить изображения из него. Это руководство поможет вам сделать это .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...