📜  Docker——使用 Kubernetes

📅  最后修改于: 2022-05-13 01:58:43.723000             🧑  作者: Mango

Docker——使用 Kubernetes

Docker 是一种工具,旨在通过使用容器来更轻松地创建、部署和运行应用程序。 Docker 也可以执行图像文件。 Docker 允许您将应用程序与基础设施分离,以便 Docker 容器可以更快地交付项目。它利用操作系统级别的虚拟化来交付应用程序。

Docker 容器优势:

  • 尺寸很小,它们非常快。
  • 轻巧便携。
  • 更少的 RAM 和空间。
  • 进程隔离,如果一个容器受到影响,其他容器不会受到影响。

Kubernetes: Kubernetes 是一个开源系统,用于容器化应用程序的自动化、部署和扩展。它用于构建现代应用程序。您可以使用 Kubernetes 进行云部署。当与 AWS 结合使用时,您可以使用 Kubernetes 来管理托管您的容器的 Amazon Elastic Compute Cloud (EC2) 实例集群。

Kubernetes 优势:

  • 可扩展性
  • 灵活性
  • 可移植性

Docker 中的关键术语:

  1. 容器:容器允许开发人员打包应用程序及其所需的所有部分,例如库、工具、代码和其他依赖项,这些依赖项用于运行服务并将其部署为单个包。它由有助于构建容器的容器引擎组成。
  2. Docker 引擎: Docker 引擎是一种开源容器化创新,用于构建和容器化您的应用程序。
  3. Docker 文件:利用 Docker 文件创建 Docker 镜像。该文件包含命令形式的数据,这反过来有助于创建 Docker 映像。
  4. Docker 映像: Docker 映像是一种经过仔细阅读的格式,其中包含一系列有关制作可以在 Docker 门户上运行的容器的说明。

先决条件

  • 码头工人桌面
  • Kubernetes CLI
  • Minikube

安装:

1.安装Docker桌面

Docker 可以通过阅读 Dockerfile 中的指南自然地制作图片。 Dockerfile 是一个书籍档案,其中包含客户可以接近订单行以收集图片的每个订单。利用 docker assemble 客户端可以制作一个机器人化制造,该制造可以执行一些订单行指南。

要为 Windows 安装 docker 桌面,您可以参考此链接。

码头工人桌面

2. 启用 Kubernetes:安装 docker 后,您必须启用 Kubernetes。点击设置,它会带你到以下地方:

启用 Kubernetes 集群

3. 安装 Kubernetes CLI:为了运行 Kubernetes 集群,使用 Kubernetes 命令行界面 (CLI),kubectl。

要下载 Kubernetes CLI,请参阅此链接。

4. 安装 Minikube: Minikube 被称为“本地 Kubernetes 引擎”。 Minikube 是一种允许您在本地运行 Kubernetes 的设备。 Minikube 在您的 PC 上运行一个单独的集线器 Kubernetes 束。要安装,请参阅此链接。

5. 完成所有安装过程后,我们现在将在任何编辑器上制作一个简单的应用程序。

  • 在桌面上创建一个文件夹(这里是 hello-minikube)。
  • 在您的 Visual Studio Code 中打开该文件夹(您可以使用您选择的编辑器)。项目结构如下所示:

  • app.py 中添加以下Python代码:
Python3
from flask import flask, jsonify
import time 
  
app = flask(_name_)
  
app.router("/")
def hello_minikubegfg():
    return jsonify({"Time to Call":time.time()})
  
if _name_ == "_main_":
    app.run(host='0.0.0.0',debug=True)


  • 在requirement.txt 文件中-> 只需添加所需的依赖项(这里我添加了flask)
  • 在 Docker 文件 -> 从 docker hub 拉取 docker 映像,并复制目录中的所有文件,如下所述:
FROM python:3.7
RUN mkdir /app
WORKDIR /app/
ADD . /app/
RUN pip install -r requirements.txt
CMD ["python", "/app/app.py"]
  • 在终端中添加以下命令:
docker build -t hello-minikube . (Press Enter)
docker images (Press Enter)

执行上述命令后,您将能够看到 Image id 如下:

Docker 镜像

  • 现在添加一个新文件名为“ deployment.yaml ”并添加以下代码:
apiVersion: v1
kind: Service
metadata:
  name: test-service
spec:
  selector:
    app: test-app
  ports:
  - protocol: "TCP"
    port: 6000
    targetPort: 5000
  type: LoadBalancer

---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: hello-minikube-test-app
spec:
  selector:
    matchLabels:
      app: hello-minikube-test-app
  replicas: 5
  template:
    metadata:
      labels:
        app: hello-minikube-test-app
    spec:
      containers:
      - name: hello-minikube-test-app
        image: hello-minikube
        imagePullPolicy: IfNotPresent
        ports:
        - containerPort: 5000

H。在终端中添加如下命令用于部署目的:

kubectl apply -f deployment.yaml (Press Enter)
minikube start (Press Enter)
minikube dashboard (Press Enter)

一世。执行上述命令后,您将看到您的 docker 应用程序已部署到 Kubernetes,并且 minikube 仪表板将在浏览器上打开。

输出:因此 docker 应用程序已成功部署到 Kubernetes。

Docker 应用程序部署到 Kubernetes