专栏首页VVcblogDocker 基础知识 - 在生产环境中运行您的应用 - 编排概述

Docker 基础知识 - 在生产环境中运行您的应用 - 编排概述

容器化流程的可移植性和可再现性意味着我们有机会跨云和数据中心移动和缩放我们的容器化应用程序。容器有效地保证了这些应用程序在任何地方都以相同的方式运行,从而使我们能够快速、轻松地利用所有这些环境。此外,随着应用程序规模的扩大,我们需要一些工具来帮助自动化这些应用程序的维护,能够自动替换失败的容器,并在这些容器的生命周期中管理更新和配置的上线。

管理、缩放和维护容器化应用程序的工具称为编排器,其中最常见的例子是 KubernetesDocker Swarm。这两种编排器的开发环境部署都由 Docker Desktop 提供,我们将在本指南中使用它来创建我们的第一个编排的容器化应用程序。

高级模块教你如何:

  1. 在您的开发机上设置和使用 Kubernetes 环境
  2. 在您的开发机上设置和使用 Swarm 环境

启用 Kubernetes

Docker Desktop 将为您快速轻松地设置 Kubernetes。按照适用于您的操作系统的设置和验证说明进行操作:

§Windows 系统

  1. 安装 Docker Desktop 后,您应该会在系统托盘中看到 Docker 图标。右键单击它,然后导航到 Settings > Kubernetes
  2. 选中标签为 Enable Kubernetes 的复选框,然后点击 Apply & Restart。Docker Desktop 会自动为您设置 Kubernetes。当您看到设置菜单中“Kubernetes running”旁边的绿灯时,说明 Kubernetes 已经成功启用。

译者注: 如果看不到 Kubernetes 项,请右键单击系统托盘图标,选择 “Switch to Linux containers...” 后,再次导航到 Settings > Kubernetes 查看。

  1. 为了确认 Kubernetes 已经启动并正在运行,创建一个名为 pod.yaml 的文本文件,包含以下内容: apiVersion: v1 kind: Pod metadata: name: demo spec: containers: - name: testpod image: alpine:3.5 command: ["ping", "8.8.8.8"] 这描述了一个带有单个容器的 pod,隔离一个简单的 ping 到 “8.8.8.8”。
  2. 在 PowerShell 中,导航到您创建 pod.yaml 的目录,并创建 pod: kubectl apply -f pod.yaml
  3. 检查 pod 是否已启动并运行: kubectl get pods 你应该会看到这样的输出: NAME READY STATUS RESTARTS AGE demo 1/1 Running 0 4s
  4. 检查是否获得了您期望的 ping 进程的日志: kubectl logs demo 您应该可以看到正常 ping 进程的输出: PING 8.8.8.8 (8.8.8.8): 56 data bytes 64 bytes from 8.8.8.8: seq=0 ttl=37 time=21.393 ms 64 bytes from 8.8.8.8: seq=1 ttl=37 time=15.320 ms 64 bytes from 8.8.8.8: seq=2 ttl=37 time=11.111 ms ...
  5. 最后,拆除测试 pod: kubectl delete -f pod.yaml

§Mac 系统

与 Windows 类似,具体请参看 https://docs.docker.com/get-started/orchestration/#kubeosx

启用 Docker Swarm

Docker Desktop 主要运行在 Docker 引擎上,它内置了运行 Swarm 所需的一切。按照适用于您的操作系统的设置和验证说明进行操作:

§Windows 系统

  1. 打开 powershell, 初始化 Docker Swarm 模式: docker swarm init 如果一切顺利,您应该会看到类似如下的消息: Swarm initialized: current node (tjjggogqpnpj2phbfbz8jd5oq) is now a manager. To add a worker to this swarm, run the following command: docker swarm join --token SWMTKN-1-3e0hh0jd5t4yjg209f4g5qpowbsczfahv2dea9a1ay2l8787cf-2h4ly330d0j917ocvzw30j5x9 192.168.65.3:2377 To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.
  2. 运行一个简单的 Docker 服务,使用基于 alpin 的文件系统,并隔离一个 ping 到 8.8.8.8: docker service create --name demo alpine:3.5 ping 8.8.8.8
  3. 检查您的服务是否创建了一个正在运行的容器: docker service ps demo 你应该会看到这样的输出: ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS 463j2s3y4b5o demo.1 alpine:3.5 docker-desktop Running Running 8 seconds ago
  4. 检查是否获得了您期望的 ping 进程的日志: docker service logs demo 您应该可以看到正常 ping 进程的输出: demo.1.463j2s3y4b5o@docker-desktop | PING 8.8.8.8 (8.8.8.8): 56 data bytes demo.1.463j2s3y4b5o@docker-desktop | 64 bytes from 8.8.8.8: seq=0 ttl=37 time=13.005 ms demo.1.463j2s3y4b5o@docker-desktop | 64 bytes from 8.8.8.8: seq=1 ttl=37 time=13.847 ms demo.1.463j2s3y4b5o@docker-desktop | 64 bytes from 8.8.8.8: seq=2 ttl=37 time=41.296 ms ...
  5. 最后,拆除测试服务: docker service rm demo

§Mac 系统

与 Windows 类似,具体请参看 https://docs.docker.com/get-started/orchestration/#swarmosx

结论

