第 8 章 已知问题


  • SKUPPER-1723 - 1.4 发行版本的连接和状态行为

    服务网络的一些行为是意外的:

    • 取消服务不会终止建立的连接。
    • 'skupper network status' 命令显示已取消公开的服务的输出。

    临时解决方案

    在取消暂停该服务前,手动关闭与该服务关联的所有连接。

    注意

    这个问题已在 1.5 版本中解决。

  • SKUPPER-306 - Skupper 网络状态不适用于大量站点

    根据服务网络的拓扑,s kupper 网络状态可能会超时,且不会提供所需的信息。

    临时解决方案

    您可以扩展 time-out 来提供更多要解析的命令,例如:

    skupper network status --timeout 10m

    或者,升级到 Red Hat Service Interconnect 1.5,它有不同的机制来解析网络状态。

  • SKUPPER-1069 - skupper init 在非 OpenShift 集群上失败

    如果您在非 OpenShift 集群上创建站点,您可能会遇到创建站点的问题,但 skupper status 报告 待处理

    如果检查 pod,您可能会看到类似如下的状态:

    $ kubectl get pods
    NAME                                         READY   STATUS                       RESTARTS   AGE
    skupper-router-698478664c-6xq72              0/2     CreateContainerConfigError   0          17s
    skupper-service-controller-698c785d7-dqc8m   0/1     CreateContainerConfigError   0          10s

    要确认您遇到这个问题,请搜索类似如下的 Kubernetes 事件:

    $ kubectl get events| grep Warning
    
    Warning  Failed          17m (x4 over 17m)     kubelet            Error: container has runAsNonRoot and image will run as root

    临时解决方案

    指定用户 id,如下所示:

    $ skupper init --run-as-user 2000

    其中 2000 是您要运行容器的用户的 id。您可以将任何非零数指定为 id。

    如果要使用 YAML 创建站点,您可以在 data 部分指定用户:

      data:
        name: my-site
        run-as-user: "2000"
    注意

    这个临时解决方案不会允许您在此站点上部署 Red Hat Service Interconnect 控制台组件。您必须在 OpenShift 站点上部署控制台组件,直到这个问题被解决为止。

  • SKUPPER-869 - 为 TCP 传输启用闲置连接超时

    如果端点被终止,例如客户端被终止,其他端点会观察到半关闭的连接。如果其他端点没有关闭连接或试图向连接发送数据,Skupper 路由器不会释放分配给该连接的内存

    临时解决方案

    如果可能,请避免使用此行为的客户端服务器配置。例如,如果服务器自动关闭 dormant 连接,或者尝试与客户端通信,则 Skupper 路由器会在客户端终止时释放内存。

  • SKUPPER-805 - skupper init 在 OCP 3.11 上不适用于普通用户。

    临时解决方案

    有两个临时解决方案:

    • 使用 YAML 配置站点。
    • 使用以下权限创建服务帐户来运行 skupper CLI:
    ---
    apiVersion: rbac.authorization.k8s.io/v1
    kind: Role
    metadata:
      name: skupper-non-admin
    rules:
    - apiGroups:
      - ""
      resources:
      - configmaps
      - pods
      - pods/exec
      - services
      - secrets
      - serviceaccounts
      verbs:
      - get
      - list
      - watch
      - create
      - update
      - delete
    - apiGroups:
      - apps
      resources:
      - deployments
      - statefulsets
      - daemonsets
      verbs:
      - get
      - list
      - watch
      - create
      - update
      - delete
    - apiGroups:
      - route.openshift.io
      resources:
      - routes
      verbs:
      - get
      - list
      - watch
      - create
      - delete
    - apiGroups:
      - networking.k8s.io
      resources:
      - ingresses
      - networkpolicies
      verbs:
      - get
      - list
      - watch
      - create
      - delete
    - apiGroups:
      - projectcontour.io
      resources:
      - httpproxies
      verbs:
      - get
      - list
      - watch
      - create
      - delete
    - apiGroups:
      - rbac.authorization.k8s.io
      resources:
      - rolebindings
      - roles
      verbs:
      - get
      - list
      - watch
      - create
      - delete

    您可以将上面的 YAML 保存到 role.yaml 中,应用它并将角色绑定到用户名:

    $ oc apply -f role.yaml
    $  oc policy add-role-to-user skupper-non-admin <username> -n <namespace-name> --role-namespace=<namespace-name>
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.