在Kubernetes集群中搭建Istio微服务网格的过程详解
目录
- 1.使用sealos部署快速部署K8S集群
- 1.1.基本环境配置
- 1.2.部署K8S集群
- 2.在K8S集群中部署Istio网格服务
- 2.1.下载Istio安装包
- 2.2.查看Istio可用的配置列表
- 2.3.展示Istio配置档的配置信息
- 2.4.查看Istio在k8s集群部署使用的YAML文件内容
1.使用sealos部署快速部署K8S集群
1.1.基本环境配置
1.设置主机名hostnamectl set-hostname k8s-masterhostnamectl set-hostname k8s-node1hostnamectl set-hostname k8s-node22.关闭selinux及防火墙setenforce 0sed -ri '/^SELINUX=/c SELINUX=disabled' /etc/sysconfig/selinux sed -ri '/^SELINUX=/c SELINUX=disabled' /etc/selinux/config systemctl stop firewalldsystemctl disable firewalld
1.2.部署K8S集群
1.sealos官网获取软件包[root@k8s-master1 ~]# ll总用量 507472-rw-r--r-- 1 root root552591411 8月5 2021 kube1.19.16.tar.gz-rw-r--r-- 1 root root443228164月29 13:47 sealos2.将kube1.19.16.tar.gz文件上传到所有k8s节点3.安装sealos[root@k8s-master1 ~/soft]# chmod +x sealos && mv sealos /usr/bin[root@k8s-master1 ~/soft]# sealos versionVersion: 3.3.9-rc.3Last Commit: 4db4953Build Date: 2021-04-10T11:25:04Z4.部署K8S1.19.16版本[root@k8s-master ~]# sealos init --passwd 'teacher' --master 192.168.20.10--node 192.168.20.11--node 192.168.20.12 --pkg-url /root/kube1.19.16.tar.gz --version v1.19.16
文章图片
2.在K8S集群中部署Istio网格服务
2.1.下载Istio安装包
[root@k8s-master ~]# curl -L https://istio.io/downloadIstio | ISTIO_VERSION=1.8.2 TARGET_ARCH=x86_64 sh -
下载完成后会自动解压成目录。
【在Kubernetes集群中搭建Istio微服务网格的过程详解】
文章图片
2.2.查看Istio可用的配置列表
1.准备istio命令[root@k8s-master ~]# cp istio-1.8.2/bin/istioctl /usr/bin/2.查看可用的配置列表[root@k8s-master ~]# istioctl profile listIstio configuration profiles:default#默认配置档,功能丰富,建议生产使用demo#快速入门使用,适中配置,不适合性能测试emptyminimal#功能最少的组件集配置openshiftpreviewremote#用于配置共享控制平面的多集群服务网格3.指定安装的配置档$ istioctl install --set profile=demo -y
常用配置档对安装组件的区别
组件名称 | default | demo | minmal | remote |
---|---|---|---|---|
istio-citadel | √ | √ | √ | |
istio-ingressgateway | √ | √ | ||
istio-galley | √ | √ | ||
istio-egressgateway | √ | |||
istio-nodeagent | ||||
istio-pilot | √ | √ | √ | |
istio-policy | √ | √ | ||
istio-sidecar-injector | √ | √ | √ | |
istio-telemetry | √ | √ | ||
grafana | √ | |||
istio-tracing | √ | |||
kiali | √ | |||
prometheus | √ | √ |
istioctl install
命令不指定任何配置档默认就是呀default配置档。1.安装istio[root@k8s-master ~]# istioctl install -yDetected that your cluster does not support third party JWT authentication. Falling back to less secure first party JWT. See https://istio.io/v1.8/docs/ops/best-practices/security/#configure-third-party-service-account-tokens for details.? Istio core installed? Istiod installed? Ingress gateways installed? Installation complete2.查看istio在K8S集群创建的资源[root@k8s-master ~]# kubectl get all -n istio-systemNAMEREADYSTATUSRESTARTSAGEpod/istio-ingressgateway-559f565fcd-jxn5b1/1Running07m46spod/istiod-545bb98448-vqf841/1Running012mNAMETYPECLUSTER-IPEXTERNAL-IPPORT(S)AGEservice/istio-ingressgatewayLoadBalancer10.107.107.20615021:32381/TCP,80:31105/TCP,443:30793/TCP,15012:32259/TCP,15443:31377/TCP7m45sservice/istiodClusterIP10.109.130.25215010/TCP,15012/TCP,443/TCP,15014/TCP12mNAMEREADYUP-TO-DATEAVAILABLEAGEdeployment.apps/istio-ingressgateway1/1117m46sdeployment.apps/istiod1/11112mNAMEDESIREDCURRENTREADYAGEreplicaset.apps/istio-ingressgateway-559f565fcd1117m46sreplicaset.apps/istiod-545bb9844811112mNAMEREFERENCETARGETSMINPODSMAXPODSREPLICASAGEhorizontalpodautoscaler.autoscaling/istio-ingressgatewayDeployment/istio-ingressgateway /80%1517m45shorizontalpodautoscaler.autoscaling/istiodDeployment/istiod /80%15112m#程序部署了2个,分别是istiod以及istio-ingressgateway#istio-ingressgateway的service资源通过loadblancer暴露了一组端口,我们可以通过这些端口访问到istio中的应用程序,loadblancer需要依靠公有云的负载均衡器,我们没有因此处于pending状态,但是该service资源也是可用的,loadblancer不存在公有云负载均衡器默认就会使用nodeport类型进行端口映射
文章图片
2.3.展示Istio配置档的配置信息
可以展示出Istio的配置内容。
[root@k8s-master ~]# istioctl profile dump default
2.4.查看Istio在k8s集群部署使用的YAML文件内容
#显示istio在k8s集群中部署使用的yaml编排文件内容[root@k8s-master istio-1.8.2]# istioctl manifest generate #将编排文件内容导入到文件中[root@k8s-master istio-1.8.2]# istioctl manifest generate > istio-generate.yaml#后期不使用istio时,可以通过这个文件直接卸载istio$ kubectl delete -f istio-generate.yaml
文章图片
到此这篇关于在Kubernetes集群中搭建Istio微服务网格的文章就介绍到这了,更多相关Kubernetes集群Istio微服务网格内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
推荐阅读
- 阿里云认证难考吗(该怎么准备才能通过考试?)
- 投稿|Airbnb在中国,没撑过“七年之痒”
- 在右键菜单中添加Beyond Compare合并技巧办法
- 如何在qq全拼输入法中设置自定义短语?
- vCenter Server 7.0 Update 1在部署阶段2无法保存IP配置导致部署失败
- 每个产品摘要后,如何在WooCommerce上添加单独的html代码
- 单个产品汇总后如何在WooCommerce上添加html代码
- 如何在wp_list_categories上添加类
- 负载均衡之keepalived
- 重新学习C语言day05