1.2. 使用自定义设置


要创建自定义配置,请制作 /etc/microshift/ 目录中提供的 config.yaml.default 文件的副本,请将其重命名为 config.yaml。将此文件保存在 /etc/microshift/ 目录中,然后您可以在启动或重启 MicroShift 前更改预期覆盖默认值的支持的设置。

重要

在更改任何配置设置后,重新启动 MicroShift 使其生效。当 MicroShift 启动时,config.yaml 文件是只读的。

1.2.1. 单独的重启

可能需要单独重启 MicroShift 集群的应用程序和其他可选服务,以便在集群中应用配置更改。例如,在更改某些网络设置时,您必须停止并重启服务和应用程序 pod 以应用这些更改。如需更多信息,请参阅您要完成的任务的每个步骤。

提示

如果您同时添加您需要的所有配置,您可以最小化系统重启。

1.2.2. MicroShift config.yaml 文件的参数和值

下表解释了 MicroShift 配置 YAML 参数以及每个有效值:

表 1.1. MicroShift config.yaml 参数
字段类型描述

advertiseAddress

string

指定 API 服务器公告给集群成员的 IP 地址的字符串。默认值根据服务网络的地址计算。

auditLog.maxFileAge

number

在自动删除前保留日志文件的时长。maxFileAge 参数中的默认值为 0 表示日志文件永远不会根据年龄删除。可以配置这个值。

auditLog.maxFileSize

number

默认情况下,当 audit.log 文件达到 maxFileSize 限制时,audit.log 文件会被轮转,MicroShift 开始写入新的 audit.log 文件。可以配置这个值。

auditLog.maxFiles

number

保存的日志文件总数。默认情况下,MicroShift 保留 10 个日志文件。创建过量文件时,会删除最旧的文件。可以配置这个值。

auditLog.profile

默认,WriteRequestBodies,AllRequestBodies, 或 None

仅记录读取和写入请求的日志元数据 ;除了 OAuth 访问令牌请求外,不记录请求正文。如果没有指定此字段,则使用 Default 配置集。

namedCertificates

list

使用自定义证书颁发机构定义外部生成的证书和域名。

namedCertificates.certPath

path

证书的完整路径。

namedCertificates.keyPath

path

证书密钥的完整路径。

namedCertificates.names

list

可选。添加显式 DNS 名称列表。允许前导通配符。如果没有提供名称,则会从证书中提取隐式名称。

subjectAltNames

完全限定域名(FQDN)、通配符(如 3.0. domain.com )或 IP 地址

API 服务器证书的主题备用名称。sans 表示证书保护的所有域名和 IP 地址。

debugging.logLevel

normal,Debug,Trace, 或 TraceAll

日志详细程度。默认为 Normal

dns.baseDomain

有效域

集群的基域。所有管理的 DNS 记录都是这个基础的子域。

etcd.memoryLimitMB

number

默认情况下,etcd 根据需要使用尽可能多的内存来处理系统上的负载。但是,在内存受限系统中,可能需要限制在给定时间可以使用 etcd 的内存量。

ingress.listenAddress

IP 地址、NIC 名称或多个

值默认为主机的整个网络。有效可配置的值是一个列表,可以是单个 IP 地址或 NIC 名称,也可以是多个 IP 地址和 NIC 名称。

ingress.ports.http

80

显示的默认端口。可配置。有效值是 1-65535 范围内的单个唯一端口。ports.httpports.https 字段的值不能相同。

ingress.ports.https

443

显示的默认端口。可配置。有效值是 1-65535 范围内的单个唯一端口。ports.httpports.https 字段的值不能相同。

ingress.routeAdmissionPolicy. namespaceOwnership

strictInterNamespaceAllowed

描述如何处理跨命名空间的主机名声明。默认情况下,允许路由在命名空间间声明相同主机名的不同路径。指定 Strict 可防止不同命名空间中的路由声明相同的主机名。如果在自定义 MicroShift config.yaml 中删除了该值,则会自动设置 InterNamespaceAllowed 值。

ingress.status

ManagedRemoved

路由器状态.默认为 Managed

kubelet

请参阅 MicroShift 低延迟指令

kubelet 节点代理的 passthrough 配置参数。用于低延迟配置。默认值为 null。

清单

路径列表

