Как настроить kubernetes (microk8s) для использования локальных образов докера? - PullRequest
2 голосов
/ 06 апреля 2019

Я построил образ Docker локально:

docker build -t backend -f backend.docker

Теперь я хочу создать развертывание с ним:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: backend-deployment
spec:
  selector:
    matchLabels:
      tier: backend
  replicas: 2
  template:
    metadata:
      labels:
        tier: backend
    spec:
      containers:
      - name: backend
        image: backend
        imagePullPolicy: IfNotPresent # This should be by default so
        ports:
        - containerPort: 80

kubectl apply -f file_provided_above.yaml работает, но тогда у меня есть следующие статусы pods:

$ kubectl get pods
NAME                                   READY   STATUS             RESTARTS   AGE
backend-deployment-66cff7d4c6-gwbzf    0/1     ImagePullBackOff   0          18s

До этого это было ErrImagePull. Итак, мой вопрос, как сказать ему использовать локальные образы докера? Где-то в интернете я читал, что мне нужно создавать образы, используя microk8s.docker, но он , кажется, удален .

1 Ответ

4 голосов
/ 06 апреля 2019

Найдены документы о том, как использовать личный реестр: https://microk8s.io/docs/working

Сначала необходимо включить:

microk8s.enable registry

Затем изображения помещаются в реестр:

docker tag backend localhost:32000/backend
docker push localhost:32000/backend

А затем в вышеуказанном конфиге image: backend необходимо заменить на image: localhost:32000/backend

...