AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 604197
Accepted
Andy Shinn
Andy Shinn
Asked: 2014-06-11 13:46:09 +0800 CST2014-06-11 13:46:09 +0800 CST 2014-06-11 13:46:09 +0800 CST

如何在 CoreOS cloud-init 中设置 sysctl 变量?

  • 772

我正在寻找一种sysctl在其cloud-init阶段设置 CoreOS 设置的方法。

CoreOS 版本cloud-init仅允许少数配置指令,与常规的cloud-init. 例如,没有runcmd部分(请参阅http://coreos.com/docs/cluster-management/setup/cloudinit-cloud-config/)。

systemd提供了一种sysctl通过文件管理设置的方法(http://www.freedesktop.org/software/systemd/man/sysctl.d.html)。我正在使用 CoreOScloud-init write_files部分在/etc/sysctl.d/50-nf_conntrack.conf. 但它不会被拾取,因为 CoreOS 云配置是在sysctl.d配置已经发生之后发生的。

也许我可以以某种方式使用另一个systemd单元文件来重新启动sysctl.d单元?这怎么可能实现?

cloud-init
  • 3 3 个回答
  • 6235 Views

3 个回答

  • Voted
  1. Best Answer
    IanB
    2014-06-25T16:19:58+08:002014-06-25T16:19:58+08:00

    在 CoreOS github 问题跟踪器上查看答案: https ://github.com/coreos/bugs/issues/747#issuecomment-142764415

    将来可能会有更简单的方法,但现在您可以简单地编写一个单元来在 cloudinit 期间调用 systemd-sysctl;它将在 write_files 中指定的任何文件写入后启动:

    #cloud-config 
    .... 
    coreos:
      units:
        - name: update-sysctl.service
          command: start
          content: |
            [Unit]
            Description=Update sysctl values written by cloud-config
            [Service]
            ExecStart=/usr/lib/systemd/systemd-sysctl ...
    
    • 3
  2. devnull
    2014-11-10T08:17:38+08:002014-11-10T08:17:38+08:00

    感谢其他人的一些提示。

    您可以执行此操作来运行类似于 runcmd 的任意命令。

    - name: runcmd.service
      command: start
      content: |
        [Unit]
        Description=Runs a command
    
        [Service]
        Type=oneshot
        ExecStart=/bin/sh -c "touch /etc/environment;"
    
    • 2
  3. Michael Hampton
    2014-06-11T16:27:11+08:002014-06-11T16:27:11+08:00

    您可以简单地sysctl自己调用该文件以使设置立即生效,并且该配置文件将用于以后的重启(如果您的实例是持久的)。

    我会为此使用运行命令。

    runcmd:
    - sysctl -p /etc/sysctl.d/50-nf_conntrack.conf
    
    • 0

相关问题

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve