【发布时间】:2018-08-17 02:47:14
【问题描述】:
我试图部署一个非常基本的 Express 应用程序,一个在 EC2 服务器 (Ubuntu 16.04) following this tutorial 上监听 8080 的小型服务器。在该服务器上,它通过 kops 1.8.0 创建了一个 Kubernetes 集群。 之后,我创建了一个 Dockerfile,如下所示:
FROM node:carbon
ENV NPM_CONFIG_PREFIX=/home/node/.npm-global
ENV PATH=$PATH:/home/node/.npm-global/bin
# Create app directory
WORKDIR /usr/src/app
# A wildcard is used to ensure both package.json AND package-lock.json are copied
# where available (npm@5+)
COPY package*.json ./
RUN npm install
# Bundle app source
COPY . .
EXPOSE 8080
CMD [ "node", "server.js" ]
# At the end, set the user to use when running this image
USER node
之后,我使用docker build -t ccastelli/stupid_server:test1 构建了映像,使用docker login -u ccastelli 指定了我的凭据,我从docker images 复制了映像ID,将其标记为docker tag c549618dcd86 org/test:first_try 并使用docker push org/test 推送到私有存储库中cloud.docker.com.
之后我用kubectl create secret docker-registry ccastelli-regcred --docker-server=docker.com --docker-username=ccastelli --docker-password='pass' --docker-email=myemail@gmail.com创建了一个集群密码
之后我创建了一个部署文件:
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: stupid-server-deployment
spec:
replicas: 1
template:
metadata:
labels:
app: stupid-server
spec:
containers:
- name: stupid-server
image: org/test:first_try
imagePullPolicy: Always
ports:
- containerPort: 8080
imagePullSecrets:
- name: ccastelli-regcred
我从kubectl get pods 看到图像从ErrPullImage 过渡到ImagePullBackOff,但它还没有准备好。无论如何,docker容器正在客户端实例上工作,但不在集群中。在这一点上,我有点失落。我究竟做错了什么?
谢谢
编辑:消息错误:
未能提取图像“org/test:first_try”:rpc 错误:代码 = Unknown desc = 来自守护进程的错误响应:存储库 pycomio/test not 找到:不存在或没有拉取访问权限
【问题讨论】:
-
您是否托管您的 docker 私有存储库?如果可以,k8s集群能否1.正确解析域2.可以到达端口?
-
私有仓库在 cloud.docker.com 上,我添加了从仪表板得到的错误。
-
尝试将您的密钥更新为
--docker-server=https://cloud.docker.com或您的容器image: cloud.docker.com/org/test或两者兼而有之
标签: kubernetes