5.6.5. 为节点池配置额外的端口
您可以针对高性能工作负载(如云原生网络功能(CNF))调整 RHOSP 上的托管集群节点性能。性能调优包括配置 RHOSP 资源、创建性能配置集、部署 tuned NodePool 资源并启用 SR-IOV 设备支持。
CNF 设计为在云原生环境中运行。它们可以提供路由、防火墙和负载平衡等网络服务。您可以将节点池配置为使用高性能计算和网络设备来运行 CNF。
5.6.5.1. 调整托管集群节点的性能 复制链接链接已复制到粘贴板!
创建性能配置集并部署一个 tuned NodePool 资源,以便在 Red Hat OpenStack Platform (RHOSP) 托管的 control plane 上运行高性能工作负载。
先决条件
- 您有运行工作负载所需的资源的 RHOSP 类别,包括专用 CPU、内存和主机聚合信息。
- 您有一个附加到支持 SR-IOV 或 DPDK 的 NIC 的 RHOSP 网络。网络必须可供托管集群使用的项目使用。
流程
在名为
perfprofile.yaml的文件中创建一个满足您的要求的性能配置集。例如:配置映射中的性能配置集示例
apiVersion: v1 kind: ConfigMap metadata: name: perfprof-1 namespace: clusters data: tuning: | apiVersion: v1 kind: ConfigMap metadata: name: cnf-performanceprofile namespace: "${HYPERSHIFT_NAMESPACE}" data: tuning: | apiVersion: performance.openshift.io/v2 kind: PerformanceProfile metadata: name: cnf-performanceprofile spec: additionalKernelArgs: - nmi_watchdog=0 - audit=0 - mce=off - processor.max_cstate=1 - idle=poll - intel_idle.max_cstate=0 - amd_iommu=on cpu: isolated: "${CPU_ISOLATED}" reserved: "${CPU_RESERVED}" hugepages: defaultHugepagesSize: "1G" pages: - count: ${HUGEPAGES} node: 0 size: 1G nodeSelector: node-role.kubernetes.io/worker: '' realTimeKernel: enabled: false globallyDisableIrqLoadBalancing: true重要如果您还没有为 HyperShift Operator 命名空间、隔离和保留 CPU 和巨页计数设置环境变量,请在应用性能配置集前创建它们。
运行以下命令来应用性能配置集配置:
$ oc apply -f perfprof.yaml-
如果您还没有为集群名称设置
CLUSTER_NAME环境变量,请定义它。 运行以下命令设置节点池名称环境变量:
$ export NODEPOOL_NAME=$CLUSTER_NAME-cnf运行以下命令来设置 flavor 环境变量:
$ export FLAVOR="m1.xlarge.nfv"运行以下命令,创建使用性能配置集的节点池:
$ hcp create nodepool openstack \ --cluster-name $CLUSTER_NAME \ --name $NODEPOOL_NAME \ --node-count 0 \ --openstack-node-flavor $FLAVOR运行以下命令来修补节点池来引用
PerformanceProfile资源:$ oc patch nodepool -n ${HYPERSHIFT_NAMESPACE} ${CLUSTER_NAME} \ -p '{"spec":{"tuningConfig":[{"name":"cnf-performanceprofile"}]}}' --type=merge运行以下命令来扩展节点池:
$ oc scale nodepool/$CLUSTER_NAME --namespace ${HYPERSHIFT_NAMESPACE} --replicas=1等待节点就绪:
运行以下命令等待节点就绪:
$ oc wait --for=condition=UpdatingConfig=True nodepool \ -n ${HYPERSHIFT_NAMESPACE} ${CLUSTER_NAME} \ --timeout=5m运行以下命令等待配置更新完成:
$ oc wait --for=condition=UpdatingConfig=False nodepool \ -n ${HYPERSHIFT_NAMESPACE} ${CLUSTER_NAME} \ --timeout=30m运行以下命令等待所有节点健康:
$ oc wait --for=condition=AllNodesHealthy nodepool \ -n ${HYPERSHIFT_NAMESPACE} ${CLUSTER_NAME} \ --timeout=5m
您可以对节点进行 SSH 连接,或使用 oc debug 命令验证性能配置。