'Portainer' review that allows you to manage Docker containers and Kubernetes clusters with GUI



' Portainer ' is software that allows you to start Docker containers, manage images, and deploy applications to Kubernetes clusters using a GUI. It seemed easy to manage Docker and Kubernetes, so I tried using the free community version.

Portainer | Open Source Container Management GUI for Kubernetes, Docker, Swarm

https://www.portainer.io/

Documentation
https://documentation.portainer.io/

◆ Docker
First, in an environment where Docker can be used, execute the following command to start the Portainer container. This time, I used a WSL environment with Docker Desktop as the back end.
[code] $ docker volume create portainer_data [/ code]


[code] $ docker run -d -p 8000: 8000 -p 9000: 9000 --name = portainer --restart = always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data : / data portainer / portainer-ce [/ code]



If you access 'http: // (IP address of the host that started Portainer): 9000' with a browser, the account setting screen will be displayed. Enter your user name and password and click 'Create user'.



Then select the platform to manage. This time, select 'Docker' and click 'Connect'.



A dashboard appeared, displaying container and image information. Portainer uses the

Docker Engine API to operate the Docker daemon and get the status.



With 'App Templates', you can easily start a container from the list of services you want to use. This time I will start the NGINX container.



Select the container name and the network to connect to and click 'Deploy the container'.



The container has started.



You can operate the container and get the status from each button of 'Quick actions'.



You can check the container log by clicking the log button on the far left.



You can check the detailed information of the container with the button marked with 'i'.



Click the button on the graph to see the status such as container memory and CPU usage in the graph. You can also see the processes in the container on this screen.



The button on the far right allows you to connect to the container's terminal and perform command operations.



From the 'Images' tab, you can get the container image from the container registry and check the acquired image on the host.



Check the container network on the 'Networks' tab ...



You can also check the volume of the container on the Volumes tab.



To add a Portainer user, enter your username and password on the Users tab and click Create user.



You can create teams from the 'Teams' tab, but since there is a charge for the 'Roles' function that allows you to limit the operations allowed and viewable information for each user or team, create it if you use Portainer for free. It may not make sense.



To add a Docker host managed by Portainer, go to the 'Endpoints' tab and click 'Add endpoint'.



Enable the Docker Engine API via TCP on the host side in advance, enter the endpoint name, host IP address, and port, and click 'Add endpoint'.



With this feeling, I was able to add a managed host.



You can also see that the host has been added in the dashboard.



To make the Docker Engine API available via TCP, add the following description to '/ etc / default / docker' on the host. Since the Docker Engine API is an API that allows you to operate the Docker daemon remotely, it is recommended to use it together with TLS.

[code] DOCKER_OPTS = '-H tcp: //0.0.0.0:2375' [/ code]



◆ Kubernetes
Portainer can also manage Kubernetes clusters. This time, I will build a cluster on

Google Kubernetes Engine and deploy Portainer.



Execute the following command with gcloud in a state where cluster management by kubectl is possible from the outside. Deploy Portainer to the cluster based on the configuration file.

[code] $ kubectl create namespace portainer
$ kubectl apply -n portainer -f https://raw.githubusercontent.com/portainer/k8s/master/deploy/manifests/portainer/portainer.yaml [/ code]



Create

Ingress so that Portainer can be accessed from the outside.



Since this is a test, I set all access to Portainer for the time being.



If you access the IP address that is the front end of Ingress, the Portainer screen will be displayed.



After creating an account in the same way as for Docker, select 'Kubernetes' as the platform and click 'Connect'.



Like this, the local Kubernetes cluster will be displayed on the endpoint, so click it.


The dashboard is displayed. Items such as 'Resource pools' and 'Applications' that are different from those for managing Docker are provided.



'Resource pools' is used when sharing one Kubernetes cluster with multiple teams. To create a new resource pool, click Add resource pools from the Resource pools tab.



Enter the name of the resource pool and set the resource limit of the cluster that can use the resource pool in 'Resource limits'. You can create a resource pool by clicking Create resource pool.



To deploy the application to the cluster, click Add applications from the Applications tab.



Specify the application name, container image, and resource pool to deploy. You can also specify environment variables, settings, etc. if desired.



In 'Resource reservations', specify the upper limit of resources that can be used by the application.



Click 'Deploy application' when the settings are complete. This completes the application deployment.



As you can see in the image, the NGINX container is running on a single node. Click the application name ...



It is possible to check the details of the application.



With the 'Actions' button at the bottom, you can check the log and connect to the terminal in the same way as for Docker.



You can also check applications other than those deployed with Portainer by checking 'Show system resources' in 'Tables settings' on the application list screen.



To check the configuration settings, tab 'Configurations'



Check the volume of the cluster on the 'Volumes' tab ...



You can also check the status of the cluster and the list of worker nodes on the Cluster tab.



In addition, the paid version of 'Portainer Bussiness' that can use additional functions and support is a subscription system whose price varies depending on the number of nodes and support quality, and the price can be estimated on the following page.

Simple node-based pricing | Portainer Business
https://www.portainer.io/products/portainer-business-pricing

in Review,   Software,   Web Service, Posted by darkhorse_log