前提条件

  • 正确安装配置Kubernetes集群
  • CentOS Linux release 7.5.1804

安装

下载istio 1.1版本

[root@vm157 ~]# wget https://github.com/istio/istio/releases/download/1.1.1/istio-1.1.1-linux.tar.gz……2019-03-26 09:39:06 (483 KB/s) - ‘istio-1.1.1-linux.tar.gz’ saved [15736205/15736205]

Istio安装有多种方式,本文根据helm template生成istio部署的配置文件,其他部署方式请参考官方文档。

[root@vm157 ~]# cd istio-1.1.1/
[root@ruffy istio-1.1.1]# helm template ../install/kubernetes/helm/istio-init --name istio-init --namespace istio-system > istio-init.yaml
[root@ruffy istio-1.1.1]# kubectl get crds | grep 'istio.io\|certmanager.k8s.io' | wc -l
[root@ruffy istio-1.1.1]# InternalIp=10.20.1.175
[root@ruffy istio-1.1.1]# helm template install/kubernetes/helm/istio --namespace istio-system \
>   --set global.mtls.enabled=true \
>   --set global.controlPlaneSecurityEnabled=true \
>   --set gateways.istio-ingressgateway.type=NodePort \
>   --set grafana.enabled=true \
>   --set servicegraph.enabled=true \
>   --set servicegraph.ingress.enabled=true \
>   --set servicegraph.ingress.hosts={servicegraph-istio-system.${InternalIp}.nip.io} \
>   --set tracing.enabled=true \
>   --set tracing.jaeger.ingress.enabled=true \
>   --set tracing.jaeger.ingress.hosts={jaeger-query-istio-system.${InternalIp}.nip.io} \
>   --set tracing.ingress.enabled=true \
>   --set tracing.ingress.hosts={tracing-istio-system.${InternalIp}.nip.io} \
>   --set kiali.enabled=true \
>   --set kiali.ingress.enabled=true \
>   --set kiali.ingress.hosts={kiali-istio-system.${InternalIp}.nip.io} \
>   --set kiali.dashboard.grafanaURL=http://grafana-istio-system.${InternalIp}.nip.io \
>   --set kiali.dashboard.jaegerURL=http://jaeger-query-istio-system.${InternalIp}.nip.io \
>   --name istio > ruffy/istio-${InternalIp}.yaml[root@vm175 istio-1.1.1]# cd ruffy
[root@vm175 ruffy]# ls
istio-10.20.1.175.yaml  istio-init.yaml         namespace.yaml

根据配置模板部署Isito组件

[root@vm175 istio-1.1.1]# kubectl apply -f ruffy/namespace.yaml
namespace/istio-system created
[root@vm175 istio-1.1.1]# kubectl apply -f ruffy/istio-init.yaml
configmap/istio-crd-10 created
configmap/istio-crd-11 created
serviceaccount/istio-init-service-account created
clusterrole.rbac.authorization.k8s.io/istio-init-istio-system configured
clusterrolebinding.rbac.authorization.k8s.io/istio-init-admin-role-binding-istio-system configured
job.batch/istio-init-crd-10 created
job.batch/istio-init-crd-11 created
[root@vm175 istio-1.1.1]# kubectl apply -f ruffy/istio-10.20.1.175.yaml
poddisruptionbudget.policy/istio-galley created
poddisruptionbudget.policy/istio-ingressgateway created
poddisruptionbudget.policy/istio-policy created
poddisruptionbudget.policy/istio-telemetry created
poddisruptionbudget.policy/istio-pilot created
……
rule.config.istio.io/promhttp created
rule.config.istio.io/promtcp created
rule.config.istio.io/promtcpconnectionopen created
rule.config.istio.io/promtcpconnectionclosed created
handler.config.istio.io/kubernetesenv created
rule.config.istio.io/kubeattrgenrulerule created
rule.config.istio.io/tcpkubeattrgenrulerule created
kubernetes.config.istio.io/attributes created
destinationrule.networking.istio.io/istio-policy created
destinationrule.networking.istio.io/istio-telemetry created

查看Isito部署状态

