17

docker の入門チュートリアルに従おうとしていますが、kuberetes を使用する必要がある場合に行き詰まります。microk8s を使用してクラスターを作成しています。

私の Dockerfile:

FROM node:6.11.5WORKDIR /usr/src/app
COPY package.json .
RUN npm install
COPY . .

CMD [ "npm", "start" ]

私のbb.yaml:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: bb-demo
  namespace: default
spec:
  replicas: 1
  selector:
    matchLabels:
      bb: web
  template:
    metadata:
      labels:
        bb: web
    spec:
      containers:
      - name: bb-site
        image: bulletinboard:1.0
---
apiVersion: v1
kind: Service
metadata:
  name: bb-entrypoint
  namespace: default
spec:
  type: NodePort
  selector:
    bb: web
  ports:
  - port: 8080
    targetPort: 8080
    nodePort: 30001

で画像を作成します

docker image build -t bulletinboard:1.0 .

そして、ポッドとサービスを次のように作成します。

microk8s.kubectl apply -f bb.yaml

ポッドが作成されましたが、ポッドの状態を調べると

microk8s.kubectl get all

それは言います:

NAME                           READY   STATUS             RESTARTS   AGE
pod/bb-demo-7ffb568776-6njfg   0/1     ImagePullBackOff   0          11m

NAME                    TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)          AGE
service/bb-entrypoint   NodePort    10.152.183.2   <none>        8080:30001/TCP   11m
service/kubernetes      ClusterIP   10.152.183.1   <none>        443/TCP          4d

NAME                      READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/bb-demo   0/1     1            0           11m

NAME                                 DESIRED   CURRENT   READY   AGE
replicaset.apps/bb-demo-7ffb568776   1         1         0       11m

また、kubernetes ダッシュボードで検索すると、次のように表示されます。

イメージ "bulletinboard:1.0" をプルできませんでした: rpc エラー: コード = 不明な desc = イメージ "docker.io/library/bulletinboard:1.0" を解決できませんでした: 利用可能なレジストリ エンドポイントがありません: プル アクセスが拒否されました。リポジトリが存在しないか必要な場合があります承認: サーバー メッセージ: 不十分なスコープ: 承認に失敗しました

Q: なぜこのエラーが発生するのですか? 何もスキップせずにチュートリアルに従っているだけです。

私はすでにdockerでログインしています。

4

3 に答える 3