基于kubernetes的微服务微服务在Dockerk8s下如何部署?-创新互联

微服务在Dockerk8s下如何部署?最近,这些技术已经在项目中使用。让我介绍一些有价值的想法。基于kubernetes的微服务
 微服务在Docker k8s下如何部署?

首先,结论如下:

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名与空间、雅安服务器托管、营销软件、网站建设、中方网站维护、网站推广。

1。K8s是一款非常好的技术,非常稳定。如果发现正在运行的pod数量不等于用户设置的期望值,k8s将自动创建或删除pod,直到它们相等为止。这不仅确保了服务的不间断运行,而且还动态地扩展了服务规范。用户只需要调整pod的复制次数,剩下的留给k8s,这很容易让人担心。

2.使用Jenkins集成命令行操作,虽然我个人比较喜欢使用命令行,但我不得不承认,使用Jenkins集成命令行操作将大大提高工作效率。

实现步骤如下:(本文以Azure平台为例)

1。写dockerfile

2。在Jenkins中创建任务并执行包含以下命令的脚本

2.1git将源代码拉到本地

2.2dockerbuild命令生成映像文件

2.3docker定义映像文件版本号并上载到Azure平台

2.4kubectl命令创建k8s部署和服务。

每个版本2.5update,可以调用updateimage来编译新的镜像版本并提供给k8s

注意,在创建k8s的部署和服务时,需要用yaml格式编写配置文件。部署配置包括名称、映像文件地址、大和最小CPU分配值、大和最小内存分配值等。服务配置文件包括名称、引用的部署名称以及是否使用负载平衡器。

有关更多详细信息,请参阅我的wikihttps://github.com/FamingHou/MyWiki

如何在K8S平台部署微服务?

如果您正在谈论k8s服务发现,您不需要它,因为k8s有一个coredns来解析部署的k8s服务。如果您谈论的是微服务本身的服务发现,比如Eureka,那么您仍然需要它。我很高兴回答你的问题。

目前,我们正在进行一个充分利用微服务体系结构的项目。这也是一个很大的方便。

首先,要确定模块的划分,就我们的项目而言,它分为:

1API接口

2。模块负责具体的逻辑处理,前端模块与本模块通过grpc进行通信

3。异步处理模块,有些任务需要很长时间,模块2会向Kafka发送一条消息,这个模块会从Kafka那里获取消息并进行异步处理

系统部署在kubernetes上,所有模块都编译成docker镜像并上传到自己的私有镜像repo。

每个模块都有多个副本用于负载平衡。模块间的通信由kubernetes集群服务实现。

Kubernetesingress负责提供外部访问接口和SSL处理。

外层使用负载均衡器实现多集群间的负载均衡和容错。多个集群部署在不同的区域,以避免由于区域问题而导致服务不可用。

Istio还用于集群中,以利用服务网格。

此外,监控也是必不可少的。我们使用普罗米修斯监控各种指标和报警管理器来实现报警。

Elk用于记录和查询日志,Jaeger用于跟踪模块之间的相同请求。

目前运行稳定,效果很好。

我希望我的回答能帮助你。


本文标题:基于kubernetes的微服务微服务在Dockerk8s下如何部署?-创新互联
转载来源:http://csdahua.cn/article/ddegis.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流