In Virtuozzo 6.0 running cAdvisor and OpenShift Origin/Kubernetes inside Docker inside Virtuozzo containers is supported.
cAdvisor helps to monitor Docker containers resources usage.
CPU statistics are shown correctly by cAdvisor in kernel version 042stab113 or later. Install all pending updates to use cAdvisor with Virtuozzo.
Currently cAdvisor does not fully understand multi-hierarchical cgroups, thus Container column in "Processes" section may not work as expected. This will be fixed in the next versions of cAdvisor. Alternatively containers can be searched through "Subcontainers" section.
To setup cAdvisor in Docker container, see "With Docker" paragraph cAdvisor guide.
Kubernetes helps to manage a cluster of Linux containers as a single system to accelerate development and simplify operations.
To check it out a simple Nginx application with Kubernetes can be set up in Docker container using the following instruction (skip "Prerequisites" step since Virtuozzo has beancounters-based analogue of memory cgroups in kernel).
OpenShift Origin helps to automate containers through Kubernetes. Use the following installation instruction.
With Virtuozzo, two additional steps should be done:
Origin gets incorrect container IP address (127.0.0.1) from venet0 device, and thus Origin CLI client cannot connect to the server. It can be workarounded by passing the option "--master='https://$container-ip:8443'" to Origin start command.
docker run -d --name "origin" --privileged --pid=host --net=host -v /:/rootfs:ro -v /var/run:/var/run:rw -v /sys:/sys -v /var/lib/docker:/var/lib/docker:rw -v /var/lib/origin/openshift.local.volumes:/var/lib/origin/openshift.local.volumes openshift/origin start --master='https://$container-ip:8443'
Connections on Virtuozzo 6.0 container port 8443 should be allowed:
iptables -I INPUT 5 -p tcp -m state --state NEW -m tcp --dport 8443 -j ACCEPT
The rule should be added before the final REJECT rule. "5" is an example position which suits default CentOS 7 container, but it needs to be re-checked as IPtables rules can differ.
After that a connection to the Webconsole can be established using https://$container-ip:8443/console/
For the information about application deployment procedures, see the following guide.