当前位置: 首页 > news >正文

在 K8s 上构建和部署容器化应用程序(Building and Deploying Containerized Applications on k8s)

在 Kubernetes 上构建和部署容器化应用程序

Kubernetes 是一个用于管理容器化工作负载和服务的开源平台。它提供了一个强大的框架来自动化部署、扩展和管理容器化应用程序。本博客将指导您完成在 Kubernetes 上构建和部署容器化应用程序的过程,重点介绍技术方面并使用代码块来清晰地说明。

先决条件

在深入部署过程之前,请确保您已满足以下先决条件:

  • Kubernetes 集群:正在运行的 Kubernetes 集群。您可以使用 Minikube 设置本地集群,也可以使用 Google Kubernetes Engine (GKE) 等托管服务。

  • kubectl:用于与 Kubernetes 集群交互的命令行工具。

  • Docker:已在您的机器上安装并运行。

  • 容器化应用程序:您的应用程序打包到 Docker 镜像中。

步骤 1:创建 Docker 映像

首先,您需要为应用程序创建一个 Docker 映像。这涉及编写一个 Dockerfile,用于指定基础映像、复制应用程序代码并设置运行应用程序的命令。
​​​​

FROM python:3.9-slim# 设置容器中的工作目录WORKDIR /app # 将当前目录内容复制到容器中的 /appCOPY . /app # 安装 requirements.txt 中指定的任何所需包RUN pip install --no-cache-dir -r requirements.txt # 使端口 80 可供容器外部使用EXPOSE 80 # 定义环境变量ENV NAME World # 在容器启动时运行 app.pyCMD [ "python" , "app.py" ]

使用 Dockerfile 构建 Docker 映像:
 

docker build -t my-python-app .

第 2 步:将 Docker 镜像推送到注册表

将 Docker 镜像推送到 Docker Hub 或 Google Container Registry 等容器注册表。此步骤是 Kubernetes 在部署期间提取镜像所必需的。
​​​​​​

docker tag my-python-app:latest <your-docker-hub-username>/my-python-app:latestdocker push <your-docker-hub-username>/my-python-app:latest

步骤 3:创建 Kubernetes 部署

Kubernetes 部署是一种管理应用程序新版本发布的资源。它可确保在任何给定时间运行指定数量的应用程序副本(即副本)。

创建一个名为deployment.yaml以下内容的 YAML 文件:
​​​​​​

apiVersion: apps/v1kind: Deploymentmetadata:name: my-python-appspec:replicas: 3selector:matchLabels:app: my-python-apptemplate:metadata:labels:app: my-python-appspec:containers:- name: my-python-appimage: <your-docker-hub-username>/my-python-app:latestports:- containerPort: 80

将部署配置应用到您的 Kubernetes 集群:
 

kubectl apply -f deployment.yaml
步骤 4:创建 Kubernetes 服务

Kubernetes 服务为访问您的应用程序提供网络身份和负载平衡。创建一个名为 YAML 的文件,service.yaml内容如下:
​​​​​

apiVersion: v1kind: Servicemetadata:name: my-python-app-servicespec:selector:app: my-python-appports:- name: httpport: 80targetPort: 80type: LoadBalancer

将服务配置应用到您的 Kubernetes 集群:

kubectl apply -f service.yaml

步骤 5:验证部署

检查您的部署和服务的状态:

kubectl get deploymentskubectl get podskubectl get svc

您应该会看到您的部署和服务以指定数量的副本运行。

步骤 6:访问应用程序

要访问您的应用程序,您需要获取服务的外部 IP 地址:

kubectl get svc my-python-app-service -o jsonpath='{.status.loadBalancer.ingress.hostname}'

打开 Web 浏览器并导航到外部 IP 地址以访问您的应用程序。

结论

在 Kubernetes 上构建和部署容器化应用程序涉及创建 Docker 映像、将其推送到注册表、定义 Kubernetes 部署和服务以及将这些配置应用于集群。此过程可确保您的应用程序可扩展、可管理且可访问。Kubernetes 为平台工程提供了一个强大的平台,使您能够高效地自动化和管理复杂的部署。

相关文章:

  • THCON 2025
  • 向量数据库Qdrant 安装 不使用docker
  • Windows进行磁盘分区/扩容
  • vue3项目如何在index.html中根据环境(开发,生产)动态切换js src路径
  • 事件触发控制与响应驱动控制的定义、种类及区别
  • 大模型LLMs的MCP入门
  • MySQL-GROUP_CONCAT函数
  • WPS表格中设置折线图随数据列自动变化——存钱计划
  • 冲刺计划中的任务列表应该怎么写?
  • Linux驱动开发进阶(九)- SPI子系统BSP驱动
  • C# 程序结构||C# 基本语法
  • 类的生命周期
  • YOLOv2训练详细实践指南
  • C++开发中的DUMP文件:解决崩溃与性能问题的利器(全文字数2w+)
  • 时间序列:A TIME SERIES IS WORTH 64 WORDS: LONG-TERM FORECASTING WITH TRANSFORMERS
  • 【实战中提升自己】 防火墙篇之VPX部署–L2TP over IPSEC
  • CTF--eval
  • 控制反转(IoC)和依赖注入(DI)实现及常用注解
  • 怎样利用 macOS 自带功能快速进行批量重命名文件教程
  • 服务器内存规格详解
  • 中国政府援缅第七批抗震救灾物资运抵交付
  • 张宝亮履新临沂市委书记表态:不断提升在全省全国经济版图中的发展位势
  • 影子调查丨义门陈遗址建筑被“没收”风波
  • 北京航空航天大学强基计划今年新增4个招生培养方向
  • 虚假营销屡禁不止,市场监管总局严厉打击直播电商违法行为
  • 19岁癫痫患者植入脑机接口后,“脑控”玩上了“黑悟空”