热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

在Kubernetes集群中搭建Istio微服务网格的过程详解

这篇文章主要介绍了在Kubernetes集群中搭建Istio微服务网格,我们采用default配置档部署istio网格,istioctl install命令不指定任何配置档默认就是呀default配置档,需要的朋友可以参考下

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

常用配置档对安装组件的区别

组件名称defaultdemominmalremote
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.206        15021: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

到此这篇关于在Kubernetes集群中搭建Istio微服务网格的文章就介绍到这了,更多相关Kubernetes集群Istio微服务网格内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!


推荐阅读
  • 在Kubernetes上部署JupyterHub的步骤和实验依赖
    本文介绍了在Kubernetes上部署JupyterHub的步骤和实验所需的依赖,包括安装Docker和K8s,使用kubeadm进行安装,以及更新下载的镜像等。 ... [详细]
  • 云原生边缘计算之KubeEdge简介及功能特点
    本文介绍了云原生边缘计算中的KubeEdge系统,该系统是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于Kubernetes构建,并为网络应用程序提供基础架构支持。同时,KubeEdge具有离线模式、基于Kubernetes的节点、群集、应用程序和设备管理、资源优化等特点。此外,KubeEdge还支持跨平台工作,在私有、公共和混合云中都可以运行。同时,KubeEdge还提供数据管理和数据分析管道引擎的支持。最后,本文还介绍了KubeEdge系统生成证书的方法。 ... [详细]
  • k8s+springboot+Eureka如何平滑上下线服务
    k8s+springboot+Eureka如何平滑上下线服务目录服务平滑上下线-k8s版本目录“上篇介绍了springboot+Euraka服务平滑上下线的方式,有部分小伙伴反馈k ... [详细]
  • 有意向可以发简历到邮箱内推.简历直达组内Leader.能做同事的话,内推奖励全给你. ... [详细]
  • Istio是一个用来连接、管理和保护微服务的开放平台。Istio提供一种简单的方式来为已部署的服务建 ... [详细]
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • 如何查询zone下的表的信息
    本文介绍了如何通过TcaplusDB知识库查询zone下的表的信息。包括请求地址、GET请求参数说明、返回参数说明等内容。通过curl方法发起请求,并提供了请求示例。 ... [详细]
  • 本文记录了在vue cli 3.x中移除console的一些采坑经验,通过使用uglifyjs-webpack-plugin插件,在vue.config.js中进行相关配置,包括设置minimizer、UglifyJsPlugin和compress等参数,最终成功移除了console。同时,还包括了一些可能出现的报错情况和解决方法。 ... [详细]
  • GPT-3发布,动动手指就能自动生成代码的神器来了!
    近日,OpenAI发布了最新的NLP模型GPT-3,该模型在GitHub趋势榜上名列前茅。GPT-3使用的数据集容量达到45TB,参数个数高达1750亿,训练好的模型需要700G的硬盘空间来存储。一位开发者根据GPT-3模型上线了一个名为debuid的网站,用户只需用英语描述需求,前端代码就能自动生成。这个神奇的功能让许多程序员感到惊讶。去年,OpenAI在与世界冠军OG战队的表演赛中展示了他们的强化学习模型,在限定条件下以2:0完胜人类冠军。 ... [详细]
  • 篇首语:本文由编程笔记#小编为大家整理,主要介绍了软件测试知识点之数据库压力测试方法小结相关的知识,希望对你有一定的参考价值。 ... [详细]
  • adfs是什么_培训与开发的概念
    adfs是什么_培训与开发的概念(如您转载本文,必须标明本文作者及出处。如有任何疑问请与我联系me@nap7.com)ADFS相关开发技术的中文资料相对匮乏,之前在弄这个东西的时候 ... [详细]
  • k8s进阶之搭建私有镜像仓库
    企业级私有镜像仓 ... [详细]
  • Kubernetes(k8s)基础简介
    Kubernetes(k8s)基础简介目录一、Kubernetes概述(一)、Kubernetes是什么(二& ... [详细]
  • docker+k8s+git+jenkins
    docker+k8s+git+jenkins,Go语言社区,Golang程序员人脉社 ... [详细]
  • 在使用豆瓣OAuth登录接口时,我们需要发送这样的HTTPREQUEST请求:GETv2user~meHTTP1.1Host:https:api.douban.com ... [详细]
author-avatar
书友76075933
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有