用于扫描 kustomization 文件的位置,用于加载清单。设置为仅扫描这些路径的路径列表。设置为空列表以禁用加载清单。列表中的条目可以是 glob 模式,以匹配多个子目录。默认值为 /usr/lib/microshift/manifests/usr/lib/microshift/manifests.d//etc/microshift/manifests/etc/microshift/manifests.d/

network.clusterNetwork

IP 地址块

从中分配 Pod IP 地址的 IP 地址块。IPv4 是默认设置。支持双栈条目。此字段中的第一个条目在 MicroShift 启动后是不可变的。默认范围为 10.42.0.0/16

network.serviceNetwork

IP 地址块

Kubernetes 服务的虚拟 IP 地址块。服务的 IP 地址池.IPv4 是默认设置。支持双栈条目。此字段中的第一个条目在 MicroShift 启动后是不可变的。默认范围为 10.43.0.0/16

network.serviceNodePortRange

range

端口范围允许用于 NodePort 类型的 Kubernetes 服务。如果没有指定,则使用默认范围 30000-32767。没有指定 NodePort 的服务会自动从这个范围内分配一个。这个参数可以在 MicroShift 启动后更新。

node.hostnameOverride

string

节点的名称。默认值为 hostname。如果非空,则使用此字符串来识别节点,而不是主机名。此值在 MicroShift 启动后是不可变的。

node.nodeIP

IPv4 地址

节点的 IPv4 地址。默认值是默认路由的 IP 地址。

nodeIPv6

IPv6 地址

用于双栈配置的节点的 IPv6 地址。无法在单个堆栈中为 IPv4 或 IPv6 配置。默认值为空值或 null。

storage.driver

nonelvms

默认值为空。空值或 null 字段默认为 LVMS 部署。

storage.optionalCsiComponents

数组

默认值为 null 或空数组。null 或空数组默认为部署 snapshot-controllersnapshot-webhook。预期值为 csi-snapshot-controllercsi-snapshot-webhooknonenone 条目与所有其他值相互排斥。

1.2.3. 配置广告地址网络标记

apiserver.advertiseAddress 标志指定将 API 服务器公告给集群成员的 IP 地址。此地址必须可以被集群访问。您可以在此处设置自定义 IP 地址,但还必须将 IP 地址添加到主机接口。自定义此参数 preempts MicroShift,不向 br-ex 网络接口添加默认 IP 地址。

重要

如果您自定义 advertiseAddress IP 地址,请确保集群可在 MicroShift 启动时通过添加 IP 地址到主机接口来访问它。

如果未设置,则默认值将在服务网络后设置为下一个直接子网。例如,当服务网络为 10.43.0.0/16 时,advertiseAddress 被设置为 10.44.0.0/32

1.2.4. 为 NodePort 服务扩展端口范围

serviceNodePortRange 设置扩展可用于 NodePort 服务的端口范围。当需要公开 30000-32767 范围下的特定标准端口时,这个选项很有用。例如,如果您的设备需要公开网络上的 1883/tcp MQ 遥测传输(MQTT)端口,因为客户端设备无法使用不同的端口。

重要

NodePort 可以与系统端口重叠,从而导致系统或 MicroShift 出现故障。

在配置 NodePort 服务范围时请考虑以下几点:

  • 不要在没有明确选择了 nodePort 的情况下创建任何 NodePort 服务。如果没有指定显式 nodePort,则端口由 kube-apiserver 随机分配,且无法预测。
  • 不要为在设备 HostNetwork 上公开的系统服务端口、MicroShift 端口或其他服务创建任何 NodePort 服务。
  • 表一指定在扩展端口范围时要避免的端口:

    表 1.2. 避免的端口。
    端口描述

    22/tcp

    SSH 端口

    80/tcp

    OpenShift Router HTTP 端点

    443/tcp

    OpenShift Router HTTPS 端点

    1936/tcp

    openshift-router 的指标服务,目前不会公开

    2379/tcp

    etcd 端口

    2380/tcp

    etcd 端口

    6443

    kubernetes API

    8445/tcp

    openshift-route-controller-manager

    9537/tcp

    cri-o 指标

    10250/tcp

    kubelet

    10248/tcp

    kubelet healthz port

    10259/tcp

    kube 调度程序

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.