官术网_书友最值得收藏!

Introduction to COE

Containers provide users with an easy way to package and run their applications. Packaging involves defining the library and tools that are necessary for a user's application to run. These packages, once converted to images, can be used to create and run containers. These containers can be run anywhere, whether it's on developer laptops, QA systems, or production machines, without any change in environment. Docker and other container runtime tools provide the facility to manage the life cycle of such containers.

Using these tools, users can build and manage images, run containers, delete containers, and perform other container life cycle operations. But these tools can only manage one container on a single host. When we deploy our application on multiple containers and multiple hosts, we need some kind of automation tool. This type of automation is generally called orchestration. Orchestration tools provide a number of features, including:

  • Provisioning and managing hosts on which containers will run
  • Pulling the images from the repository and instantiating the containers
  • Managing the life cycle of containers
  • Scheduling containers on hosts based on the host's resource availability
  • Starting a new container when one dies
  • Scaling the containers to match the application's demand
  • Providing networking between containers so that they can access each other on different hosts
  • Exposing these containers as services so that they can be accessed from outside
  • Health monitoring of the containers
  • Upgrading the containers

Generally, these kinds of orchestration tools provide declarative configuration in YAML or JSON format. These definitions carry all of the information related to containers including image, networking, storage, scaling, and other things. Orchestration tools use these definitions to apply the same setting to provide the same environment every time.

There are many container orchestration tools available, such as Docker Machine, Docker Compose, Kuberenetes, Docker Swarm, and Apache Mesos, but this chapter focuses only on Docker Swarm, Apache Mesos, and Kubernetes.

主站蜘蛛池模板: 青浦区| 海口市| 浦北县| 阿拉善左旗| 松潘县| 五华县| 崇明县| 玛多县| 黄平县| 岱山县| 蛟河市| 巴青县| 衡南县| 双城市| 田林县| 北海市| 沁源县| 惠水县| 马边| 方正县| 威海市| 哈密市| 绥棱县| 芜湖市| 田林县| 景泰县| 洞头县| 苍山县| 怀宁县| 莲花县| 无极县| 杭州市| 宁阳县| 鸡西市| 绵竹市| 正阳县| 永春县| 兴和县| 曲沃县| 汽车| 同德县|