[root@vm175 istio-1.1.1]# kubectl -n istio-system get allNAME                                          READY     STATUS              RESTARTS   AGEpod/grafana-7b46bf6b7c-xr2lw                  1/1       Running             0          2m
pod/istio-citadel-5878d994cc-kfm7p            1/1       Running             0          2m
pod/istio-cleanup-secrets-1.1.1-wlk7p         0/1       Completed           0          2m
pod/istio-galley-6db4964df6-9lpsl             1/1       Running             0          2m
pod/istio-grafana-post-install-1.1.1-44lv7    0/1       Completed           0          2m
pod/istio-ingressgateway-cd5df7bc6-sgh5m      0/1       Running             0          2m
pod/istio-init-crd-10-q5kvp                   0/1       Completed           0          3m
pod/istio-init-crd-11-kdd25                   0/1       Completed           0          3m
pod/istio-pilot-597dd58685-hsp72              1/2       Running             0          2m
pod/istio-policy-67f66c8b5c-8kqwm             2/2       Running             5          2m
pod/istio-security-post-install-1.1.1-gcjrm   0/1       Completed           0          2m
pod/istio-sidecar-injector-59fc9d6f7d-j9prx   0/1       ContainerCreating   0          2m
pod/istio-telemetry-c5bfc457f-qqzb5           2/2       Running             4          2m
pod/istio-tracing-75dd89b8b4-2t2hl            0/1       ContainerCreating   0          2m
pod/kiali-5d68f4c676-bdltq                    1/1       Running             0          2m
pod/prometheus-89bc5668c-7kp8b                0/1       Init:Error          1          2m
pod/servicegraph-57bfbbd697-6tldj             0/1       Running             0          2m……NAME                                          DESIRED   SUCCESSFUL   AGEjob.batch/istio-cleanup-secrets-1.1.1         1         1            2mjob.batch/istio-grafana-post-install-1.1.1    1         1            2mjob.batch/istio-init-crd-10                   1         1            3mjob.batch/istio-init-crd-11                   1         1            3mjob.batch/istio-security-post-install-1.1.1   1         1            2m

增加grafana和prometheus的ingress文件

Istio-grafana.yaml

[root@vm175 ruffy]# cat istio-grafana-ingress.yamlapiVersion: extensions/v1beta1kind: Ingressmetadata:name: grafananamespace: istio-systemlabels:app: grafanaannotations:spec:rules:
  • host: granafa-istio.10.20.1.175.xip.io http: paths:

    • path: / backend: serviceName: grafana servicePort: 3000
Isito-prometheus-ingress.yaml[root@vm175 ruffy]# cat istio-prometheus-ingress.yamlapiVersion: extensions/v1beta1kind: Ingressmetadata:name: istio-prometheusnamespace: istio-systemspec:rules:
  • host: prometheus-istio.10.20.1.175.xip.io http: paths:

    • path: /prometheus backend: serviceName: prometheus servicePort: 9090}}}
