Pre Install

Istio安装 #

此文档介绍如何安装一个可用的 1.11版本istio。由于官方istio的镜像包所属docker.io,下载的时候可能会有限制,所以我们维护了 istio 1.11.5 版本的istio官方镜像,方便进行安装测试。

下载 istioctl #

使用linux安装

wget http://release.solarmesh.cn/istio/istioctl/istioctl-1.11.5.tar.gz
tar -xvf istioctl-1.11.5.tar.gz

安装istio #

初始化 IstioOperator

istioctl operator init --hub registry.cn-shenzhen.aliyuncs.com/solarmesh --tag 1.11.5

安装 istio相关组件

kubectl apply -f - <<EOF
apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
metadata:
  namespace: istio-system
  name: example-istiocontrolplane
spec:
  hub: registry.cn-shenzhen.aliyuncs.com/solarmesh
  tag: 1.11.5
  profile: demo
  meshConfig:
    accessLogFile: /dev/stdout
    enableTracing: true
    defaultConfig:
      proxyMetadata:
        ISTIO_META_DNS_CAPTURE: "true"
        ISTIO_META_DNS_AUTO_ALLOCATE: "true"  
  values:
    global:  ## 注意:以下配置在安装solarmesh的时候也会出现
      meshID: mesh01
      multiCluster:
        clusterName: cluster01
      network: network1
  components:
    ingressGateways:
      - name: istio-ingressgateway
        enabled: true
        k8s: 
          service:
            ports:
              - name: status-port
                port: 15021
                protocol: TCP
                targetPort: 15021
              - name: http2
                port: 80
                protocol: TCP
                targetPort: 8080
              - name: https
                port: 443
                protocol: TCP
                targetPort: 8443
              - name: tcp
                port: 31400
                protocol: TCP
                targetPort: 31400
              - name: tls
                port: 15443
                protocol: TCP
                targetPort: 15443
              - name: promethues ## 以下是支撑 solarmesh的配置
                port: 9090
                protocol: TCP
                targetPort: 9090
              - name: kiali
                port: 20001
                protocol: TCP
                targetPort: 20001
              - name: networking-agent
                port: 7575
                protocol: TCP
                targetPort: 7575
              - name: grafana
                port: 3000
                protocol: TCP
                targetPort: 3000
              - name: jaeger
                port: 16686
                protocol: TCP
                targetPort: 16686  
EOF

验证 #

~ kubectl get po -A
NAME                                                                 READY   STATUS    RESTARTS   AGE
istio-operator       istio-operator-74b5cbf55f-b6f2s                 1/1     Running   0          4m27s
istio-system         istio-egressgateway-7f599d85f5-bt9jh            1/1     Running   0          3m30s
istio-system         istio-ingressgateway-7c9b74fbc-k99f5            1/1     Running   0          3m30s
istio-system         istiod-88c94d9dc-xcvhx                          1/1     Running   0          3m39s

如上所示,istio 已经安装完成,我们可以进行solarmesh的安装啦!