小编sem*_*ral的帖子

qemu-x86_64:无法打开“/lib64/ld-linux-x86-64.so.2”:没有这样的文件或目录

我在 M1 MacOS 上有一个 Rancher Deskop(dockerd),当我尝试在 dockerfile 下构建时,我收到如下错误。这是我尝试构建图像的命令docker build -t te-grafana-dashboards-toolchain --no-cache .

我尝试更换平台,但其中一些对我有用。我对 M1 的这个平台问题有点迷失,但任何帮助将不胜感激,我做错了什么?造成这种情况的根本原因可能是什么?

Removing intermediate container 70af516d5d6b
 ---> a69229847153
Step 5/6 : RUN GO111MODULE="on" go get github.com/jsonnet-bundler/jsonnet-bundler/cmd/jb; ln -s $(go env GOPATH)/bin/jb /usr/bin/jb
 ---> Running in 13545862fffe
qemu-x86_64: Could not open '/lib64/ld-linux-x86-64.so.2': No such file or directory
qemu-x86_64: Could not open '/lib64/ld-linux-x86-64.so.2': No such file or directory
Removing intermediate container 13545862fffe
Run Code Online (Sandbox Code Playgroud)

Dockerfile

FROM --platform=linux/amd64 ubuntu:focal
RUN apt update; apt install -y curl jq build-essential python3.8 python3-pip …
Run Code Online (Sandbox Code Playgroud)

go docker rancher apple-m1

117
推荐指数
4
解决办法
11万
查看次数

npm WARN old lockfile package-lock.json 文件是用旧版本的 npm 创建的

我有一个 dockerfile 如下,但在RUN npm ci步骤中,有一个npm WARN old lockfile The package-lock.json file was created with an old version of npm我无法弄清楚的警告..

我尝试使用 npm install 而不是 npm ci,添加了--package-lock标志但仍然收到此警告。这是我必须忽略的一种警告,或者我应该怎么解决这个问题

Step 12/26 : RUN npm ci --production --package-lock &&     npm ci --production --package-lock --prefix ./ui-runner
 ---> Running in 3473c209b98c
npm WARN old lockfile 
npm WARN old lockfile The package-lock.json file was created with an old version of npm,
npm WARN old lockfile so supplemental metadata must be fetched from …
Run Code Online (Sandbox Code Playgroud)

node.js npm docker dockerfile

23
推荐指数
4
解决办法
2万
查看次数

Helm 图表标签和选择器

我使用helm createHelm v3 命令创建了一个 helm 图表,它为我创建了标准模板。由于我是使用 Helm 的新手,所以我对使用选择器和标签感到有些困惑。

那么应该如何使用deployment.yaml和services.yaml之间的标签呢?

使用include-road-dashboard.labels命令已经执行与下面相同的操作,或者我需要单独指定标签,如下例命令所示。我的问题对于命令来说也是一样的{{ include "road-dashboard.selectorLabels" . }}

更新模板

apiVersion: apps/v1
kind: Deployment
metadata:
  name: {{ include "road-dashboard.fullname" . }}
  labels:
    app.kubernetes.io/name: {{ include "road-dashboard.name" . }}
    helm.sh/chart: {{ include "road-dashboard.chart" . }}
    app.kubernetes.io/instance: {{ .Release.Name }}
    app.kubernetes.io/managed-by: {{ .Release.Service }}
Run Code Online (Sandbox Code Playgroud)

Helm 标准模板

部署.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  name: {{ include "road-dashboard.fullname" . }}
  labels:
    {{- include "road-dashboard.labels" . | nindent 4 }}
