小编Shi*_*r G的帖子

当 CPU 使用率受策略限制时,kubernetes pod 使用多少个内核?

Kubernetes 允许限制 pod 资源的使用。

requests:
  cpu: 100m
  memory: 128Mi
limits:
  cpu: 200m   # which is 20% of 1 core
  memory: 256Mi
Run Code Online (Sandbox Code Playgroud)

比方说,我kubernetes节点有2个核心。我在此节点上以 CPU 限制运行此 pod:200m。在这种情况下,我的 pod 会使用它的底层节点的1Core 的 200m还是2Core 的 100m+100m

我的gunicorn 工人的编号公式或 nginx 工人的编号等需要此计算。在 gunicorn 文档中它说

通常我们建议 (2 x $num_cores) + 1 作为开始的工作人员数量。

那么我应该使用 5 个工人吗?(我的节点有 2 个内核)。或者这甚至无关紧要,因为我的 pod 只分配了 200m cpu,我应该考虑我的 pod 有 1 个核心?

TLDR:当 Pod 的 CPU 使用率受 Kubernetes 限制时,Pod 使用多少个内核?如果我top在 pod 内运行,我会看到 2 个可用内核。但我不确定我的应用程序是使用这个 2 核的 …

gunicorn kubernetes google-kubernetes-engine

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

Gitlab CI 如何使用规则语法忽略目录?

我能够使用以下语法忽略目录、文件更改。

build:
  script: npm run build
  except:
    changes:
      - "*.md"
      - "src/**/*.ts"
Run Code Online (Sandbox Code Playgroud)

使用此配置build作业将运行,除了 git 更改仅包含*.md扩展文件或*.ts目录中的src文件。他们被忽视了。

但后来他们弃用了 this only:changes,except:changes语法并警告改用rules语法。不幸的是,我似乎无法找到如何使用这种新语法忽略目录、文件更改。

continuous-integration gitlab gitlab-ci

8
推荐指数
2
解决办法
3334
查看次数

Kubernetes ingress-nginx - 如果未配置 TLS,如何禁用 https 监听?

我正在使用 kubernetes ingress-nginx,这是我的 Ingress 规范。http://example.com按预期工作正常。但是当我去https://example.com 时它仍然有效,但指向带有假入口控制器证书的默认后端。如何禁用此行为?我想在这个特定的入口上完全禁用对 https 的监听,因为没有配置 TLS。

kind: Ingress
apiVersion: extensions/v1beta1
metadata:
  name: http-ingress
  annotations:
    kubernetes.io/ingress.class: "nginx"
spec:
  rules:
    - host: example.com
      http:
        paths:
          - backend:
              serviceName: my-deployment
              servicePort: 80
Run Code Online (Sandbox Code Playgroud)

我试过这个nginx.ingress.kubernetes.io/ssl-redirect: "false"注释。然而,这没有效果。

nginx kubernetes google-kubernetes-engine nginx-ingress

7
推荐指数
2
解决办法
7553
查看次数

当我在 master 上使用 BFG Repo-Cleaner 时,其他分支会发生什么情况

我正在尝试使用工具来缩小我的.git文件夹大小(目前为 3.1GB)。代码小于 100MB。这个仓库非常古老,有很多分支 ~250 个。

如果我在master分支上使用这个工具,其他分支会发生什么?它提到:

默认情况下,BFG 不会修改 master(或“HEAD”)分支上最新提交的内容,即使它会清除之前的所有提交。

所以我认为它会破坏其他分支中的东西?或者它不会破坏其他分支上的最新提交?我想要实现的是,只要其他分支的最新提交是安全的,我就可以了。

git github repository bfg-repo-cleaner

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

Ansible - 禁用 ssh 密码身份验证

我正在尝试制作可以sshd_config正确处理的 ansible 任务。我从其他问题中找到了类似的正则表达式,但它们什么也没做。

name: Disable SSH password authentication
      become: true
      lineinfile:
        dest: /etc/ssh/sshd_config
        regexp: '^#?\s*PasswordAuthentication\s'
        line: 'PasswordAuthentication no'
        state: present
Run Code Online (Sandbox Code Playgroud)

问题是它应该处理重复的通道和注释。例如:

  • 可能有:
PasswordAuthentication no
PasswordAuthentication yes
Run Code Online (Sandbox Code Playgroud)

或者

PasswordAuthentication no
PasswordAuthentication no
Run Code Online (Sandbox Code Playgroud)

或者

PasswordAuthentication yes
PasswordAuthentication yes
Run Code Online (Sandbox Code Playgroud)

或者

PasswordAuthentication no
#PasswordAuthentication no
Run Code Online (Sandbox Code Playgroud)

或者

PasswordAuthentication no
# PasswordAuthentication no
Run Code Online (Sandbox Code Playgroud)

或者

# PasswordAuthentication no
# PasswordAuthentication no
Run Code Online (Sandbox Code Playgroud)

等等这么多的组合。但我只想有一个未注释的行PasswordAuthentication no

这可能吗?

linux shell openssh ansible

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

Docker 绑定挂载目录与命名卷性能比较

以下 docker 命名卷与绑定安装卷之间是否有任何性能差异?如果是,我们在谈论多少数字?

  1. Docker 卷示例:
docker run -v mysql:/var/lib/mysql mysql:tag
Run Code Online (Sandbox Code Playgroud)
  1. Docker 绑定挂载示例:
docker run -v /path/to/mysql-data:/var/lib/mysql mysql:tag
Run Code Online (Sandbox Code Playgroud)

这些容器主要用于诸如 elasticsearch、mysql 和 mongodb 之类的数据库。我应该更喜欢哪一个?

containers docker

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