在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-master hostnamectl set-hostname k8s-node1 hostnamectl set-hostname k8s-node2 2.关闭selinux及防火墙 setenforce 0 sed -ri '/^SELINUX=/c SELINUX=disabled' /etc/sysconfig/selinux sed -ri '/^SELINUX=/c SELINUX=disabled' /etc/selinux/config systemctl stop firewalld systemctl disable firewalld
1.2.部署K8S集群
1.sealos官网获取软件包 [root@k8s-master1 ~]# ll 总用量 507472 -rw-r--r-- 1 root root 552591411 8月 5 2021 kube1.19.16.tar.gz -rw-r--r-- 1 root root 44322816 4月 29 13:47 sealos 2.将kube1.19.16.tar.gz文件上传到所有k8s节点 3.安装sealos [root@k8s-master1 ~/soft]# chmod +x sealos && mv sealos /usr/bin [root@k8s-master1 ~/soft]# sealos version Version: 3.3.9-rc.3 Last Commit: 4db4953 Build Date: 2021-04-10T11:25:04Z 4.部署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 -
下载完成后会自动解压成目录。

2.2.查看Istio可用的配置列表
1.准备istio命令
[root@k8s-master ~]# cp istio-1.8.2/bin/istioctl /usr/bin/
2.查看可用的配置列表
[root@k8s-master ~]# istioctl profile list
Istio configuration profiles:
default #默认配置档,功能丰富,建议生产使用
demo #快速入门使用,适中配置,不适合性能测试
empty
minimal #功能最少的组件集配置
openshift
preview
remote #用于配置共享控制平面的多集群服务网格
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 | √ | √ |
我们采用default配置档部署istio网格,istioctl install命令不指定任何配置档默认就是呀default配置档。
1.安装istio [root@k8s-master ~]# istioctl install -y Detected 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 complete 2.查看istio在K8S集群创建的资源 [root@k8s-master ~]# kubectl get all -n istio-system NAME READY STATUS RESTARTS AGE pod/istio-ingressgateway-559f565fcd-jxn5b 1/1 Running 0 7m46s pod/istiod-545bb98448-vqf84 1/1 Running 0 12m NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE service/istio-ingressgateway LoadBalancer 10.107.107.20615021:32381/TCP,80:31105/TCP,443:30793/TCP,15012:32259/TCP,15443:31377/TCP 7m45s service/istiod ClusterIP 10.109.130.252 15010/TCP,15012/TCP,443/TCP,15014/TCP 12m NAME READY UP-TO-DATE AVAILABLE AGE deployment.apps/istio-ingressgateway 1/1 1 1 7m46s deployment.apps/istiod 1/1 1 1 12m NAME DESIRED CURRENT READY AGE replicaset.apps/istio-ingressgateway-559f565fcd 1 1 1 7m46s replicaset.apps/istiod-545bb98448 1 1 1 12m NAME REFERENCE TARGETS MINPODS MAXPODS REPLICAS AGE horizontalpodautoscaler.autoscaling/istio-ingressgateway Deployment/istio-ingressgateway /80% 1 5 1 7m45s horizontalpodautoscaler.autoscaling/istiod Deployment/istiod /80% 1 5 1 12m #程序部署了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

上一篇:Linux scp命令从shell终端远程复制文件脚本
栏 目:其它服务器
本文标题:在Kubernetes集群中搭建Istio微服务网格的过程详解
本文地址:https://zz.feitang.co/server/32989.html
您可能感兴趣的文章
- 01-07Tomcat部署Bolo动态博客
- 01-07图文详解nginx日志切割的实现
- 01-07如何解决swarm docker 端口不通问题
- 01-07详解nginx location指令
- 01-07如何解决docker http 500错误问题
- 01-07windows server 2008安装配置DNS服务器
- 01-07Linux上搭载Nginx负载均衡配置使用案例详解
- 01-07NGINX 权限控制文件预览和下载的实现原理
- 01-07Nginx防盗链与服务优化配置的全过程
- 01-07使用 Apache 反向代理的设置技巧


阅读排行
推荐教程
- 12-23linux中ftp无法访问怎么办
- 12-11docker存储目录迁移示例教程
- 12-10docker start启动容器后仍然exit状态的解决
- 12-10Linux下如何安装Logstash
- 01-05Shell脚本去重的几种方法实例
- 12-22kvm虚拟机配置NAT端口转发的实现方法
- 12-19Zabbix SAML SSO 登录绕过漏洞的操作流程
- 12-15Docker-Compose搭建Spark集群的实现方法
- 12-14Docker Desktop无法正常启动解决(failed to start...)
- 12-14k8s 与docker空间使用分析与清理方法




