如何仅在Google Cloud上使用Yaml在单独的节点上部署kubernetes集群

麦克拉佐

目标:有一个我可以简单运行的yaml部署,kubectl create -f deployment.yaml它会创建节点,并以我在yaml文件中描述的方式将节点分布在节点上。

目标输出。谷歌云上的3个节点,其中2个节点具有2个前端/后端Pod,第3个节点具有以持久卷运行的数据库。

由于docker-desktop是单节点系统,因此无法在本地进行测试。谷歌云最初将我所有的Pod放在一个节点上,由于缺乏资源,它们没有进行调度。

因此,我查阅了文档,并询问了几个闲置渠道。共识是使用pod / node亲和力和antiAffinity来确保我想要的pod处于我想要的节点上。

客户端应用程序github

API / DB应用程序github

项目开销,k8s + Kustomize

这是我正在测试的github仓库,并试图构建我正在描述的东西。我想尽可能地避免与云无关,但是如果我需要更具体地介绍云关键字,请对此发表评论。整个部署分布在每个项目的/ kubernetes目录之间。在添加pod / node关联项之前,它们确实在本地工作。

TJ齐默尔曼

您在这里寻找的是Kubeadm这是一个用于引导Kubernetes主节点并将新节点加入集群的工具。是参考文档,这里Kubelet及其所有参数的API文档使用Kubeadm和这些参数,可以构建initConfigurationclusterConfigurationnodeConfiguration

1)创建这三个文件后,将initConfigurationclusterConfiguration放入单个YAML文件中。并放入nodeConfiguration自己的文件中。将第一个文件放到您的主文件上,将第二个文件放到您的节点上。如果要使用Multi-Master配置进行安装,则在构建配置时请牢记此文档您还需要负载均衡器代理或巧妙的DNS欺骗来启用此功能。

2)安装以下软件包

docker
containerd
kubelet
kubeadm

3)禁用所有交换分区SELinux,适当配置防火墙

3)使用您的配置文件在您的Master上引导Kuberneteskubeadm init --config /tmp/master.yml

4)使用配置文件将您的工作程序节点添加到集群kubeadm join --config /tmp/node.yml

5)安装一个网络插件

6)使用Kustomize项目部署其余软件地狱,您甚至可以使用Kustomize管理您的Kubeadm配置文件我有。您甚至可以将网络插件清单放在这里。

该Kubernetes解决方案完全与云无关,并且所有Kubernetes都是自动化的,但配置不是。我将使用Ansible之类的步骤自动执行1-5您将每个步骤声明为剧本中的任务或角色的位置。它支持大量的模块而且在没有的情况下,Galaxy上存在开源角色

剩下您的基础架构。使此云不可知是不可能的。没有两个供应商具有相同的API。这就是为什么存在像Kubernetes这样的抽象层的原因。要解决此问题,请尝试成为Cloud Aware使用Terraform之类的工具为您管理基础架构。然后,将所需的Terraform命令添加到Ansible手册中

Bam,现在您可以使用单个命令来部署整个基础架构,配置和应用程序。单个YAML文件:

ansible-playbook -i inventory.ini site.yml

那么,一个单一的YAML文件和一堆其他的角色模板剧本Terraform配置文件;)

编辑:这是我写的一些利用这些思想和设计原则的开源项目。您至少应该能够从中了解到许多Ansible逻辑。第一种是在裸机服务器上构建单节点群集。后者旨在在Proxmox上构建四节点集群。

两者都与我在此处编写的所有清单完全兼容这还应为您提供大量的Kustomize和Ansible示例。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

无法在Google Cloud上部署hadoop集群

来自分类Dev

如何编写正确的Yaml以在Azure devops中部署kubernetes集群?

来自分类Dev

如何强制Google Cloud端点仅在整个API或特定方法上使用https?

来自分类Dev

如何通过BareMetal部署上的Ingress访问kubernetes集群?

来自分类Dev

如何以最佳方式在多台物理机上部署kubernetes集群?

来自分类Dev

如何仅在Google Cloud Run的生产中运行某些代码行?

来自分类Dev

Google Map Javascript:如何仅在geojson城市图层的边界上显示信息窗口

来自分类Dev

如何仅在输入 3 个键后在 google-maps 自动完成上显示选项?

