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

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.

主站蜘蛛池模板: 思茅市| 漳平市| 新巴尔虎右旗| 元谋县| 安多县| 奉节县| 丰城市| 尼勒克县| 上林县| 临猗县| 永川市| 望江县| 岫岩| 瑞昌市| 阿鲁科尔沁旗| 中山市| 霍州市| 象州县| 巴里| 凤翔县| 文水县| 延寿县| 龙山县| 望谟县| 永德县| 敦煌市| 方山县| 吉林省| 清丰县| 高陵县| 宝鸡市| 靖宇县| 专栏| 依兰县| 苏尼特左旗| 东明县| 盐津县| 佛学| 安西县| 扶沟县| 界首市|