如何解决Kubernetes Operator Vs Helm for Pub-Sub Model 应用
我在 C# 中有一个发布者订阅者(Pub-Sub 模型)应用程序,我想将它托管在 Kubernetes 上以实现高可用性。使用 helm 好还是我应该在我的应用程序中使用操作符。 什么最适合 Pub-Sub 模型应用程序?
解决方法
如果您有一个(dockerized)应用程序并且您想在 Kubernetes 中运行它,那么只要您 create Kubernetes Deployment configuration 就足够了。
因此,您可以做的最简单的事情是创建一个包含以下内容的文件 deployment.yaml
。
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-deployment
labels:
app: my-app
spec:
replicas: 3
selector:
matchLabels:
app: my-app
template:
metadata:
labels:
app: my-app
spec:
containers:
- name: my-app
image: <your-docker-image>
然后使用以下命令将其部署到 Kubernetes 中。
kubectl apply -f deployment.yaml
关于 Helm 和 Operators,您通常将它们用于一些更复杂的部署、组织和模板化多个 Kubernetes 配置、与您的应用程序交互、执行备份、以及更多操作任务。
,正如在之前的回答中已经提到的,简单的部署足以让您在 Kubernetes 中启动应用程序。
helm 的想法是通过模板拥有可重用的 yaml 工件。因此它允许您定义具有某些属性的 Kubernetes yamls 文件。这些属性的值存储在单独的文件中。 helm 的大多数用例是为具有不同配置的相同应用程序工作负载创建自定义 yaml,或在不同环境中安排这些部署。
另一方面,Kubernetes Operator 是一个特定于应用程序的控制器,它扩展了 Kubernetes API 的功能,以代表 Kubernetes 用户创建、配置和管理复杂应用程序的实例。它以基本的 Kubernetes 资源和控制器概念为基础,但包括特定领域或应用程序的知识,以实现其管理的软件的整个生命周期的自动化。
因此,如果您的应用程序需要一些特殊要求,您可能希望对创建自定义运算符更感兴趣。
总而言之,可以说 helm 是 Kubernetes 的一种包管理器,其中 Kubernetes 操作员是一个控制器,管理特定 Kubernetes 资源/应用程序/软件的生命周期/
这是一个很好的 article 两者有何不同以及它们的共同点。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。