小编AVa*_*arf的帖子

如何从多个存储库触发 Jenkins 管道

我对 Jenkins 比较陌生,我正在开发一个大型项目,该项目从多个存储库中提取来构建。我用 shell 命令编写了一个声明性管道,从所需的存储库中提取并构建项目,一切正常,但我想将此管道连接到所有这些存储库,因此每次有新的提交或拉取请求时,Jenkins 作业都会触发,然后返回构建结果来标记 git 提交。我知道如何为一个存储库执行此操作,但我不知道如何为多个存储库执行此操作。

git continuous-integration continuous-deployment jenkins jenkins-pipeline

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

在kubernetes中自动缩放期间某些请求失败

我在microk8s上建立了一个k8s集群,并将应用程序移植到了它。我还添加了一个水平自动缩放器,它根据cpu负载添加了pod。自动缩放器工作正常,当负载超出目标时,它会添加豆荚;当一段时间后我卸下负载时,它将杀死豆荚。

问题出在自动缩放器正在创建新容器的同一时刻,我注意到一些请求失败:

POST Response Code :  200
POST Response Code :  200
POST Response Code :  200
POST Response Code :  200
POST Response Code :  200
POST Response Code :  502
java.io.IOException: Server returned HTTP response code: 502 for URL: http://10.203.101.61/gateway/compile
POST Response Code :  502
java.io.IOException: Server returned HTTP response code: 502 for URL: http://10.203.101.61/gateway/compile
POST Response Code :  200
POST Response Code :  502
java.io.IOException: Server returned HTTP response code: 502 for URL: http://10.203.101.61/gateway/compile
POST Response Code …
Run Code Online (Sandbox Code Playgroud)

horizontal-scaling autoscaling kubernetes kubernetes-pod

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

将模型热加载到 tensorflow 服务容器中

我知道如何将模型加载到容器中,而且我知道我们可以创建一个静态配置文件,当我们运行 tensorflow 服务容器时,将其传递给容器,然后使用该配置文件中的模型,但我想知道如果有任何方法可以将一个全新的模型(不是以前模型的更新版本)热加载到正在运行的 tensorflow 服务容器中。我的意思是我们用模型 A 运行容器,然后我们将模型 B 加载到容器中并使用它,我们可以这样做吗?如果是如何?

tensorflow tensorflow-serving

2
推荐指数
1
解决办法
1027
查看次数

golang中如何在不退出程序的情况下记录错误?

我每 5 分钟运行一个任务,我想在不退出程序的情况下记录错误(如果遇到错误),但问题是log.Fatal()退出程序并将log.Panic()调用panic()它再次退出程序。

如何在不退出程序的情况下记录错误?

logging go

2
推荐指数
1
解决办法
8406
查看次数

如何通过客户端获取Kubernetes节点的状态?

我想通过 go 客户端获取 Kubernetes 中的节点列表及其状态。我正在使用 clientset.CoreV1().Nodes().List(metav1.ListOptions{}) 并且能够获取节点列表和一些信息,例如节点标签,但我找不到那里status.phase(对于为我提供状态的 Pod)。

我搜索并发现NodeConditionhttps://github.com/kubernetes/api/blob/9b64426eca51a74faa7cc9bd732a533d339c69c2/core/v1/types.go#L4911),但我找不到任何有关如何使用它的文档,我无法制作它我自己工作。有人可以告诉我如何通过客户端获取节点的状态吗?

go kubernetes kubernetes-go-client

2
推荐指数
1
解决办法
3846
查看次数

如何更改 kubectl top 的间隔?

我想知道如何更改kubectl top监视 Pod 的时间间隔。目前它的更新速度非常慢(我认为超过 15 秒),我希望获得 pod 资源使用情况的最新值。

我知道我可以使用其他一些工具,例如 grafana、prometheus 等。但是当我在终端中工作时,我喜欢在同一环境中运行一些简单的监控工具。

monitoring kubernetes kubectl kubernetes-pod

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

如何使Ruby与bash兼容

我有一个ruby脚本,open3该脚本用于从脚本内部运行shell命令,并且我正在使用Ubuntu 18.04和bash。

