Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Kubernetes部署Node.js应用程序_Kubernetes - Fatal编程技术网

使用Kubernetes部署Node.js应用程序

使用Kubernetes部署Node.js应用程序,kubernetes,Kubernetes,我试图部署一个非常基本的Express应用程序,一个在EC2服务器(Ubuntu 16.04)上监听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 direct

我试图部署一个非常基本的Express应用程序,一个在EC2服务器(Ubuntu 16.04)上监听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/dumby_server:test1
构建了映像,我用
docker login-u ccastelli
指定了我的凭证,我从
docker images
复制了映像ID,将其标记为docker tag c549618dcd86 org/test:first_try并在中的私有存储库上使用
docker push org/test
推送

之后,我用
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\u try”:rpc错误:代码= Unknown desc=来自守护程序的错误响应:存储库pycomio/test not 找到:不存在或没有拉取访问权限

您的--docker服务器应该是
index.docker.io

DOCKER_REGISTRY_SERVER=https://index.docker.io/v1/
DOCKER_USER=Type your dockerhub username, same as when you `docker login`
DOCKER_EMAIL=Type your dockerhub email, same as when you `docker login`
DOCKER_PASSWORD=Type your dockerhub pw, same as when you `docker login`

kubectl create secret docker-registry myregistrykey \
  --docker-server=$DOCKER_REGISTRY_SERVER \
  --docker-username=$DOCKER_USER \
  --docker-password=$DOCKER_PASSWORD \
  --docker-email=$DOCKER_EMAIL

您是否托管docker私有存储库?如果是这样,则k8s群集1可以正常工作。正确解析域,然后执行2。可以到达端口吗?私有repo位于cloud.docker.com上,我已添加了从仪表板上获得的错误。请尝试将您的机密更新到
--docker server=https://cloud.docker.com
或者你的容器
图片:cloud.docker.com/org/test
或者诸如此类如果你是对的,我也找到了这个答案