IBM Cloud Docs
代理程序和 Kubernetes 配置

代理程序和 Kubernetes 配置

IBM Cloud® Schematics 代理程序扩展了在专用网络或任何隔离网络区域中直接使用云基础结构的能力。 通过 Kubernetes 集群上设置的配置选项来执行已部署代理程序的定制。 如果重新部署代理程序,那么集群参数的所有定制都将丢失。

部署代理程序时,缺省情况下会在集群上应用以下配置选项。 此处复制应用的配置以供参考。

缺省网络策略

以下网络策略配置为控制集群上的网络流量。

网络策略
策略 描述
deny-all-jobrunner Namespace:schematics-job-runtime,拒绝所有 IngressEgress 流量。
deny-all-runtime Namespace:schematics-runtime,拒绝所有 IngressEgress 流量。
deny-all-sandbox Namespace:schematics-sandbox,拒绝所有 IngressEgress 流量。
whitelist-egress-jobrunner Namespce:schematics-job-runtimeegress TCP = 4435330003002 以及 egress UDP = 44353 的允许和需要的端口。
runtime-ingress-job Namespace:schematics-runtime,允许和需要的入口端口为 3002
Whitelist-sandbox Namespace:schematics-sandbox,允许的列表以及 ingress = 3000egress TCP = 8044359862253egress UDP = 53443 所需的端口。
Whitelist-runtime-egress-gen-ports Namespace:schematics-runtimeingress = 3002 以及 egress TCP = 804435986225380801025090929093egress UDP = 534431025090939093 的允许和需要的端口。

您可以通过执行步骤 编辑缺省配置 来定制网络策略。

缺省工作空间和操作运行时-作业

以下资源限制和副本是应用于工作空间和操作运行时-作业名称空间的缺省配置。

工作空间和操作运行时-作业
参数 描述
resource-limits 工作空间和操作作业的资源限制设置为 cpu = 500mmemory = 1Gi
replicas 工作空间和操作作业 pod 的数量。replica = 3请注意 当副本数发生更改时,还必须更新 JR_MAXJOBS 设置。

您可以通过执行以下步骤进行定制: 编辑缺省配置

代理程序作业-运行器配置

以下资源限制和副本是应用于 schematics-job-runner 名称空间的缺省配置

缺省代理程序作业-运行器
参数 描述
resource-limits 作业运行器的资源限制设置为 cpu = 500mmemory = 1Gi
replicas 作业 Pod 数。replica = 1请注意 当副本数发生更改时,还必须更新 JR_MAXJOBS 设置。

您可以按照步骤 编辑缺省配置 来定制作业运行器配置。

沙箱配置

以下资源限制和副本是应用于 schematics-sandbox 名称空间的缺省配置。

沙箱部署
参数 描述
resource-limits 沙箱的资源限制设置为 cpu = 500mmemory = 1Gi
replicas 作业 Pod 数。replica = 3请注意 当副本数发生更改时,还必须更新 JR_MAXJOBS 设置。

您可以按照以下步骤定制沙箱配置: 编辑缺省配置

Schematics 代理程序控制器管理器

以下资源限制和副本是在 schematics-agents-observe 名称空间中应用的缺省配置。

Schematics 代理控制器管理器部署
参数 描述
resource-limits 工作空间和操作作业的资源限制设置为 cpu = 500mmemory = 25Mi
replicas 作业 Pod 数。replica = 1请注意 当副本数发生更改时,还必须更新 JR_MAXJOBS 设置。

您可以通过执行以下步骤进行定制: 编辑缺省配置

允许的代理程序沙箱列表

以下是为 schematics-sandbox 名称空间设置的缺省代理程序沙箱文件类型和允许列表配置。