spec:
  replicas: {{ .Values.replicaCount …
Run Code Online (Sandbox Code Playgroud)

kubernetes-helm

6
推荐指数
1
解决办法
3万
查看次数

Jenkins 每个阶段有多个帖子部分

我有两个关于 Jenkins 管道中帖子部分的使用问题

1.我们可以在 Jenkins 声明式管道中的每个阶段使用多个 post 部分吗?

2.我们可以在post部分运行sh命令吗?

pipeline{
    stages{
        stage("....") {
            steps { 
               script {
                ....
            }
        }
        post {
          failure{
               sh "....."
            }
        }
        stage("Second stage") {
            when {
                expression { /*condition */ }
            }
            steps {
                script{

                ....
            }
            post {
                always {
                    script {
                        sh "..."
                    }
                }
            }
        }
     }
Run Code Online (Sandbox Code Playgroud)

jenkins jenkins-pipeline

6
推荐指数
1
解决办法
1万
查看次数

Helm 动态设置 Docker 镜像标签

我使用以下命令通过 Jenkins 将 Docker 镜像推送到我们的私有注册表:

def dockerImage = docker.build("repo/myapp:${env.BUILD_NUMBER}")
Run Code Online (Sandbox Code Playgroud)

BUILD_NUMBER每次构建后都会增加。)

因为我是 Helm 的新手,所以我无法决定如何为values.yaml.

我想将我的应用程序部署到多个环境,例如:

  • dev
  • test
  • prod

假设我能够通过 Helm 将应用程序部署到dev,最新的BUILD_NUMBER是:

  • 100 为dev
  • 101 为test
  • 102 为prod

那么标签值应该是多少呢?

 image:
  repository: registryt/myrepo/image
  tag: 
Run Code Online (Sandbox Code Playgroud)

jenkins kubernetes kubernetes-helm

5
推荐指数
1
解决办法
3万
查看次数

Jenkins 和 Kubernetes 与 Helm 的集成

我想集成我们的 Jenkins 和 Kubernetes 集群,它们在不同的服务器上工作。我每个stage和2 个集群production。我已经在舞台集群上创建了 2 个命名空间来划分developmentstage。我将我的 values.yaml 划分为如下所示。

  • valeus.dev.yaml
  • values.stage.yaml
  • values.prod.yaml

所以根据 GIT_BRANCH 值;我想设置命名空间变量并通过helm install命令进行部署。在这种情况下,

我的问题是,在这种情况下,在 Jenkinsfile 中连接 2 个集群的最佳方法是什么,因为开发和测试命名空间我需要一个集群,生产我需要部署另一个集群。

 stage('deploy') {
   steps {
      script {
        if (env.GIT_BRANCH == "origin/master") {
            def namepsace="dev"
            sh "helm upgrade --install -f values.dev.yaml --namespace ${namespace}"
        } else if (env.GIT_BRANCH =="origin/test"){
            def namepsace="stage"
            sh "helm upgrade --install -f values.stage.yaml --namespace ${namespace}"

        } else { 
            def namepsace="prod"
            sh "helm upgrade --install -f values.prod.yaml --namespace …
Run Code Online (Sandbox Code Playgroud)

jenkins kubernetes jenkins-pipeline kubernetes-helm

5
推荐指数
1
解决办法
1209
查看次数

spec.clusterIP:无效值:“”:字段不可变

我们有 Helm 3.0.3 和 1.18 k8s,一年以来我们没有遇到过像下面这样的任何问题。我们通过 helm 将多个微服务部署到 k8s,到目前为止一切正常。但即使我们没有对服务字段进行任何更改,我们也会收到如下错误。

这是我如何部署到 k8s 的命令。当我在 k8s 中卸载该服务并开始重新构建时,它可以正常工作,但是当我需要推送新更改时?再次面对这个错误。

+ helm upgrade --install --debug --force xx-ui-dev --values values.dev.yaml --namespace dev --set image.tag=608 .
Run Code Online (Sandbox Code Playgroud)

错误

history.go:52: [debug] getting history for release xx-ui-dev
upgrade.go:120: [debug] preparing upgrade for xx-ui-dev
upgrade.go:128: [debug] performing update for xx-ui-dev
upgrade.go:292: [debug] creating upgraded release for xx-ui-dev
client.go:173: [debug] checking 7 resources for changes
client.go:432: [debug] Replaced "xx-ui-dev" with kind NetworkPolicy for kind NetworkPolicy

client.go:432: [debug] Replaced "xx-ui-dev" with kind ServiceAccount for …
Run Code Online (Sandbox Code Playgroud)

kubernetes kubernetes-helm

5
推荐指数
1
解决办法
6668
查看次数

nginx根据环境变量进行条件代理传递

我想根据环境变量有条件地 proxy_pass 到相关服务。我的意思是,prox_pass 地址应该根据 NODE_ENV 变量进行更改。

这样做的最佳方法是什么?我可以对 proxy_pass 使用如下 if 语句吗?如果是的话我应该怎么做?除此之外,我尝试创建一个如下所示的 bash 将环境变量传递给 nginx,但无法以$NGINX_BACKEND_ADDRESS某种方式设置并传递给 nginx conf。任何帮助将不胜感激

   if ($NODE_ENV == "development) {
       proxy_pass http://myservice-dev;
   }
Run Code Online (Sandbox Code Playgroud)

nginx.conf

server {
    listen  3000;
    location / {
        root /usr/src/app;
        index  index.html index.htm;
        try_files $uri $uri/ /index.html;
    }
    location /csrf/token {
        proxy_pass ${NGINX_BACKEND_ADDRESS}/csrf/token;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
    location /export/apis {
        proxy_pass ${NGINX_BACKEND_ADDRESS}/export/apis;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
Run Code Online (Sandbox Code Playgroud)

入口点.sh

#!/usr/bin/env sh
set -eu
export NODE_ENV=development
if …
Run Code Online (Sandbox Code Playgroud)

nginx docker

5
推荐指数
1
解决办法
4466
查看次数

Kubernetes 微服务之间的通信

我们正在开发基于微服务的应用程序。它们将使用 Helm Package Manager 部署到 kubernetes,并且所有这些都存储自己的存储库和 helm 图表。以下是我们微服务的名称。

我的困惑是,在部署之前,我如何指定后端的 pod 需要与 UI、API 和 Auth 的 Pods 进行通信。应用程序可以知道与 UI/AUTH/其他内容建立连接,但是在微服务之间管理此操作的最佳方法是什么豆荚。

建筑学

  1. 后端
  2. 用户界面
  3. 应用程序编程接口
  4. 授权

kubernetes kubernetes-helm

4
推荐指数
1
解决办法
9135
查看次数

Jenkins工具和docker代理的区别

抱歉,这可能是一个简单的问题,但是使用工具和 docker agent 之间有什么区别。我认为使用 docker agent 比使用工具更灵活。我什么时候应该使用 docker 代理或工具?

工具

pipeline {
    agent any
    tools {
        maven 'Maven 3.3.9'
        jdk 'jdk8'
    }
    stages {
        stage ('Initialize') {
            steps {
                sh '''
                    echo "PATH = ${PATH}"
                    echo "M2_HOME = ${M2_HOME}"
                '''
            }
        }

        stage ('Build') {
            steps {
                sh 'mvn -Dmaven.test.failure.ignore=true install' 
            }
Run Code Online (Sandbox Code Playgroud)

Docker代理

pipeline {
agent none
stages {
    stage('Back-end') {
        agent {
            docker { image 'maven:3-alpine' }
        }
        steps {
            sh 'mvn --version'
        }
    }
Run Code Online (Sandbox Code Playgroud)

jenkins jenkins-pipeline

3
推荐指数
1
解决办法
1943
查看次数