8.5.8. 其它问题

8.5.8.1. 解决 runtime network not ready 错误

部署集群后您可能会收到以下错误:

`runtime network not ready: NetworkReady=false reason:NetworkPluginNotReady message:Network plugin returns error: Missing CNI default network`

Cluster Network Operator 负责部署网络组件以响应安装程序创建的特殊对象。它会在安装过程的早期阶段运行(在 Control Plane(master)节点启动后,bootstrap control plane 被停止前运行)。它可能会显示更细微的安装程序问题,比如启动 Control Plane(master)节点时延迟时间过长,或者 apiserver 通讯的问题。

流程

  1. 检查 openshift-network-operator 命名空间中的 pod:

    $ oc get all -n openshift-network-operator
    NAME                                    READY STATUS            RESTARTS   AGE
    pod/network-operator-69dfd7b577-bg89v   0/1   ContainerCreating 0          149m
  2. provisioner 节点上,确定存在网络配置:

    $ kubectl get network.config.openshift.io cluster -oyaml
    apiVersion: config.openshift.io/v1
    kind: Network
    metadata:
      name: cluster
    spec:
      serviceNetwork:
      - 172.30.0.0/16
      clusterNetwork:
      - cidr: 10.128.0.0/14
        hostPrefix: 23
      networkType: OpenShiftSDN

    如果不存在,代表安装程序没有创建它。要确定安装程序没有创建它的原因,请执行以下操作:

    $ openshift-install create manifests
  3. 检查 network-operator 是否正在运行:

    $ kubectl -n openshift-network-operator get pods
  4. 检索日志:

    $ kubectl -n openshift-network-operator logs -l "name=network-operator"

    在具有三个或更多 Control Plane(master)节点的高可用性集群上,Operator 将执行领导选举机制,所有其他 Operator 会休眠。如需了解更多详细信息,请参阅 故障排除