来自分类Dev

如何使用 kubernetes 集群配置超级账本节点 sdk?

来自分类Dev

如何使用Cloud Build在GCP上部署功能?

来自分类Dev

在bdutil部署的集群上使用SparkR访问Google Storage

来自分类Dev

Kubernetes:如何配置要在同一节点上部署的一组Pod?

来自分类Dev

无法在Google Cloud上部署服务

来自分类Dev

在 Google Cloud Platform 上部署 Vue Build

来自分类Dev

如何在Kubernetes GKE上部署Jaeger

来自分类Dev

仅在Google Maps上依赖Gradle构建

来自分类Dev

如何在Kubernetes集群中使用master节点作为worker节点?

来自分类Dev

当 vault 部署在专用集群上时,如何从另一个 kubernetes 集群访问 vault 机密?

来自分类Dev

Kubernetes:如何确保Pod A仅在Pod B正在运行的节点上结束

来自分类Dev

来自 Kubernetes 部署的 Google Cloud Bucket 连接使用 Storage API

来自分类Dev

如何在巨型群上部署箱子集群?

来自分类Dev

如何设置100个节点的Kubernetes集群

来自分类Dev

如何在Windows上创建具有多个节点的Kubernetes集群

来自分类Dev

如何在GCP上SSH到kubernetes / GKE集群中的节点

来自分类Dev

如何使用Ambari服务在所有hadoop节点上部署jar?

来自分类Dev

如何将代码从边缘节点部署到 hadoop 集群以使用 Oozie 对其进行调度?

来自分类Dev

Google Cloud Composer 区域 Kubernetes 集群

来自分类Dev

如何使用python删除GKE(Google Kubernetes Engine)集群?

来自分类Dev

Redis集群dbsize仅在该节点上显示键

Related 相关文章

  1. 1

    无法在Google Cloud上部署hadoop集群

  2. 2

    如何编写正确的Yaml以在Azure devops中部署kubernetes集群?

  3. 3

    如何强制Google Cloud端点仅在整个API或特定方法上使用https?

  4. 4

    如何通过BareMetal部署上的Ingress访问kubernetes集群?

  5. 5

    如何以最佳方式在多台物理机上部署kubernetes集群?

  6. 6

    如何仅在Google Cloud Run的生产中运行某些代码行?

  7. 7

    Google Map Javascript:如何仅在geojson城市图层的边界上显示信息窗口

  8. 8

    如何仅在输入 3 个键后在 google-maps 自动完成上显示选项?

  9. 9

    如何使用 kubernetes 集群配置超级账本节点 sdk?

  10. 10

    如何使用Cloud Build在GCP上部署功能?

  11. 11

    在bdutil部署的集群上使用SparkR访问Google Storage

  12. 12

    Kubernetes:如何配置要在同一节点上部署的一组Pod?

  13. 13

    无法在Google Cloud上部署服务

  14. 14

    在 Google Cloud Platform 上部署 Vue Build

  15. 15

    如何在Kubernetes GKE上部署Jaeger

  16. 16

    仅在Google Maps上依赖Gradle构建

  17. 17

    如何在Kubernetes集群中使用master节点作为worker节点?

  18. 18

    当 vault 部署在专用集群上时,如何从另一个 kubernetes 集群访问 vault 机密?

  19. 19

    Kubernetes:如何确保Pod A仅在Pod B正在运行的节点上结束

  20. 20

    来自 Kubernetes 部署的 Google Cloud Bucket 连接使用 Storage API

  21. 21

    如何在巨型群上部署箱子集群?

  22. 22

    如何设置100个节点的Kubernetes集群

  23. 23

    如何在Windows上创建具有多个节点的Kubernetes集群

  24. 24

    如何在GCP上SSH到kubernetes / GKE集群中的节点

  25. 25

    如何使用Ambari服务在所有hadoop节点上部署jar?

  26. 26

    如何将代码从边缘节点部署到 hadoop 集群以使用 Oozie 对其进行调度?

  27. 27

    Google Cloud Composer 区域 Kubernetes 集群

  28. 28

    如何使用python删除GKE(Google Kubernetes Engine)集群?

  29. 29

    Redis集群dbsize仅在该节点上显示键

热门标签

归档