至此,您已经确认可以在 Kubernetes 和 Swarm 中运行简单的容器化工作负载。下一步是编写 Kubernetes yaml,描述如何在 Kubernetes 上运行和管理这些容器。

关于部署到 Kubernetes >>

要了解如何编写堆栈文件(stack file)来帮助您在 Swarm 上运行和管理容器,请参阅 部署到 To Swarm

CLI 参考文献

本文中使用的所有 CLI 命令的进一步文档可以在这里找到:

原文链接:https://www.cnblogs.com/ittranslator/p/13462874.html#windows-%E7%B3%BB%E7%BB%9F-1

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 云编排技术:探索您的选择

    最近 IT 行业有很多围绕云编排的议论,而且许多人想知道云编排到底是怎么回事。本文将探索云编排的概念,以及它将如何融入云计算的大发展趋势中。我将分析各种编排工...

    shaonbean
  • DevOps之旅:12种工具推荐+实施策略一篇搞定!

    近年来,DevOps作为一种强大的软件开发和交付过程,受到前所未有的欢迎。正如我们之前讨论的那样,DevOps本质上是IT中两个最重要的垂直领域(开发和运维)的...

    用户6543014
  • ASP.NET Core使用Docker-Compose实现多容器应用部署

    ASP.NET Core使用Docker-Compose容器编排实现多容器应用部署

    跟着阿笨一起玩NET
  • Docker小白入门建议及基本原理介绍

    本篇文章是作为新手入门的引入文章,介绍了学习docker应该掌握的内容、docker的基本概念和基本原理。

    w9
  • 容器技术,还处在起点阶段

    容器,Docker,Kubernetes,这些技术已经被使用了四年左右。有些人甚至开始认为这项技术已经成熟了!但我强烈认为,容器基础设施的实现还处于一个成长的阶...

    StoneDemo
  • 一起使用Kubernetes和Docker的优点

    您可能会听到很多关于Kubernetes和Docker的信息 -您可能想知道哪一个更好。

    February
  • 5步实现规模化的Kubernetes CI/CD 流水线

    在近几年,Kubernetes迅速成为了容器编排的事实上的开源标准。与虚拟机不同,Kubernetes在抽象化基础架构的同时可靠地大规模编排容器,这可以帮助开发...

    JFrog杰蛙科技
  • Docker的企业级部署

    Docker现在十分热门。这个开源项目向全世界展示了软件容器化的力量。引用维基百科的话,“Docker使用Linux内核的资源隔离功能,允许独立的容器在一个Li...

    Nikoace
  • Docker 基础知识-编排-在开发机上设置和使用 Kubernetes 环境

    既然我们已经演示了应用程序的各个组件作为独立容器运行,那么现在就可以安排它们由类似 Kubernetes 的编排器管理了。Kubernetes 提供了许多缩放、...

    用户8803964
  • Kubernetes vs. Docker Swarm:完整的比较指南

    有无数的辩论和讨论谈论Kubernetes和Docker。如果你没有深入研究,你会认为这两种开源技术都在争夺集装箱至上。让我们明确指出,Kubernetes和D...

    用户3382876
  • Kubernetes VS Docker | 结局意想不到!

    Kubernetes vs Docker是云计算行业中多次提到的话题。无论您是否有技术背景,需要快速介绍,还是需要做出业务决策,我希望以下几点将一次性澄清这一问...

    xcbeyond
  • 分布式系统发展史

    分布式系统从最早的数据共享需求,发展到现在的 serverless 架构。它伴随着技术的发展与公司实际需求变化而演进。现在的云服务提供商简化了分布式系统开发的复...

    技术zhai
  • 「第一部:容器和Docker」(3) Docker相关术语

    本节列出了在深入了解Docker之前应该熟悉的术语和定义。更多定义,请参阅Docker提供的扩展词汇表。

    首席架构师智库
  • 容器只是一个起点

    容器,Docker,Kubernetes已经出现有四年了。以致于有些人甚至认为这项技术是成熟的!但是,我强烈认为,容器基础设施的构造任然处于成长阶段。

    Techeek
  • 不知道这些,你以为你还能devops?

    在DevOps之前,从业人员使用瀑布模型或敏捷开发模型进行软件项目开发:瀑布模型或顺序模型是软件开发生命周期(SDLC)中的一种开创性方法,在这个模型中,软件开...

    cloudskyme
  • 从 MAX 网站中获取模型,一秒开始你的深度学习应用

    您是否想过对图像进行分类、识别图像中的人脸或位置、处理自然语言或文本,或者根据应用程序中的时间序列数据创建推荐? 通过深度学习(使用深度神经网络的机器学习),你...

    AI研习社
  • 如何在企业中部署Docker

    微服务组成的原生云应用程序,Docker通常是核心,因为它提供了构建,运输和运行Linux容器的绝佳方式。

    Techeek
  • CentOS Docker 安装

    Docker 是一个开源的应用容器引擎,基于Go语言并遵从Apache2.0协议开源。

    子润先生
  • 在 Kubernetes 上使用 Spinnaker 构建部署流水线

    Spinnaker 是一种持续交付平台,最初由 Netflix 开发,用于快速、可靠地发布软件更改。Spinnaker 使开发人员可以更轻松地专注于编写代码,而...

    我是阳明

扫码关注云+社区

领取腾讯云代金券