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でログインしています。