首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >部署阶段出错:"lchmod (文件属性)错误:不支持“

部署阶段出错:"lchmod (文件属性)错误:不支持“
EN

Stack Overflow用户
提问于 2021-02-01 17:50:04
回答 1查看 203关注 0票数 1

我正在尝试将镜像"casbin-role-backend“部署到云上,但总是失败。

从日志中可以找到以下内容:

代码语言:javascript
复制
Preparing to start the job...
Pipeline image: latest
Preparing the build artifacts...
lchmod (file attributes) error: Not supported
.....
DEPLOYING using manifest
+++ kubectl apply --namespace default -f ./tmp.deployment.yaml
deployment.apps/casbin-role-backend unchanged
The Service "casbin-role-backend" is invalid: spec.ports[0].nodePort: Invalid value: 30080: provided port is already allocated
+++ set +x
CHECKING deployment rollout of casbin-role-backend

+++ kubectl rollout status deploy/casbin-role-backend --watch=true --timeout=150s --namespace default
error: deployment "casbin-role-backend" exceeded its progress deadline
+++ STATUS=fail
+++ set +x
SHOWING last events
LAST SEEN   TYPE      REASON                 OBJECT                                     MESSAGE
41m         Warning   Failed                 pod/casbin-role-mgt-ui-7d59b6d4cf-2pbhm    Error: InvalidImageName
2m11s       Warning   InspectFailed          pod/casbin-role-backend-68d76464dd-vbvch   Failed to apply default image tag "//:": couldn't parse image reference "//:": invalid reference format

..。部署失败....

好的

代码语言:javascript
复制
Finished: FAILED               

下面是我的deployment.yaml:

代码语言:javascript
复制
apiVersion: v1
kind: Service
metadata:
  name: casbin-role-backend
  labels:
    app: app
spec:
  type: NodePort
  ports:
  - port: 3000
    name: http
    nodePort: 30080
  selector:
    app: app
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: casbin-role-backend
spec:
  replicas: 1
  selector:
    matchLabels:
      app: app
  template:
    metadata:
      labels:
        app: app
    spec:
      containers:
      - name: casbin-role-backend
        image: xxx/casbin-role-backend
        ports:
        - containerPort: 3000

有人知道这是什么错误吗?我已经搜索了一段时间,但仍然找不到它是什么以及如何修复。

更新:源码来源于下面,我在k8s上添加了Dockerfile和deployment.yaml来部署。https://github.com/alikhan866/Casbin-Role-Mgt-Dashboard-RBAC

Dockerfile来源:

代码语言:javascript
复制
# pull official base image
FROM node:13.12.0-alpine

# set working directory
WORKDIR /dist

# add `/app/node_modules/.bin` to $PATH
ENV PATH /app/node_modules/.bin:$PATH

# install app dependencies
COPY package.json ./
COPY package-lock.json ./
RUN npm install

# add app
COPY . ./

# start app
CMD ["npm", "run dev"]
EN

回答 1

Stack Overflow用户

发布于 2021-02-16 21:13:03

我在这里看到两个问题:

1.

代码语言:javascript
复制
The Service "casbin-role-backend" is invalid: spec.ports[0].nodePort: Invalid value: 30080: provided port is already allocated

这意味着nodePort服务使用的端口已经在使用中。您可以使用:kubectl get svc --all-namespaces | grep '30080'列出这些服务,并更改端口值或删除服务。此外,请确保指定了正确的名称空间。

2.

代码语言:javascript
复制
2m11s       Warning   InspectFailed          pod/casbin-role-backend-68d76464dd-vbvch   Failed to apply default image tag "//:": couldn't parse image reference "//:": invalid reference format`

我认为你的镜像名称是无效的,因为它是以https://://开头的。正确的镜像名称应如下所示:

代码语言:javascript
复制
image: repository:organization_name/image_name:image_version
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65990476

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档