小编car*_*ray的帖子

GitLab CI runner无法连接到kubernetes中的unix:///var/run/docker.sock

GitLab在kubernetes集群中运行.Runner无法使用构建工件构建docker镜像.我已经尝试了几种方法来解决这个问题,但没有运气.以下是一些配置片段:

.gitlab-ci.yml

image: docker:latest
services:
  - docker:dind

variables:
  DOCKER_DRIVER: overlay

stages:
  - build
  - package
  - deploy

maven-build:
  image: maven:3-jdk-8
  stage: build
  script: "mvn package -B --settings settings.xml"
  artifacts:
    paths:
      - target/*.jar

docker-build:
  stage: package
  script:
  - docker build -t gitlab.my.com/group/app .
  - docker login -u gitlab-ci-token -p $CI_BUILD_TOKEN gitlab.my.com/group/app
  - docker push gitlab.my.com/group/app
Run Code Online (Sandbox Code Playgroud)

config.toml

concurrent = 1
check_interval = 0

[[runners]]
  name = "app"
  url = "https://gitlab.my.com/ci"
  token = "xxxxxxxx"
  executor = "kubernetes"
  [runners.kubernetes]
    privileged = true
    disable_cache = …
Run Code Online (Sandbox Code Playgroud)

gitlab docker kubernetes gitlab-ci-runner

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

GKE kubernetes kube系统资源nodeAffinity

我在GKE k8s 1.9.4上有一个多区域测试设置。每个群集都具有:

  • 一个入口,配置有 kubemci
  • 3个具有不同节点标签的节点池:
    • 默认池system(1vCPU / 2GB RAM)
    • 前端池frontend(2vCPU / 2GB RAM)
    • 后端池backend(1vCPU / 600Mb RAM)
  • 通过自定义指标进行缩放的HPA

所以这样的东西prometheus-operatorprometheus-servercustom-metrics-api-serverkube-state-metrics连接到一个节点system的标签。

前端和后端Pod分别连接到带有frontendbackend标签的节点(单个Pod到单个节点),请参阅podantiaffinity

自动缩放backendfrontend缩小容器后,它们的节点将保持不变,因为似乎来自kube-system命名空间的容器(即)heapster。这会导致以下情况:带有frontend/ backend标签的节点在缩减规模后仍保持活动状态,即使没有后端或前端吊舱也是如此。

问题是:如何避免kube-system在节点上创建用于服务应用程序的Pod(如果这确实是理智的,并且可能的话)?

猜猜,我应该对backendfrontend节点使用污点和容差,但是如何将其与HPA和群集内节点自动缩放器结合使用?

google-cloud-platform kubernetes google-kubernetes-engine

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

在bash中对键进行排序和求和

我有一个字符串列表(stdin),如下:

1 pineapples
28 apples
16 oranges
8 apples
2 apples
2 oranges
56 pineapples
Run Code Online (Sandbox Code Playgroud)

是否有一种原生的方式(比如sort&uniq -c),我可以合并并将它们总结如下:

38 apples
18 oranges
57 pineapples
Run Code Online (Sandbox Code Playgroud)

喜欢sort |uniq -c做,但不仅仅是出现次数?

bash awk

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

GCE:从磁盘快照创建实例模板

可能吗?官方手册包括:

确定性实例模板

但没有更多信息,我该怎么做。也许有人已经这样做了?提前Tnx。

templates snapshot instance google-compute-engine

5
推荐指数
2
解决办法
1985
查看次数

awk连接字符串直到包含子字符串

我有一个awk来自这个例子的脚本:

awk '/START/{if (x) print x; x="";}{x=(!x)?$0:x","$0;}END{print x;}' file
Run Code Online (Sandbox Code Playgroud)

这是一个带有行的示例文件:

$ cat file
START
1
2
3
4
5
end
6
7
START
1
2
3
end
5
6
7
Run Code Online (Sandbox Code Playgroud)

所以我需要在目标字符串包含end单词时停止连接,因此所需的输出是:

START,1,2,3,4,5,end
START,1,2,3,end
Run Code Online (Sandbox Code Playgroud)

regex bash awk

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

在Kubernetes上带有多容器吊舱的Prometheus

我的kubernetes部署中有一个多容器容器:

  • 爪哇
  • Redis
  • Nginx的

对于每个容器,都有一个带有Prometheus出口商的容器。

问题是,如果注释部分每个吊舱仅支持一个端口,如何将这些端口暴露给Prometheus?

annotations:
  prometheus.io/scrape: 'true'
  prometheus.io/port: 'xxxx'
Run Code Online (Sandbox Code Playgroud)

但我需要这样的东西:

annotations:
  prometheus.io/scrape: 'true'
  prometheus.io/port_1: 'xxxx'
  prometheus.io/port_2: 'yyyy'
  prometheus.io/port_3: 'zzzz'
Run Code Online (Sandbox Code Playgroud)

也许还有其他方法可以从多容器容器中抓取所有指标?在此先感谢您提供的任何帮助。

monitoring docker kubernetes prometheus

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