侧边栏壁纸
博主头像
ZHD的小窝博主等级

行动起来,活在当下

  • 累计撰写 79 篇文章
  • 累计创建 53 个标签
  • 累计收到 1 条评论

目 录CONTENT

文章目录

容器部署过程

江南的风
2024-09-06 / 0 评论 / 0 点赞 / 20 阅读 / 3635 字 / 正在检测是否收录...

在 Kubernetes 中,代码(即 Docker 镜像)是通过以下步骤从 Docker 仓库拉取到 Kubernetes 集群中的:

1. 创建 Docker 镜像

首先,开发者需要将应用程序及其依赖项打包成 Docker 镜像。这通常通过编写一个 Dockerfile 来实现。例如:

# 使用基础镜像
FROM python:3.8-slim

# 设置工作目录
WORKDIR /app

# 复制应用程序代码
COPY . /app

# 安装依赖
RUN pip install -r requirements.txt

# 暴露端口
EXPOSE 5000

# 运行应用程序
CMD ["python", "app.py"]

然后,使用 docker build 命令构建镜像:

docker build -t my-app:latest .

2. 上传 Docker 镜像到仓库

接下来,将构建好的 Docker 镜像上传到 Docker 仓库。可以使用 Docker Hub 或私有仓库。例如,使用 Docker Hub:

docker login
docker tag my-app:latest myusername/my-app:latest
docker push myusername/my-app:latest

3. 定义 Kubernetes 资源

在 Kubernetes 中,使用 YAML 文件定义 Deployment、Service 等资源。例如,定义一个 Deployment:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-app-deployment
spec:
  replicas: 3
  selector:
    matchLabels:
      app: my-app
  template:
    metadata:
      labels:
        app: my-app
    spec:
      containers:
      - name: my-app
        image: myusername/my-app:latest
        ports:
        - containerPort: 5000

4. 应用 Kubernetes 配置

使用 kubectl 命令将 YAML 文件应用到 Kubernetes 集群中:

kubectl apply -f my-app-deployment.yaml

5. Kubernetes 拉取 Docker 镜像

当 Kubernetes 应用配置时,它会根据 YAML 文件中的 image 字段指定的镜像名称,从 Docker 仓库拉取镜像。具体步骤如下:

  1. 检查本地缓存: Kubernetes 首先检查本地缓存中是否已经有该镜像。如果有,则直接使用本地镜像。

  2. 拉取镜像: 如果本地缓存中没有该镜像,Kubernetes 会从指定的 Docker 仓库拉取镜像。

  3. 创建 Pod: 拉取镜像后,Kubernetes 会根据 Deployment 的定义创建 Pod,并在 Pod 中运行容器。

6. 运行容器

Kubernetes 创建 Pod 后,会在 Pod 中运行容器,并根据 YAML 文件中的配置暴露端口、设置环境变量等。

总结

通过上述步骤,Kubernetes 从 Docker 仓库拉取 Docker 镜像并创建 Pod,最终在集群中运行应用程序。这种方式确保了应用程序的一致性和可移植性,同时利用 Kubernetes 的强大功能进行自动化部署和管理。

0

评论区