Latest

Saturday, 25 May 2019

How to Install Cockpit Web UI on CentOS 7

Install Cockpit Web UI on CentOS 7

Cockpit is a Red Hat sponsored free and open-source software project. Cockpit is a Web UI (User Interface) that facilitates management and monitoring of a Linux server through a web browser. Besides regular operating system related management tasks, it also provides support for Docker, Kubernetes and KVM.  It is very easy to start containers, administer storage, configure networks, and inspect logs via Cockpit Web UI.

In this article, we will install Cockpit Web UI on CentOS 7 server and then add support in Cockpit for managing our Kubernetes cluster, Docker and Storage.

 

Table of Contents:

 

System Specification:

We have a CentOS 7 virtual machine with following specifications.

  • Hostname - kubemaster-01.example.com
  • IP Address - 192.168.116.160/24
  • Operating System - CentOS 7.6

The above server is the master node of a Kubernetes cluster. For information about Kubernetes configuration please refer to our previous article Install Kubernetes Cluster with Docker CE on CentOS 7. To read more about Kubernetes you should read Kubernetes in Action by Marko Luksa.

Install Cockpit Web UI on CentOS 7

Installing Cockpit Web UI on CentOS 7:

Connect with kubemaster-01.example.com using ssh as root user.

Cockpit is available through EPEL (Extra Packages for Enterprise Linux) yum repository. Therefore, we have to install epel-release first.

# yum install -y epel-release

Rebuild cache of yum repositories.

# yum clean all
Loaded plugins: fastestmirror
Cleaning repos: base docker-ce-stable epel extras kubernetes updates
Cleaning up list of fastest mirrors

# yum makecache fast Loaded plugins: fastestmirror Determining fastest mirrors epel/x86_64/metalink | 7.9 kB 00:00 * base: ftp3.isra.edu.pk * epel: mirrors.nipa.cloud * extras: ftp3.isra.edu.pk * updates: ftp3.isra.edu.pk base | 3.6 kB 00:00 docker-ce-stable | 3.5 kB 00:00 epel | 4.7 kB 00:00 extras | 3.4 kB 00:00 kubernetes/signature | 454 B 00:00 kubernetes/signature | 1.4 kB 00:00 !!! updates | 3.4 kB 00:00 (1/10): base/7/x86_64/group_gz | 166 kB 00:00 (2/10): epel/x86_64/group_gz | 88 kB 00:00 (3/10): docker-ce-stable/x86_64/updateinfo | 55 B 00:01 (4/10): docker-ce-stable/x86_64/primary_db | 28 kB 00:01 (5/10): extras/7/x86_64/primary_db | 201 kB 00:01 (6/10): kubernetes/primary | 49 kB 00:01 (7/10): epel/x86_64/updateinfo | 1.0 MB 00:05 (8/10): updates/7/x86_64/primary_db | 5.0 MB 00:13 (9/10): epel/x86_64/primary_db | 6.7 MB 00:25 (10/10): base/7/x86_64/primary_db | 6.0 MB 00:28 kubernetes 351/351 Metadata Cache Created

Install cockpit using yum command.

# yum install -y cockpit

Enable and start Cockpit service.

# systemctl enable cockpit.socket
Created symlink from /etc/systemd/system/sockets.target.wants/cockpit.socket to /usr/lib/systemd/system/cockpit.socket.
# systemctl start cockpit.socket

Allow Cockpit Service in Linux firewall.

# firewall-cmd --permanent --add-service=cockpit
success
# firewall-cmd --reload
success

Browse URL https://kubemaster-01.example.com:9090/ in a client's browser. You may encounter a security certificate warning; just ignore it and continue.

01-cockpit-web-ui-login

Login as root user.

02-cockpit-system-panel

We are now at the system panel of Cockpit. We can monitor system performance here and modify a couple of settings like hostname, system time, etc.

03-cockpit-networking-panel

04-cockpit-accounts-panel

05-cockpit-services-panel

We also have some other panels here like Logs, Networking, Accounts, Services, etc. However, we are installing Cockpit to control our Kubernetes cluster from here. Therefore, we have to add required functionality in Cockpit Web UI.

Install following packages to add the Kubernetes and Docker control panels in Cockpit Web UI.

# yum install -y cockpit-docker cockpit-kubernetes

Restart Cockpit service.

# systemctl restart cockpit.socket

Cockpit Web UI will be disconnected due to restart of cockpit.service.

06-cockpit-disconnect

Click on Reconnect.

01-cockpit-web-ui-login

Login as root user.

07-cockpit-system-panel

Now you see some new controls on the right side of the console.

Click on Containers, it provides Docker related control panel.

08-cockpit-conatiners-panel

Click on Cluster to manager Kubernetes cluster.

09-cockpit-kunernetes-panel

10-cockpit-kunernetes-panel

We can add more control panels in the same way.

You may have notice that the Cockpit lacks a storage control panel. It is because Cockpit do not install Storage panel by default.

Therefore, to add Storage related control panel in Cockpit Web UI, we have to install cockpit-storaged package using yum command.

# yum install -y cockpit-storaged

Restart Cockpit service.

# systemctl restart cockpit.socket

Reconnect again to Cockpit Web UI and you may find the Storage Panel there.

11-cockpit-storage-panel

If you are installing on a KVM host then you must install cockpit-machines package to add a control panel to manage Virtual machines.

We have successfully installed Cockpit Web UI on CentOS 7 and added Docker and Kubernetes support in Cockpit.

If you find this article useful? Don't you mind support us by Buy Me A Coffee


1 comment:

© 2022 CentLinux. All Rights Reserved.