云客户?
免费开始>
在MyJFrog中升级>
云的新功能>







概述

在添加静态或动态节点池时,可以选择在没有root权限的情况下初始化它们。

此功能仅适用于Ubuntu 18和Ubuntu 20:

  • AWS /质量- Ubuntu 18和Ubuntu 20
  • Azure-仅限Ubuntu 20
  • 静态节点- Ubuntu 18和Ubuntu 20

enforceNonRootNodes全局设置

管道管理员可以使用enforceNonRootNodes系统级设置,强制只使用那些配置了非root的节点池。当这个全局设置设置为真正的,它优先于UI中配置的非root用户设置。请注意,目前只支持Ubuntu 18和Ubuntu 20。

根据管道安装的类型enforceNonRootNodes设置方式如下:

  • 公共图:如果安装使用公共图表,则更改设置tvalues.yml文件。
  • 码头工人:如果安装使用的是Docker,那么在运行时配置节中管道系统
页面内容

先决条件

不适用于动态节点

这些先决条件不适用于动态节点,因为当您选择以非根用户身份运行构建节点时,会自动安装这些先决条件。

初始化静态节点时生成的安装脚本不会安装任何依赖项,否则当您是根用户时将自动安装这些依赖项。这些依赖项必须手动安装,如本节所述。

  • 必须在构建节点中安装以下先决条件。由于用户不是根用户,他们将无法安装这些库。
    • 旋度
    • 金桥
    • Wget
    • 焦油
    • node . js v14.17.0
    • 国家结核控制规划
  • 交换空间是在系统中预先配置的。
  • 自定义证书在节点中手动更新。
  • 目前,只有手动初始化节点是支持的。因此,使用您希望用于运行其他服务(如reqKick、rootless-docker等)的相同用户初始化节点。

    reqKick

    reqKick是需要在构建节点上运行以编排构建的Pipelines代理。

设置无根Docker

设置静态节点无根docker的步骤如下:

  1. 以root用户身份登录到静态节点,并安装上面提到的所有先决条件。
  2. 运行以下命令安装无根docker,并创建一个名为pipelinesRootless

    sudo groupadd -g 1066 pipelinesRootless sudo adduser——system——home/ home/pipelinesRootless——gid 1066——uid 1066——shell /bin/bash pipelinesRootless sudo loginctl enable-linger pipelinesRootless sudo apt-get install -y uidmap XDG_RUNTIME_DIR=/run/user/1066 home =/home/pipelinesRootless curl -fsSL https://get.docker.com/rootless | sudo -E -u pipelinesRootless sh

以非root用户初始化静态节点

初始化静态节点前,需要先安装先决条件然后建立无根的码头工人

以非root用户初始化静态节点。

  1. 创建一个静态节点池。选择启用使用非root用户运行的节点复选框,添加节点池。
  2. 添加一个静态节点并生成一个手动初始化脚本。生成的脚本(用于静态)对于非根目录略有不同。
  3. SSH到节点,并:

    1. 切换到pipelinesRootless用户。
    2. 将生成的脚本复制到/home/pipelinesRootless
    3. 运行Chmod +x init.sh命令提供可执行权限。
      init.sh是脚本的名称。
    4. 执行初始化脚本。
    例子
    jane@ip-10-90-104-98:/home$ su pipelinesRootless密码:pipelinesRootless@ip-10-90-104-98:~$ chmod +x init.sh pipelinesRootless@ip-10-90-104-98:~$ ./init.sh /usr/bin/curl %总%接收% Xferd平均速度时间时间时间当前下载上传总花费左速度100 10.4M 100 10.4M 00 66.9M 0——:——:-- --:——:-- --:——:——66.9M |___检查操作系统…架构:x86_64 |___操作系统:Ubuntu |___版本:18.04 |___ wget已安装,跳过…__ tar已安装,跳过…__ jq已经安装,跳过…|___节点已安装,跳过…|___ NTP已经存在,跳过…工作……{"insecure- registres ":[]} |___删除现有的reqKick服务…正在启动reqKick服务…创建符号链接/home/ pipelinesrootless /.config/systemd/user/multi-user.target.wants/pipelines-reqKick。/home/ pipelinesrootless /.config/systemd/user/pipelines-reqKick.service Checking if pipelines-reqKick.service is active pipelines-reqKick.service is active

限制

以非root用户身份运行动态或静态构建节点具有以下限制:

  • 对于静态节点,构建节点代理在重新启动计算机时不会自动重新启动。每次机器重新启动时,用户必须手动运行初始化脚本来重新初始化节点。
    这个限制不适用于动态节点。
  • 如果您运行reqKick与非根并选择运行时为宿主,您将无法执行允许root用户执行的操作,例如安装库、访问所有文件系统等。
  • 非根用户没有在构建节点中添加自定义CA的权限。这样做就成了管理员的责任。
  • 没有标签
版权所有©2023 JFrog Ltd.