查看部署的组件访问路径{{{[root@vm175 ruffy]# kubectl -n istio-system get ingNAME                 HOSTS                                          ADDRESS   PORTS     AGEgrafana              granafa-istio.10.20.1.175.xip.io                         80        5mistio-prometheus     prometheus-istio.10.20.1.175.xip.io                      80        5mistio-servicegraph   servicegraph-istio-system.10.20.1.175.nip.io             80        56mistio-tracing        tracing-istio-system.10.20.1.175.nip.io                  80        56mkiali                kiali-istio-system.10.20.1.175.nip.io                    80        56m

访问kiali时,出现secret不存在的情况,需要通过kiali-secret.yaml文件创建secret,并且重启kiali服务。

Kiali-secret.yaml文件

[root@vm175 ruffy]# cat kiali-secret.yamlapiVersion: v1kind: Secretmetadata:name: kialinamespace: istio-systemlabels:app: kialitype: Opaquedata:username: "YWRtaW4="passphrase: "YWRtaW4="

访问Kiali

浏览器输入地址:http://kiali-istio-system.10.2 ... iali/
用户名/密码:admin/admin

访问servicegraph

浏览器输入地址:http://servicegraph-istio-syst ... .html

访问tracing

浏览器输入地址:http://servicegraph-istio-syst ... .html

访问granafa

浏览器输入地址:http://granafa-istio.10.20.1.1 ... d%3D1

至此 Istio1.1及其依赖组件搭建完毕。

转载于:https://www.cnblogs.com/lvcisco/p/10800353.html

Istio 1.1部署实践相关推荐

  1. 云端设计平台Coohom在生产环境中使用istio的经验与实践

    介绍 自从istio-1.0.0在今年发布了正式版以后,Coohom项目在生产环境中也开启了使用istio来作为服务网格. 本文将会介绍与分享在Coohom项目在使用istio中的一些实践与经验. C ...

  2. 云原生服务网格Istio:原理、实践、架构与源码解析

    华为云原生团队600多页的Istio实战精华总结,云原生服务网格Istio:原理.实践.架构与源码解析的电子书. 图书介绍 <云原生服务网格Istio:原理.实践.架构与源码解析>分为原理 ...

  3. 中通物流基于 KubeSphere 在生产环境的开发与部署实践

    背景 中通物流是国内业务规模较大,第一方阵中发展较快的快递企业.2019年,中通各类系统产生的数据流以亿计,各类物理机和虚拟机成千上万,在线微服务更是数不胜数.如此庞大的管理,使得中通业务发展不可持续 ...

  4. TVM优化c++部署实践

    TVM优化c++部署实践 使用TVM导入神经网络模型: 模型支持pytorch , tensorflow , onnx, caffe 等.平时pytorch用的多,这里给一种pytorch的导入方式. ...

  5. 容器化部署实践之Django应用部署(二)

    上一篇文章有些同学感觉不够详细理解起来有些困难,我再来简单解释一下. 我们在开发的情况下:     浏览器请求→ python manage.py runserver(比如8000) → 到应用代码( ...

  6. 基于 Docker 和 GitLab 的前端自动化部署实践笔记

    基于 Docker 和 GitLab 的前端自动化部署 实践笔记 随着接触的项目越来越多,在部署测试流程上重复耗时工作也越来越多,所以对前端工作的CI/CD实现愈发迫在眉睫. 前端开发由于三大框架的崛 ...

  7. centos 安装mysql5.7_Zabbix 4.2.5 安装部署实践详解

    [导读]云计算背景下,无论是大数据.物联网还是边缘计算,规模化后大量的设备需要保证正常运行,在人员一定的情况下,就需要提高运行维护效率.同时随着智能化被应用在人们生活的方方面面,关联性也越来越紧密,即 ...

  8. 网易云海外推流部署实践

    谈到直播,实时性和流畅性一直是整个服务体系中的重中之重.本文是网易云通信视频技术开发工程师何荣光在LiveVideoStack Meet杭州站沙龙的分享,着重梳理网易云在海外推流方面的部署实践,帮助开 ...

  9. tftp 服务器 ip_360Stack裸金属服务器部署实践

    女主宣言 裸金属特性是一种将物理设备作为资源提供给租户的云计算服务,租户通过该服务可申请.管理和配置相应的物理设备资源,本文将介绍360Stack裸金属服务器的部署实践. PS:丰富的一线技术.多元化 ...

最新文章

  1. 深入理解并行编程-分割和同步设计(一)
  2. 计蒜客 三值排序 (模拟)
  3. 域环境下用组策略禁止客户机更改IP
  4. lgg6 android 9,LG G6的18:9屏幕用起来到底是什么样
  5. MaxCompute使用常见问题总结
  6. python pyecharts map不显示_pyecharts 地图不显示问题
  7. 20151209小问题
  8. 论文Mathtype公式自动编号
  9. springMVC浏览器接受json报406错误的解决方法
  10. [android视频教程] 传智播客android开发视频教程
  11. 浅谈敏捷思想-05.精益画布电梯演讲
  12. arcgis裁剪后发现部分矢量缺失
  13. net.sf.json.JSONException: JSONObject[节点名称] not found解决方法
  14. itext修改pdf文字
  15. 2030年,程序员工资还能达到现在的水平吗?
  16. AdGuard推荐设置
  17. qscoj 11 喵哈哈村的括号序列
  18. linux开发板ftp,用ftp从linux上下载文件到开发板的方法
  19. oracle 中 in函数
  20. 这款 MySQL、Oracle、HDFS 数据同步工具,有点牛逼!

热门文章

  1. 通俗易懂条件随机场CRF
  2. 中科大计算机科学与浙大比,2020强基计划高校复旦、上交大、南大、浙大、中科大怎么选?...
  3. (CondConv)条件卷积insight分析
  4. xilinx mii to rmii核使用
  5. java wrapper怎么运行_wrapper简单使用
  6. 【redis】内存回收机制
  7. 灾后第一个清明,我走进北川的那一刻
  8. 网易智企首发:万字讲透元宇宙前世、今生与未来
  9. 科技人文丨玻璃心:承受阈值与表达
  10. 京东时尚“质感”升级,成为时尚产业新T台