首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为AKS集群中的特定吊舱设置sysctl参数"net.ipv4.tcp_retries2“时出错

为AKS集群中的特定吊舱设置sysctl参数"net.ipv4.tcp_retries2“时出错
EN

Stack Overflow用户
提问于 2022-03-18 04:42:10
回答 2查看 629关注 0票数 0

我正在处理一个需求,在这个需求中,我们希望在Kubernetes中更新一个特定的内核参数"net.ipv4.tcp_retries2“到"5”。

我们正在使用AKS集群v1.21.7

我尝试使用securityContext设置上述sysctl参数,但失败了。

代码语言:javascript
复制
  template:
    metadata:
      labels:
        app.kubernetes.io/name: weather-forecast-api
        app.kubernetes.io/instance: RELEASE-NAME
    spec:
      serviceAccountName: RELEASE-NAME-weather-forecast-api
      securityContext:
        sysctls:
        - name: net.ipv4.tcp_retries2
          value: "5"

当我在AKS中应用上述更改时,吊舱无法运行,并给出了错误。

禁用sysctl:"net.ipv4.tcp_retries2“未白

我知道我们可以在一个赤裸的Kubernetes集群上在Kubelet级别上修改内核级别的设置,但在我的例子中,它是Azure中的一个托管集群。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-03-18 05:40:18

使用init容器设置:

代码语言:javascript
复制
...
template:
  metadata:
    labels:
      app.kubernetes.io/name: weather-forecast-api
      app.kubernetes.io/instance: RELEASE-NAME
  spec:
    serviceAccountName: RELEASE-NAME-weather-forecast-api
    initContainers:
    - name: sysctl
      image: busybox
      securityContext:
        privileged: true
      command: ["sh", "-c", "sysctl -w net.ipv4.tcp_retries2=3"]
    ...
票数 3
EN

Stack Overflow用户

发布于 2022-07-18 07:27:10

我通过把争论传递给库贝利特来解决问题。

  1. 查找kubelet配置文件

的路径

代码语言:javascript
复制
systemctl status kubelet

它给出了kubelet配置所处的路径。在我的例子中,它是/var/lib/kubelet/config.yaml

  1. Add allowedUnsafeSysctls option

将allowedUnsafeSysctls选项添加到文件中。

代码语言:javascript
复制
apiVersion: kubelet.config.k8s.io/v1beta1
kind: KubeletConfiguration
...
allowedUnsafeSysctls:
- "net.ipv4.tcp_retries2"

  1. 重启Kubelet

代码语言:javascript
复制
systemctl restart kubelet

完成了!但是,您应该确保在其kubelet配置被更改的节点上调度吊舱。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71522553

复制
相关文章

相似问题

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