Statement:
I read the notes, the translation of the article is only for paraphrase. If anything is wrong, please state.
Need more understanding of the source, please read English by yourself.
This blog welcome forwarding, but please keep the original author information!
Blog Address: Http://blog.csdn.net/halcyonbaby
Sina Weibo: Looking for Miracles
The content of my study, research and summary, if there is similar, it is honored!
Deploy OpenStack to atomic systems based on Docker, kubernetes
Does OpenStack service definition look very concise?
Does OpenStack's actual component composition look complicated?
All OpenStack services depend on each other, resulting in the complexity and inefficiency of service lifecycle management.
For example, OpenStack's authentication Service Keystone, it is difficult to judge whether deploying a new Keystone on an existing environment will cause compatibility issues with other services. With the present tool, it is also difficult to rollback. In fact, not just openstack, many infrastructure platforms or application platforms have similar problems.
How OpenStack life cycle management is
There are two main categories: package-based, image-based
Based on package
PXE is typically used with configuration tools such as Puppet, Chef, and Ansilbe. The package-based approach is inefficient for the following reasons:
- Differences in operating system and physical nodes
- Conflict between services during fabric (ports, file system, etc.)
- Installation speed (when large-scale deployments are installed through a network download package)
Maybe someone will mention the virtual machine + package way, but:
- The virtual machine is heavier (memory, CPU, disk occupied. Start speed)
- Virtual machines lack metadata injection means (or need additional components and agents to do this)
Based on image
Fixed the problem of slow installation, usually have the storage image, directly downloaded to the physical hardware.
However, because the image is large and image-based, the incremental update is still slow.
In addition, the IAMGE-based approach does not address the complexity of opesntack services. Just advance the problem to the build image.
In addition, OPS will want this OpenStack lifecycle management system to span bare metal, IaaS, and even PAAs.
What Atomic, Docker, Kubernetes bring
If you have an OpenStack service lifecycle management scenario, the following benefits can be created:
- Isolated, lightweight, portable, detachable
- The service relationship of the running state is easy to describe
- Easy to run, easy to update
- Manage service life cycles independent of OpenStack
This is what the Docker, atomic, and kubernetes combination solutions can offer.
Docker provides an abstraction of the Linux container and provides a mirrored format. This image format makes it easy to share and provide a hierarchical relationship between mirrors. Docker also provides a Docker repository to share Docker images. This approach is important because developers can publish portable container images that the maintainers deploy on different platforms.
Kubernetes is an open source container cluster management platform. It uses the master/minion structure to provide the container with the ability to dispatch. Developers can use declarative syntax to describe inter-container relationships and to schedule cluster management.
The atomic project provides a safe, stable, high-performance container operating environment. Atomic contains Kubernetes and Docker, and runs the user using the new software update mechanism ostree.
The plan to combine the above three is like. OpenStack developers use their familiar environment for development (LINUX/VAGRANT/LIBVIRT) and then submit a service image to the warehouse. Operations personnel will kubernetes configure the Import Lifecycle Management tool, and then start pods and services. The container image is downloaded locally and deployed to these OpenStack services. Because the service is isolated, we can deploy OpenStack services on a single machine to maximize density. In addition, there are other advantages, such as rollback, deployment, update speed and so on.
Original address:
http://allthingsopen.com/2014/10/22/ a-demonstration-of-kolla-docker-and-kubernetes-based-deployment-of-openstack-services-on-atomic/
Deploy OpenStack to atomic systems based on Docker, kubernetes