zoukankan      html  css  js  c++  java
  • Istio技术与实践06:史上最全!Istio安装参数介绍

    一、 CertManage

    Istio-1.0版本新加入的组件,利用ACME为Istio签发证书

    Key Default Value Description
    certmanager.enabled TRUE 是否启用certmanager
    certmanager.hub quay.io/jetstack 镜像仓库名称
    certmanager.tag v0.3.1 镜像版本号
    certmanager.resources {} 占用资源及限制

    二、Galley

     Istio-1.0版本新加入组件,利用webhook校验Istio资源创建的是否正确,用于validate

    Key Default Value Description
    galley.enabled TRUE 是否启用galley
    galley.replicaCount 1 实例数量
    galley.image galley 镜像仓库名称


    三、Gateways

    Istio-1.0版本将内部ingressgatewayegressgateway参数合并为gateways,同时增加了内部ELB类型的ilbgateway

    Key Default Value Description
    gateways.enabled TRUE 是否启用gateway
    gateways.istio-ingressgateway.enabled TRUE 是否启用ingressgateway
    gateways.istio-ingressgateway.labels.app istio-ingressgateway Labels中key为app的value值
    gateways.istio-ingressgateway.labels.istio ingressgateway Labels中key为istio的value值
    gateways.istio-ingressgateway.replicaCount 1 Ingressgateway默认实例数量
    gateways.istio-ingressgateway.autoscaleMin 1 Ingressgateway自动扩缩容最小实例数
    gateways.istio-ingressgateway.autoscaleMax 5 Ingressgateway自动扩缩容最大实例数
    gateways.istio-ingressgateway.resources {} Ingressgateway占用资源与限制
    gateways.istio-ingressgateway.loadBalancerIP "" Ingressgateway对外暴露的ELB IP地址
    gateways.istio-ingressgateway.serviceAnnotations {} Ingressgateway的service的annotation值
    gateways.istio-ingressgateway.type LoadBalancer #change to  NodePort, ClusterIP or LoadBalancer if need be Ingressgateway的service发布类型,三种可选
    gateways.istio-ingressgateway.ports.targetPort 80 Ingressgateway的service中的访问端口与容器端口
    gateways.istio-ingressgateway.ports.name http2 http2的service中的端口名称
    gateways.istio-ingressgateway.ports.nodePort 31380 Ingressgateway的service中的nodePort端口--http2
    gateways.istio-ingressgateway.ports.name https Ingressgateway的service中的端口名称--https
    gateways.istio-ingressgateway.ports.nodePort 31390 Ingressgateway的service中的nodePort端口--https
    gateways.istio-ingressgateway.ports.name tcp Ingressgateway的service中的端口名称--tcp
    gateways.istio-ingressgateway.ports.nodePort 31400 Ingressgateway的service中的nodePort端口--tcp
    gateways.istio-ingressgateway.ports.targetPort 15011 pilot-grpc访问端口与容器端口
    gateways.istio-ingressgateway.ports.name tcp-pilot-grpc-tls pilot-grpc端口名称
    gateways.istio-ingressgateway.ports.targetPort 8060 citadel-grpc访问端口与容器端口
    gateways.istio-ingressgateway.ports.name tcp-citadel-grpc-tls citadel-grpc端口名称
    gateways.istio-ingressgateway.ports.targetPort 15030 普罗米修斯访问端口与容器端口
    gateways.istio-ingressgateway.ports.name http2-prometheus 普罗米修斯端口名称
    gateways.istio-ingressgateway.ports.targetPort 15031 Grafana访问端口与容器端口
    gateways.istio-ingressgateway.ports.name http2-grafana Grafana端口名称
    gateways.istio-ingressgateway.secretVolumes.secretName istio-ingressgateway-certs 挂载证书secret的名称
    gateways.istio-ingressgateway.secretVolumes.mountPath /etc/istio/ingressgateway-certs 挂载证书secret的路径
    gateways.istio-ingressgateway.secretVolumes.secretName istio-ingressgateway-ca-certs 挂载根证书secret的名称
    gateways.istio-ingressgateway.secretVolumes.mountPath /etc/istio/ingressgateway-ca-certs 挂载根证书secret的路径
    gateways.istio-egressgateway.enabled TRUE 是否开启egressgateway
    gateways.istio-egressgateway.labels.app istio-egressgateway Labels中key为app的value值
    gateways.istio-egressgateway.labels.istio egressgateway Labels中key为istio的value值
    gateways.istio-egressgateway.replicaCount 1 egressgateway默认实例数量
    gateways.istio-egressgateway.autoscaleMin 1 egressgateway自动扩缩容最小实例数
    gateways.istio-egressgateway.autoscaleMax 5 egressgateway自动扩缩容最大实例数
    gateways.istio-egressgateway.serviceAnnotations {} egressgateway占用资源与限制
    gateways.istio-egressgateway.type ClusterIP #change to NodePort or LoadBalancer if need be egressgateway的service发布类型,三种可选
    gateways.istio-egressgateway.ports.name http2 egressgateway端口名称
    gateways.istio-egressgateway.ports.name.name https egressgateway端口名称
    gateways.istio-egressgateway.secretVolumes.secretName istio-egressgateway-certs 挂载证书secret的名称
    gateways.istio-egressgateway.secretVolumes.secretName.mountPath /etc/istio/egressgateway-certs 挂载证书secret的路径
    gateways.istio-egressgateway.secretVolumes.secretName.secretName istio-egressgateway-ca-certs 挂载根证书secret的名称
    gateways.istio-egressgateway.secretVolumes.secretName.mountPath /etc/istio/egressgateway-ca-certs 挂载根证书secret的路径
    gateways.istio-ilbgateway.enabled FALSE 是否开启Ilbgateway,创建InternalLoadBalancer类型gateway
    gateways.istio-ilbgateway.enabled.labels.app istio-ilbgateway Labels中key为app的value值
    gateways.istio-ilbgateway.enabled.labels.istio ilbgateway Labels中key为istio的value值
    gateways.istio-ilbgateway.enabled.replicaCount 1 ilbgateway默认实例数量
    gateways.istio-ilbgateway.enabled.autoscaleMin 1 ilbgateway自动扩缩容最小实例数
    gateways.istio-ilbgateway.enabled.autoscaleMax 5 ilbgateway自动扩缩容最大实例数
    gateways.istio-ilbgateway.enabled.resources.requests.cpu 800m Ilbgateway所需CPU
    gateways.istio-ilbgateway.enabled.resources.requests.memory 512Mi Ilbgateway所需内存
    gateways.istio-ilbgateway.enabled.loadBalancerIP "" Ilbgateway对外暴露的ELB IP地址
    gateways.istio-ilbgateway.enabled.serviceAnnotations.cloud.google.com/load-balancer-type "internal" ilbgateway访问方式
    gateways.istio-ilbgateway.enabled.type LoadBalancer Ilbgateway的service类型
    gateways.istio-ilbgateway.enabled.ports.name grpc-pilot-mtls 是否启用mtls认证
    gateways.istio-ilbgateway.enabled.ports.name grpc-pilot Service端口名称
    gateways.istio-ilbgateway.enabled.ports.targetPort 8060 Grpc service端口
    gateways.istio-ilbgateway.enabled.ports.name tcp-citadel-grpc-tls Grpc-tls端口名称
    gateways.istio-ilbgateway.enabled.ports.name tcp-dns Dns端口名称
    gateways.istio-ilbgateway.enabled.secretVolumes.secretName istio-ilbgateway-certs 挂载证书secret的名称
    gateways.istio-ilbgateway.enabled.secretVolumes.mountPath /etc/istio/ilbgateway-certs 挂载证书secret的路径
    gateways.istio-ilbgateway.enabled.secretVolumes.secretName istio-ilbgateway-ca-certs 挂载根证书secret的名称
    gateways.istio-ilbgateway.enabled.secretVolumes.mountPath /etc/istio/ilbgateway-ca-certs 挂载根证书secret的路径

    四、全局变量global

    Key Default Value Description
    global.hub docker.io/istio 镜像仓库
    global.tag 1.0.0 镜像版本号
    global.k8sIngressSelector ingress 匹配ingress所用label
    global.k8sIngressHttps FALSE 是否开启https
    global.proxy.image proxyv2 Proxy镜像名称
    global.proxy.resources.requests.cpu 10m Proxy所需cpu
    global.proxy.accessLogFile "/dev/stdout" Sidecar的log文件路径
    global.proxy.enableCoreDump FALSE 是否启用coreDump
    global.proxy.includeIPRanges "*" 如果目标IP在范围内,出流量要经过sidecar
    global.proxy.excludeIPRanges "" 如果目标IP在范围内,出流量不经过sidecar
    global.proxy.includeInboundPorts "*" 如果容器端口在范围内,入这个端口的流量要经过sidecar
    global.proxy.excludeInboundPorts "" 如果容器端口在范围内,入这个端口的流量不经过sidecar
    global.proxy.autoInject enabled 是否开启自动注入
    global.proxy.envoyStatsd.enabled TRUE 是否对接statsd
    global.proxy.envoyStatsd.host istio-statsd-prom-bridge Statsd host
    global.proxy.envoyStatsd.port 9125 Statsd端口
    global.proxy_init.image proxy_init Proxy的init镜像
    global.imagePullPolicy IfNotPresent 镜像的拉去策略
    global.controlPlaneSecurityEnabled TRUE 控制面组件是否开启mtls认证
    global.disablePolicyChecks FALSE 关掉mixer-check
    global.enableTracing TRUE 开启tracing
    global.mtls.enabled TRUE 开启Mtls认证
    global.arch.amd64 2 亲和性策略
    global.arch.s390x 2 亲和性策略
    global.arch.ppc64le 2 亲和性策略
    global.oneNamespace FALSE 限制为单ns
    global.configValidation TRUE 开启参数校验
    global.meshExpansion FALSE ingressgateway开启pilot与citadel的mtls
    global.meshExpansionILB FALSE Ilbgateway开启pilot与citadel的mtls
    global.defaultResources.requests.cpu 10m 默认资源需求
    global.hyperkube.hub quay.io/coreos Hypercube镜像仓库
    global.hyperkube.tag v1.7.6_coreos.0 镜像版本号
    global.priorityClassName "" 优先级类别
    global.crds TRUE 是否需要优先创建crd

    五、Grafana

    监控数据展示addon

    Key Default Value Description
    grafana.enabled TRUE 安装grafana
    grafana.replicaCount 1 实例个数
    grafana.image grafana 镜像名称
    grafana.security.enabled TRUE 开启登录安全认证
    grafana.security.adminUser admin 认证用户名
    grafana.security.adminPassword admin 认证密码
    grafana.service.annotations {} Annotation
    grafana.service.name http Service中portname
    grafana.service.type ClusterIP Service类型
    grafana.service.externalPort 3000 访问端口
    grafana.service.internalPort 3000 容器端口

    六、Ingress

    Istio将取消Ingress,不建议使用,推荐使用gateway

    Key Default Value Description
    ingress.enabled TRUE 是否启用Ingress
    ingress.replicaCount 1 实例数
    ingress.autoscaleMin 1 最小自动伸缩实例数
    ingress.autoscaleMax 5 最大自动伸缩实例数
    ingress.service.annotations {} Annotation
    ingress.service.loadBalancerIP "" ELB IP
    ingress.service.type LoadBalancer #change to  NodePort, ClusterIP or LoadBalancer if need be Service类型
    ingress.service.ports.name http http端口名称
    ingress.service.ports.nodePort 32000 nodePort
    ingress.service.ports.name https https端口名称
    ingress.service.selector.istio ingress Selector匹配label

    七、kiali

    kiali插件

    Key Default Value Description
    kiali.enabled TRUE 是否安装kiali
    kiali.replicaCount 1 实例数
    kiali.hub docker.io/kiali 镜像仓库
    kiali.tag istio-release-1.0 镜像版本
    kiali.ingress.enabled TRUE 是否开启ingress对外访问
    kiali.dashboard.username admin 界面登录名
    kiali.dashboard.passphrase admin 界面登录密码

    八、mixer

    Key Default Value Description
    mixer.enabled TRUE 是否启用mixer
    mixer.replicaCount 1 实例数
    mixer.autoscaleMin 1 最小伸缩实例数
    mixer.autoscaleMax 5 最大伸缩实例数
    mixer.image mixer 镜像名称
    mixer.istio-policy.autoscaleEnabled TRUE policy开启自动扩容
    mixer.istio-policy.autoscaleMin 1 最小伸缩实例数
    mixer.istio-policy.autoscaleMax 5 最大伸缩实例数
    mixer.istio-policy.cpu.targetAverageUtilization 80 扩缩容CPU阈值
    mixer.istio-telemetry.autoscaleEnabled TRUE Telemetry自动扩容
    mixer.istio-telemetry.autoscaleMin 1 最小伸缩实例数
    mixer.istio-telemetry.autoscaleMax 5 最大伸缩实例数
    mixer.istio-telemetry.cpu.targetAverageUtilization 80 扩缩容CPU阈值
    mixer.prometheusStatsdExporter.hub docker.io/prom 对接adapter镜像
    mixer.prometheusStatsdExporter.tag v0.6.0 镜像版本

    九、pilot

    Key Default Value Description
    pilot.enabled TRUE 启用pilot
    pilot.replicaCount 1 实例数
    pilot.autoscaleMin 1 最小伸缩实例数
    pilot.autoscaleMax 1 最大伸缩实例数
    pilot.image pilot 镜像名称
    pilot.sidecar TRUE 是否默认为pilot注入sidecar
    pilot.traceSampling 100 采样率
    pilot.resources.requests.cpu 500m CPU需求
    pilot.resources.requests.memory 2048Mi 内存需求

    十、Prometheus

    Key Default Value Description
    prometheus.enabled TRUE 启用prometheus
    prometheus.replicaCount 1 实例数
    prometheus.hub docker.io/prom 镜像仓库
    prometheus.tag v2.3.1 镜像版本
    prometheus.service.annotations {} Annotation
    prometheus.service.nodePort.enabled FALSE 是否启用nodePort
    prometheus.service.nodePort.port 32090 nodePort端口

    十一、security

    Key Default Value Description
    security.replicaCount 1 实例数
    security.image citadel 镜像名称
    security.selfSigned true # indicate if self-signed  CA is used. 开启证书自签发

    十二、servicegraph

    Key Default Value Description
    servicegraph.enabled FALSE 启用servicegraph
    servicegraph.replicaCount 1 实例数
    servicegraph.image servicegraph 镜像名称
    servicegraph.service.name http Service的portname
    servicegraph.service.type ClusterIP Service类型
    servicegraph.service.externalPort 8088 访问端口
    servicegraph.service.internalPort 8088 容器端口
    servicegraph.ingress.enabled FALSE 开启ingress
    servicegraph.prometheusAddr http://prometheus:9090 对接普罗地址

    十三、sidecarInjector

    Key Default Value Description
    sidecarInjectorWebhook.enabled TRUE 启用sidecarinjector
    sidecarInjectorWebhook.replicaCount 1 实例数
    sidecarInjectorWebhook.image sidecar_injector 镜像名称
    sidecarInjectorWebhook.enableNamespacesByDefault FALSE 注入规则配置,false为匹配injecor-label

    十四、telemetry-gateway

    用于将grafana与prometheus以gateway方式发布出去

    Key Default Value Description
    telemetry-gateway.gatewayName ingressgateway Gateway名称
    telemetry-gateway.grafanaEnabled TRUE 发布grafana-gateway
    telemetry-gateway.prometheusEnabled TRUE 发布prome-gateway

    十五、tracing

    Key Default Value Description
    tracing.enabled TRUE 启用tracing
    tracing.provider jaeger 是否安装jaeger svc
    tracing.jaeger.hub docker.io/jaegertracing 镜像仓库
    tracing.jaeger.tag 1.5 镜像版本号
    tracing.jaeger.memory.max_traces 50000 最大条数
    tracing.jaeger.ui.port 16686 前端访问端口
    tracing.replicaCount 1 实例数
    tracing.service.annotations {} Annotation
    tracing.service.name http Service的portName
    tracing.service.type ClusterIP Service类型
    tracing.service.externalPort 9411 访问端口
    tracing.service.internalPort 9411 容器端口
    tracing.ingress.enabled FALSE 是否发布为ingress

    十六、总结

     本文仅列举了Istio的helm安装包的传入参数,这些参数为安装Istio时传入并生效,而Istio控制面组件真正的启动参数,也是重要的一部分,我们将在下期为大家讲解。

  • 相关阅读:
    Activity详解
    Log和LogCat的使用
    Android Studio项目目录结构
    Android系统架构
    [SCOI2016]美味
    [SCOI2016]背单词
    [SCOI2016]幸运数字
    [BZOJ4170]极光
    [JSOI2016]扭动的回文串
    [SCOI2016]萌萌哒
  • 原文地址:https://www.cnblogs.com/CCE-SWR/p/9990291.html
Copyright © 2011-2022 走看看