入门指南丨上手理解Deployment、Services和Ingress

在之前的文章中,我们了解了Kubernetes中的基本概念,其硬件结构,不同的软件组件(例如Pod、Deployment、StatefulSet、Services、Ingress和Persistent Volumes),并了解了如何在服务之间与外部进行通信。

在本文中,我们将了解到:

  1. 使用MongoDB数据库创建NodeJS后端

  2. 编写Dockerfile来容器化我们的应用程序

  3. 创建Kubernetes Deployment脚本以启动Pod

  4. 创建Kubernetes Service脚本以定义容器与外界之间的通信接

  5. 部署Ingress Controller以请求路由

  6. 编写Kubernetes Ingress脚本来定义与外界的通信。

图片

由于我们的代码可以从一个节点重定向到另一个节点(例如,一个节点没有足够的内存,所以工作将重新调度到另一个具有足够内存的节点上),因此保存在节点上的数据容易丢失 ,意味着MongoDB 数据不稳定。在下一篇文章中,我们将讨论数据持久性问题以及如何使用Kubernetes持久卷安全地存储我们的持久数据。

在本文中,我们将使用NGINX作为Ingress Controller和Azure容器镜像仓库来存储我们的自定义Docker镜像。文中编写所有脚本都可以在Stupid Simple Kubernetes git repo中找到,如有需要可访问链接获取:

http://GitHub - CzakoZoltan08/StupidSimpleKubernetes-AKS

请注意:这些脚本不限定于某个平台,因此您可以使用其他类型的云提供程序或带有K3s的本地集群来实践本教程。我之所以建议使用K3s,因为它非常轻量,所有依赖项都被打包在一个小于100MB的单个二进制文件中。更重要的是,它是一种高可用的、经过CNCF认证的Kubernetes发行版,专门用于资源受限的环境中的生产工作负载。有关更多信息,您可以访问官方文档:

https://docs.rancher.cn/k3s/

前期准备

在开始本教程之前,请确保您已安装Docker。同时也要安装kubectl。

Kubectl安装链接:

https://kubernetes.io/docs/tasks/tools/#install-kubectl-on-windows

在本教程中使用的Kubectl命令可以在Kubectl cheat sheet(https://kubernetes.io/docs/reference/kubectl/cheatsheet/)中找到。

在本教程中,我们将使用Visual Studio Code,但这不是必要的,你也可以使用其他的编辑器。

创建可用于生产的微服务架构

将应用程序容器化

第一步,创建NodeJS后端的Docker镜像。创建镜像后,我们会将其推送到容器镜像仓库中,在该镜像仓库中可以访问它,并且可以通过Kubernetes服务(在本例中为Azure Kubernetes Service)拉取。</

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值