当我运行该脚本时,会产生诸如的错误0: sh: 2: pushd: not found。我搜索了一下,发现的一件事是/sf/answers/1193113911/,建议我们使用它,ENV["SHELL"] = "/bin/bash"但是当我检查环境变量时,我已经知道了:

$ printenv "SHELL"
/bin/bash
Run Code Online (Sandbox Code Playgroud)

如何使此脚本在我的计算机上运行?

该脚本的第一部分:

#!/usr/bin/env ruby

require 'open3'

def run(i, cmd)
    res = ""
    Open3.popen3(cmd) do |stdin, stdout, stderr, thread|
Run Code Online (Sandbox Code Playgroud)

而我的红宝石版本: ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-linux-gnu]

ruby linux bash shell ruby-on-rails

0
推荐指数
1
解决办法
69
查看次数

如何在掌舵时将变量从父级传递给子级?

我是 helm 的新手,我想知道如何将变量从父包传递给子包。我有一个多微服务应用程序,它由不同的 helm 包组成,如下所示:

$ tree parent/
parent/
??? charts/
?   ??? child-A-0.0.1.tgz
?   ??? child-B-0.0.1.tgz
?   ??? child-C-0.0.1.tgz
??? Chart.yaml
??? templates/
?   ??? NOTES.txt
?   ??? secret.yaml
??? values.yaml
Run Code Online (Sandbox Code Playgroud)

例如,我想public-IP在父级中进行设置,values.yaml并且当我安装public-IP通过并设置在子级中的父级时。

kubernetes kubernetes-helm

0
推荐指数
1
解决办法
2173
查看次数

Prometheus 与 Kubernetes v1.16 不兼容

我安装了 stable/prometheus helm chart 并在helm/charts#17268 中提出了一些小的更改,以使其与 Kubernetes v1.16 兼容

安装后,Kubernetes grafana 仪表板都没有显示正确的值。我正在使用 8769 ( https://grafana.com/grafana/dashboards/8769 ) 仪表板,它提供了有关 CPU、内存、网络等的许多信息。该仪表板在较旧的 k8s 版本上正常工作,但在 v1.16 上显示没有结果。我还随机尝试了其他一些仪表板(8588、6879、10551),但它们要么只显示每个 pod 的请求资源,而不显示实时使用情况,要么什么也不显示。

这些仪表板的作用是向 prometheus 发送 promql 查询并获取结果。例如,这是来自 8769 仪表板的 cpu 使用情况的 promql 查询:

sum (rate (container_cpu_usage_seconds_total{id!="/",namespace=~"$Namespace",pod_name=~"^$Deployment.*$"}[1m])) by (pod_name)
Run Code Online (Sandbox Code Playgroud)

我不知道我是否必须更改 promql 或问题出在其他地方。

grafana kubernetes prometheus promql

0
推荐指数
1
解决办法
958
查看次数

重启后如何正确恢复K8s集群?

我有一个运行正常的 K8s 集群,但由于电源故障,所有节点都重新启动。

目前我在恢复主节点(和其他节点)时遇到了一些问题:

  1. sudo systemctl kubelet status正在返回,Unknown operation kubelet.但是当我运行kubeadm init ...(我设置集群的命令)时,它返回:
error execution phase preflight: [preflight] Some fatal errors occurred:
    [ERROR Port-6443]: Port 6443 is in use
    [ERROR Port-10251]: Port 10251 is in use
    [ERROR Port-10252]: Port 10252 is in use
    [ERROR FileAvailable--etc-kubernetes-manifests-kube-apiserver.yaml]: /etc/kubernetes/manifests/kube-apiserver.yaml already exists
    [ERROR FileAvailable--etc-kubernetes-manifests-kube-controller-manager.yaml]: /etc/kubernetes/manifests/kube-controller-manager.yaml already exists
    [ERROR FileAvailable--etc-kubernetes-manifests-kube-scheduler.yaml]: /etc/kubernetes/manifests/kube-scheduler.yaml already exists
    [ERROR FileAvailable--etc-kubernetes-manifests-etcd.yaml]: /etc/kubernetes/manifests/etcd.yaml already exists
    [ERROR Port-10250]: Port 10250 is in use
    [ERROR Port-2379]: Port 2379 is in …
Run Code Online (Sandbox Code Playgroud)

kubernetes

0
推荐指数
1
解决办法
2729
查看次数