18.15. 配置 kube-proxy
Kubernetes 网络代理 (kube-proxy) 在每个节点上运行,并由 Cluster Network Operator (CNO) 管理。kube-proxy 维护网络规则,以转发与服务关联的端点的连接。
18.15.1. 关于 iptables 规则同步
同步周期决定 Kubernetes 网络代理 (kube-proxy) 在节点上同步 iptables 规则的频率。
同步在发生以下事件之一时开始:
- 发生某一事件,例如服务或端点添加到集群中或从集群中删除。
- 距最后一次同步的时间已超过为 kube-proxy 定义的同步周期。
18.15.2. kube-proxy 配置参数
您可以修改以下 kubeProxyConfig
参数。
由于 OpenShift Container Platform 4.3 及更高版本中引进了性能上的改进,现在不再需要调整 iptablesSyncPeriod
参数。
参数 | 描述 | 值 | 默认值 |
---|---|---|---|
|
|
一个时间间隔,如 |
|
|
刷新 |
一个时间间隔,如 |
|
18.15.3. 修改 kube-proxy 配置
您可以为集群修改 Kubernetes 网络代理配置。
先决条件
-
安装 OpenShift CLI(
oc
)。 -
使用
cluster-admin
角色登录到正在运行的集群。
流程
运行以下命令来编辑
Network.operator.openshift.io
自定义资源(CR):$ oc edit network.operator.openshift.io cluster
利用您对 kube-proxy 配置的更改修改 CR 中的
kubeProxyConfig
参数,如以下示例 CR 中所示:apiVersion: operator.openshift.io/v1 kind: Network metadata: name: cluster spec: kubeProxyConfig: iptablesSyncPeriod: 30s proxyArguments: iptables-min-sync-period: ["30s"]
保存文件并退出文本编辑器。
保存文件并退出编辑器时,
oc
命令会验证其语法。如果您的修改含有语法错误,编辑器会打开该文件并显示错误消息。运行以下命令来确认配置更新:
$ oc get networks.operator.openshift.io -o yaml
输出示例
apiVersion: v1 items: - apiVersion: operator.openshift.io/v1 kind: Network metadata: name: cluster spec: clusterNetwork: - cidr: 10.128.0.0/14 hostPrefix: 23 defaultNetwork: type: OpenShiftSDN kubeProxyConfig: iptablesSyncPeriod: 30s proxyArguments: iptables-min-sync-period: - 30s serviceNetwork: - 172.30.0.0/16 status: {} kind: List
可选:运行以下命令,确认 Cluster Network Operator 已接受配置更改:
$ oc get clusteroperator network
输出示例
NAME VERSION AVAILABLE PROGRESSING DEGRADED SINCE network 4.1.0-0.9 True False False 1m
成功应用配置更新后,
AVAILABLE
字段为True
。