Áú»¢¶Ä²© helps you to do a real-time monitoring of millions of metrics collected from tens of thousands of servers, virtual machines and network devices. The Áú»¢¶Ä²© Operator allows users to easily deploy, manage, and maintain Áú»¢¶Ä²© deployments on OpenShift. By installing this integration you will be able to deploy Áú»¢¶Ä²© server/proxies and other components with a single command.
Áú»¢¶Ä²© Operator comes with a few possible installation options:
Currently Áú»¢¶Ä²© Operator is based on the Áú»¢¶Ä²© 6.0 LTS version and supports OpenShift 4.1, 4.2, 4.3, 4.4, 4.5, and 4.6.
The installation of Áú»¢¶Ä²© Operator using Red Hat Marketplace requires the OpenShift cluster to be registered in the Marketplace Portal, including the roll out of the PullSecret in your cluster. Failure to do so will result in an image pull authentication failure with the Red Hat registry.
1. Select the OperatorHub from the Operators submenu and search for Áú»¢¶Ä²©.
Choose the RedHat Marketplace option.
2. Select "Áú»¢¶Ä²© Operator" and click on Purchase.
Openshift needs to be registered with the Red Hat Marketplace portal.
3. Select the most suitable install option.
4. Specify the product configuration to fit your needs.
5. Navigate to your software within Red Hat Marketplace and install the Áú»¢¶Ä²© Operator software as specified in the image.
6. Install the Operator. Set the update approval strategy to Automatic to ensure that you always have the latest version of Áú»¢¶Ä²© components installed.
7. The Áú»¢¶Ä²© Operator is now installed into your specified cluster.
8. Go to Operators ¡ú Installed Operators.
9. Open the "Áú»¢¶Ä²© Operator" configuration page.
If you have installed OpenShift in AWS ensure that the requisite ports are opened for the worker nodes¡¯ security group.
1. Select OperatorHub from the Operators submenu and search for Áú»¢¶Ä²©.
2. Select Áú»¢¶Ä²© Operator and click on Install.
3. Select the installation options.
4. Go to Operators ¡ú Installed Operators.
5. Open the "Áú»¢¶Ä²© Operator" configuration page.
Some of the operands (installation options) require additional resources to be created before. The following section describes these prerequisites. All possible configuration options are available during operand deployment. For example, Áú»¢¶Ä²© proxy (MySQL):
The YAML section provides all available options with default values:
This operand has a few prerequisites:
1. An existing MySQL database entry point - a MySQL database/cluster must be created before running the "Áú»¢¶Ä²© Server" operand. For example, a standalone MySQL server with persistent volume:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: mysql-pv-claim
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 20Gi
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: mysql
spec:
selector:
matchLabels:
app: mysql
strategy:
type: Recreate
template:
metadata:
labels:
app: mysql
spec:
containers:
- image: mysql:8.0
name: mysql
args:
- mysqld
- '--character-set-server=utf8'
- '--collation-server=utf8_bin'
- '--default-authentication-plugin=mysql_native_password'
env:
# Use secret in real usage
- name: MYSQL_ROOT_PASSWORD
value: Welcome1!
ports:
- containerPort: 3306
name: mysql
volumeMounts:
- name: mysql-persistent-storage
mountPath: /var/lib/mysql
volumes:
- name: mysql-persistent-storage
persistentVolumeClaim:
claimName: mysql-pv-claim
---
apiVersion: v1
kind: Service
metadata:
name: mysql
spec:
ports:
- port: 3306
selector:
app: mysql
clusterIP: None
Please, note that Áú»¢¶Ä²© does not support a utf8_mb4 charset and default caching_sha2_password authentication plugin.
2. MySQL credentials using secret - must be secret with mysql_root_password, mysql_zabbix_username and mysql_zabbix_password data. For example:
kind: Secret
apiVersion: v1
metadata:
name: zabbix-server-secrets
data:
mysql_root_password: V2VsY29tZTEh
mysql_zabbix_password: emFiYml4X3N1cGVyIQ==
mysql_zabbix_username: emFiYml4
type: Opaque
where all fields are encoded using base64. For example:
An example of "Áú»¢¶Ä²© Server" operand configuration:
All configuration options are available using the form view, but it is possible to use the YAML view as well. For example:
Finally, the operand will create multiple pods. It is possible to examine them in the Workloads ¡ú Pods section:
The route for Áú»¢¶Ä²© web interface is located under Networking ¡ú Routes. The URL provides access to the Áú»¢¶Ä²© web interface. In the following example it is http://zabbix-server-zabbix.apps-crc.testing/
:
This operand has a few prerequisites:
1. MySQL volume claim - must be persistent volume claim. For example:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: zabbix-database
namespace: zabbix
spec:
accessModes:
- ReadWriteOnce
volumeMode: Filesystem
resources:
requests:
storage: 50Gi
2. MySQL credentials using secret - must be secret with mysql_root_password, mysql_zabbix_username and mysql_zabbix_password data. For example:
kind: Secret
apiVersion: v1
metadata:
name: zabbix-full-secrets
data:
mysql_root_password: V2VsY29tZTEh
mysql_zabbix_password: emFiYml4X3N1cGVyIQ==
mysql_zabbix_username: emFiYml4
type: Opaque
where all fields are encoded using base64. For example:
An example of "Áú»¢¶Ä²© Full" operand configuration:
All configuration options are available using the form view, but it is possible to use the YAML view as well. For example:
Finally, the operand will create multiple pods. It is possible to examine them in the Workloads ¡ú Pods section:
The route for Áú»¢¶Ä²© web interface is located under Networking ¡ú Routes. The URL provides access to the Áú»¢¶Ä²© web interface. In the following example it is http://zabbix-full-zabbix.apps-crc.testing/
:
An example of "Áú»¢¶Ä²© proxy (SQLite3)" operand configuration:
Finally, the operand will create multiple pods. It is possible to examine them in the Workloads ¡ú Pods section:
The following procedure describes how to create a new secret using Openshift Console.
1. Open the Workloads ¡ú Secrets section and switch project to the Áú»¢¶Ä²© Operator project (by default, "zabbix").
2. Create a new secret using the From YAML option.
It is possible to enable HTTPS directly in the Áú»¢¶Ä²© web interface pods. In this case create the following secret using the YAML option:
kind: Secret
apiVersion: v1
metadata:
name: zabbix-web-sslsecret
data:
ssl.crt: >-
< ssl.crt data>
ssl.key: >-
< ssl.key data >
dhparam.pem: >-
< dhparam.pem data >
The names of certificates and DH Parameters file are static. Please use the listed in the above example only!
MySQL database side:
apiVersion: v1
data:
root-ca.pem: >-
< root-ca.pem data>
server-cert.pem: >-
< server-cert.pem data>
server-key.pem: >-
< server-key.pem data>
kind: Secret
metadata:
name: zabbix-db-server-tls-secret
type: Opaque
Áú»¢¶Ä²© components side:
apiVersion: v1
data:
client-cert.pem: >-
< client-cert.pem data>
client-key.pem: >-
< client-key.pem data>
root-ca.pem: >-
< root-ca.pem data>
kind: Secret
metadata:
name: zabbix-db-client-tls-secret
type: Opaque
Certificates must include "-----BEGIN RSA PRIVATE KEY-----"
and "-----END RSA PRIVATE KEY-----"
. For example:
Then, during deployment, in the Áú»¢¶Ä²© component section and MySQL server (if using built-in server) choose the proper "TLS connection to database" option value and the "MySQL database certificates (client)" secret value.