当前位置: 首页 > 知识库问答 >
问题:

如何使用各种Istio端口?

柯鸿云
2023-03-14
    null

nodeport对我来说很有意义。这是入口网关将在Kubernetes集群中的每个工作节点上侦听的端口。到达那里的请求将使用入口网关CRDS路由到Kubernetes集群。

在示例中,port通常被设置为匹配通信量的公共端口(http为80,https为443等)。我不明白Istio需要这个端口做什么,因为我没有看到任何流量使用Nodeport以外的任何东西。

targetport对我来说是个谜。我已经看到了一些关于普通Istio网关的文档(说明它只适用于使用ServiceEntries时),但没有任何关于入口网关的文档。

apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
metadata:
  name: istio-controlplane
  namespace: istio-system
spec:
  components:    
    ingressGateways:
    - enabled: true
      k8s:
        service:
          ports:
          - name: http2
            port: 80
            nodePort: 30980            
        hpaSpec:
          minReplicas: 2
      name: istio-ingressgateway
    pilot:
      enabled: true
      k8s:
        hpaSpec:
          minReplicas: 2
  profile: default

我从配置中省略了targetport,因为我发现这个版本说明说Istio将选择安全的默认值。

因此,我尝试按照本教程中找到的步骤进行操作。

我尝试了该教程中指示的curl命令:

curl -s -I -H Host:httpbin.example.com "http://10.20.30.40:30980/status/200"
kubectl logs -n istio-system -l app=istiod

在我发现的原木中:

warn    buildGatewayListeners: skipping privileged gateway port 80 for node istio-ingressgateway-dc748bc9-q44j7.istio-system as it is an unprivileged pod
warn    gateway has zero listeners for node istio-ingressgateway-dc748bc9-q44j7.istio-system

所以,如果你走到这一步,那么哇!我感谢你阅读了这一切。如果您对我需要将TargetPort设置为什么有任何建议,或者如果我错过了其他什么,我很乐意听到。

共有1个答案

爱亮
2023-03-14

Port、Nodeport和TargetPort不是Istio的概念,而是Kubernetes的概念,更具体地说是Kubernetes服务的概念,这就是Istio Operator API中没有详细描述的原因。

Istio操作员API公开了配置入口网关的(Kubernetes)服务的选项。

有关这些概念的描述,请参见Kubernetes服务的文档。

其他详细信息:

Istio操作员描述入口网关,入口网关本身由Kubernetes服务和Kubernetes部署组成。它通常部署在Istio-System中。您可以检查istio-ingressgateway的Kubernetes服务,它将与该YAML的规范相匹配。

因此,Istio入口网关实际上是在与它的容器对话。然而,这主要是Istio入口网关的实现细节,与您为应用程序定义的服务和虚拟服务无关。

 类似资料:
  • 我是 Rest Web 服务的新手。我已经创建了一个泽西岛客户端,能够拨打GET电话。现在我无法理解如何使用相同的客户端代码进行其他 POST 调用。我需要更改方法发布以及后续调用的参数以及 URI。以下是我想到的问题: 我是否应该创建一个单例类并获取客户端对象,并且对于每次调用,我都需要重复以下行。 WebResource WebResource=客户端.resource(“http://loc

  • 最近许多小伙伴遇到ssh命令不知道怎么执行, 过来找我解决。 我将各个系统如何打开终端的方法汇总如下,希望能帮到各位! Windows 10 Windows 7 Ubuntu macOS Windows 10 在Windows 10 系统中的Powershell 命令提示符窗口比CMD窗口功能强大的多, 并且内置ssh 命令,下面教如何打开Powershell。 使用快捷键 Win + R打开运行

  • 这可能非常简单,但我不知道如何有效地用这个词来谷歌。 我希望为我的python/flask/JavaScript项目设置一个默认的代码样式/linter。我有人使用不同的IDE,所以有时候在VSCode上格式良好的代码在PyCharm上会有不同的标记。 是否有某种设置文件,我可以创建,将导致任何IDE读取它,并使用设置linter?我谷歌了一下,只发现人们通过他们的IDE设置他们的linter 我

  • 我们有一个Istio集群,我们正在尝试为Kubernetes配置水平pod自动Scale。我们希望使用请求计数作为HPA的自定义度量。我们如何利用伊斯蒂奥的普罗米修斯来达到同样的目的?

  • 本文向大家介绍制作页面时,前端如何适应各种异形屏?相关面试题,主要包含被问及制作页面时,前端如何适应各种异形屏?时的应答技巧和注意事项,需要的朋友参考一下 主要内容区域大小固定,固定在页面中间,两边可伸缩

  • 问题内容: 我知道我可以使用Java安装Jython,并且可以在使用Python的地方使用Jython。Jython外壳运行良好。 在Jython中,我该如何安装类似的库而该库通常是通过或安装的 问题答案: 某些Python模块(如)在C中具有必需的组件。它们在Jython中不起作用。 大多数Python软件包都可以正常运行,你可以使用与CPython相同的工具来安装它们。在Jython Book