A container is a package consisting of the application, its dependencies, libraries, and configuration. It is a method of virtualizing the OS layer and is often used to isolate an application into its modular pieces of software. Containers are not virtual machines. Containers are a lighter weight solution than VMs as they share the kernel of the underlying OS.
Containers run on container management software, such as the Docker Engine, and are commonly managed using a container management (or orchestration) solution such as Kubernetes.
The following are examples of the container services that BMC Helix Discovery can discover:
- Software Container
- Docker—In-depth technical information on the patterns used to discover Docker is available in Configipedia.
- AIX WPARs
- Container Management Solutions
- Kubernetes—In-depth technical information on the patterns used to discover Kubernetes is available in Configipedia.
- Docker Swarm
- Containers in the Cloud
- AWS ECS – Introduced in the April 2018 product content update.
Discovery of software containers
Container management software was previously discovered and modeled as SIs using TKU patterns. BMC Helix Discovery discovers the containers that the management software controls. Discovery of containers is triggered by the creation or update of an SI representing the container management software, and then additional patterns query the container management software to determine the containers that it is running.
Permissions required for discovery
The patterns use the permissions of the account used to access the host; no other credentials are required for discovery of software containers and their management solutions.
For example, to discover Docker containers, the user account used to access the host must have either root privileges (sudo), or must be a member of the Docker group. To fully discover Kubernetes, the user account used must be able to access the cluster and the contexts that you want to discover. Setting the required permissions required is described here.
Modeling software containers
When the additional patterns query the container management software, they return the containers that the software is running. The containers are modeled as software containers and the management software as an SI.
Container Management Solutions
Container Management Solutions are discovered and modeled as deployment nodes.
The following image shows an example of discovered software containers and the associated infrastructure.
The visualization is focused on a host node, which is running Docker, and represented by an SI. The software containers are shown in a collection, that has relationships to the Docker SI and the host on which it runs. Also running on the host is a Kubernetes cluster that contains a number of deployments.