我对我应该使用的术语有一些疑问。我已经搜索了我正在使用的组件,但我仍然不确定。你能检查一下这些是否是描述每个组件的正确方法吗?如果没有,你能修改一下吗?
我使用spring框架(springboot)开发微服务。
我通过kubernetes和docker在云上部署组件(我知道docker用于集装箱运输,kubernetes用于协调多个集装箱。说“我在kubernetes部署还是通过kubernetes部署”对吗
使用jenkins和azuredevops的ci/cd管道(项目使用azure devops在jenkins中触发ci/cd)
请注意,当我加入团队时,这个项目已经存在了,而且我对所有这些概念都是新手。我简单地理解它们的作用,我知道每个术语在入门级的含义,但我只想确定我是否用正确的方式说了这些。
4条答案
按热度按时间eanckbw91#
我使用spring框架(springboot)开发微服务。
以最基本的形式来理解微服务是一种用于开发应用程序的体系结构模式,因此可以有许多方法来实现这种模式(这只是开发应用程序而已),spring boot就是其中之一。更确切地说,你应该说“我使用SpringBoot开发微服务”
我通过kubernetes和docker在云上部署组件(我知道docker用于集装箱运输,kubernetes用于协调多个集装箱。说“我在kubernetes部署还是通过kubernetes部署”对吗
准确地说,你在这里是不正确的-你理解docker和kubernetes的目的,但把它放错了w.r.t.应用程序和它的部署。
请阅读本文,其中明确提到k8s不构建或部署代码。当官方文档明确地说k8s不部署代码时,你怎么能说我是通过k8s部署的呢?
我想说的是,您不应该使用您提到的任何一个语句,而应该说“我的应用程序在kubernetes集群(或gke或eks或aks)的云中运行(或部署)”。
使用jenkins和azuredevops的ci/cd管道(项目使用azure devops在jenkins中触发ci/cd)
我觉得不错。
请注意,一般来说,只要对方能听懂,你什么都可以说,所以一般来说,你所有的陈述都可能卖得很好。但我猜你在寻找“精确”的陈述,我也给了你同样的想法。
cyvaqqii2#
我想说,您部署的是服务,而不是组件,但是您的团队可能有自己的术语。
你确实部署在Kubernetes。
docker用于创建和管理容器和容器图像。kubernetes不使用docker,但可以使用通过docker创建的图像在pods中部署容器(通过oci格式)
其余的对我来说似乎是对的:)
jgwigjjp3#
在kubernetes中,应用程序作为一个单元被称为服务。它下面有可访问的组件,例如:部署、pod等。这组组件可以用于微服务或服务,但只是一个服务。
您可以使用列出所有服务
kubectl get services
docker在这里是相关的,只是因为pod有一个容器,有时甚至很少。所以kubernetes支持docker和它的图片。它是2021年最流行的容器运行时,但不是kubernetes的唯一一个。把一切结合起来,对我来说最合适的一句话是:
我在kubernetes上部署了一个服务
我在amazoneks上部署了一个服务
我在azure kubernetes上部署了一个服务
等。
添加“云”并没有增加太多的价值,因为不管选择什么云提供商,kubernetes平台都是一样的。当然,云也有一些区别,但Kubernetes核却没有。
docker不适合这里,通常在讨论细节时,特别是关于图像、构建图像等。
同样离题,但pod也比container更常用,因为在kubernetes中,您可以访问pod(而在docker compose中,您可以访问container)。当然,如果一个pod中设置了多个docker容器,并且容器引擎在此上下文中是docker,则可以访问docker容器。
5kgi1eie4#
这里的人是对的,但我想补充一点,当谈到kubernetes组件时,你通常会想到控制平面组件或节点组件,当谈到较小的单元时,首先想到的是服务和吊舱。请注意,kubernetes服务是一种抽象的方式,可以将运行在一组pod上的应用程序公开为网络服务。因此,请回答您的主要问题:
说我是通过kubernetes部署组件是正确的吗?
最好说您正在kubernetes(aks/aws/gcp/etc)上部署一个服务/应用程序(正在运行)。