缺省代理程序沙箱允许列表配置
参数 描述
SANDBOX_WHITELISTEXTN 从 Terraform Git 存储库中,以下是允许的文件扩展名。
.tf, .tfvars, .md, .yaml, .sh, .txt, .yml, .html, .gitignore, .tf.json, license, .js, .pub, .service, _rsa, .py, .json, .tpl, .cfg, .ps1, .j2, .zip, .conf, .crt, .key, .der, .jacl, .properties, .cer, .pem, .tmpl, .netrc.
SANDBOX_ANSIBLEACTIONWHITELISTEXTN 从 Ansible Git 存储库中,以下是允许的文件扩展名。
.tf, .tfvars, .md, .yaml, .sh, .txt, .yml, .html, .gitignore, license, .js, .pub, .service, _rsa, .py, .json, .tpl, .cfg, .ps1, .j2, .zip, .conf, .crt, .key, .der, .cer, .pem, .bash, .tmpl.
SANDBOX_BLACKLISTEXTN 从 Git 存储库中,以下是被阻止的文件扩展名。
.php5, .pht, .phtml, .shtml, .asa, .asax, .swf, .xap, .tfstate, .tfstate.backup, .exe.
SANDBOX_IMAGEEXTN 从 Git 存储库中,以下是允许的映像文件扩展名。
.tif, .tiff, .gif, .png, .bmp, .jpg, .jpeg, .so.
SANDBOX_MAX_FILE_SIZE Git 存储库中允许的最大文件为 2 MB。 (有待落实)

您可以通过执行以下步骤进行定制: 编辑缺省配置

Terraform 的代理程序运行时配置

以下参数是 Terraform 运行时的缺省代理程序运行时配置。

Terraform 的缺省代理程序运行时配置
参数 描述
JOB_WHITELISTEXTN Git 存储库 (包括从属模块存储库) 中允许的文件扩展名。
.tf.tfvars.md.yaml.sh.txt.yml.html.gitignore.tf.jsonlicense.js.pub.service_rsa.py.json.tpl.cfg.ps1.j2.zip.conf.crt.key.der .jacl.properties.cer.pem.tmpl.netrc
JOB_BLACKLISTEXTN 来自 Git 存储库的被阻止文件扩展名。
.php5.pht.phtml.shtml.asa.asax.swf.xap.tfstate.tfstate.backup.exe
JOB_IMAGEEXTN 允许的来自 Git 存储库的映像文件扩展名。
.tif.tiff.gif.png.bmp.jpg.jpeg.so

您可以通过执行以下步骤进行定制: 编辑缺省配置

Ansible 的代理程序运行时配置

以下参数是 Ansible 运行时的缺省代理程序运行时配置。

Ansible的缺省代理程序运行时配置
参数 描述
ANSIBLE_JOB_WHITELISTEXTN 包含从属模块存储库的 Git 存储库中允许的文件扩展名。
.tf.tfvars.md.yaml.sh.txt.yml.html.gitignore.tf.jsonlicense.js.pub.service_rsa.py.json.tpl.cfg.ps1.j2.zip.conf.crt.key.der .jacl.properties.cer.pem.tmpl.netrc
ANSIBLE_JOB_BLACKLISTEXTN 来自 Git 存储库的被阻止文件扩展名。
.php5.pht.phtml.shtml.asa.asax.swf.xap.tfstate.tfstate.backup.exe

您可以通过执行以下步骤进行定制: 编辑缺省配置

编辑代理程序名称空间配置

您可以执行以下步骤来编辑代理程序名称空间的缺省配置。

  1. 登录到 IBM Cloud
  2. 从导航器窗格单击 Kubernetes,然后单击 集群
  3. Kubernetes 集群 页面上,单击 集群 > Kubernetes 仪表板
    • 单击 缺省 下拉列表以查看 名称空间列表:
      • 在下拉列表中,输入 Schematics-runtime 名称空间以查看工作负载状态,部署,Pod 和副本集等。
      • 部署 面板。 针对 runtime-ansible-job 单击三个点。
      • 单击 编辑 以查看具有 YAMLJSON 选项卡的“编辑资源”页面。
      • 现在,您可以查看参数并重新配置以定制代理程序配置。
      • 单击 更新 以应用编辑。
      • 重新启动部署,并检查所有 pod 是否处于正在运行状态。
  4. 同样,您可以编辑要定制的所有代理程序名称空间的配置。