Skip to content
This repository has been archived by the owner on Feb 12, 2024. It is now read-only.

Commit

Permalink
Adjust in documentation to version 2.0.0
Browse files Browse the repository at this point in the history
  • Loading branch information
aeciopires committed May 21, 2022
1 parent 1289203 commit a33bbaa
Show file tree
Hide file tree
Showing 8 changed files with 198 additions and 66 deletions.
4 changes: 2 additions & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ git branch
```

* Make your changes and tests to the new branch.
* Run command ``helm-docs`` to update content of ``README.md`` file using the ``README.md.gotmpl`` template.
* Run command ``helm-docs`` to update content of ``README.md`` file using the ``README.md.gotmpl`` template. More info about [helm-docs](https://github.com/norwoodj/helm-docs).
* Commit the changes to the branch.
* Push files to repository remote with command:

Expand Down Expand Up @@ -104,4 +104,4 @@ Theme for VSCode:

* https://code.visualstudio.com/docs/getstarted/themes
* https://dev.to/thegeoffstevens/50-vs-code-themes-for-2020-45cc
* https://vscodethemes.com/
* https://vscodethemes.com/
2 changes: 1 addition & 1 deletion Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
apiVersion: v2
name: zabbix
version: 2.0.0
appVersion: 6.0.0
appVersion: 6.0.4
description: Zabbix is a mature and effortless enterprise-class open source monitoring solution for network monitoring and application monitoring of millions of metrics.
keywords:
- zabbix
Expand Down
105 changes: 77 additions & 28 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,16 +8,34 @@ Zabbix is a mature and effortless enterprise-class open source monitoring soluti

This Helm chart installs [Zabbix](https://www.zabbix.com) in a Kubernetes cluster.

### Important note
### Important notes

> **Break change**
> **This helm chart is still under development**
> **Break change 2.0.0**
* The version 2.0.0 has a break change.
* Will be used Postgresql 14.x and Zabbix 6.0.4.
* This version implements a central way of managing database access credentials
using a secret, which then will be respected by all the components
installed by this chart: zabbixserver, zabbixweb and postgresql.
* The secret must contain a number of keys indicating DB host, DB name,
user and password and can direct towards a database installed within
this chart, or an external database.
* The benefit of this is that now the database can respect the values
in the central DB access secret and initialize accordingly.
* Last but not least, the credential secret can be chosen to be
auto-generated (password will be set to a random string) at chart
installation, if postgresql.enabled is set to true. With this, an easy
to use "out-of-the-box" installation with as little customizations as
possible is possible, while still obtaining a good level of security.
* More info: https://github.com/cetic/helm-zabbix/pull/53

> **Break change 1.0.0**
* The version 1.0.0 has a break change.
* Will be used Postgresql 14.x and Zabbix 6.0.0.
* The installation of any component of chart is optional for easy integration with the official chart: https://git.zabbix.com/projects/ZT/repos/kubernetes-helm/
* More info: https://github.com/cetic/helm-zabbix/issues/42

> **This helm chart is still under development**
# Prerequisites

- Kubernetes cluster 1.10+
Expand Down Expand Up @@ -92,6 +110,8 @@ helm show values cetic/zabbix > $HOME/zabbix_values.yaml

Change the values according to the environment in the file ``$HOME/zabbix_values.yaml``.

See the example of installation in kind in this [tutorial](docs/example/README.md).

Test the installation/upgrade with command:

```bash
Expand All @@ -116,39 +136,75 @@ View the pods.
kubectl get pods -n monitoring
```

View the logs container of pods.
# How to access Zabbix

After deploying the chart in your cluster, you can use the following command to access the zabbix frontend service:

View informations of ``zabbix`` services.

```bash
kubectl logs -f pods/POD_NAME -n monitoring
kubectl describe services zabbix-web -n monitoring
```

See the example of installation in kind in this [tutorial](docs/example/README.md).
Listen on port 8888 locally, forwarding to 80 in the service ``APPLICATION_NAME-zabbix-web``. Example:

# Uninstallation
```bash
kubectl port-forward service/zabbix-zabbix-web 8888:80 -n monitoring
```

To uninstall/delete the ``zabbix`` deployment:
Access Zabbix:

* URL: http://localhost:8888
* Login: **Admin**
* Password: **zabbix**

# Troubleshooting

View the pods.

```bash
helm uninstall zabbix -n monitoring
kubectl get pods -n monitoring
```

# How to access Zabbix
View informations of pods.

After deploying the chart in your cluster, you can use the following command to access the zabbix frontend service:
```bash
kubectl describe pods/POD_NAME -n monitoring
```

View informations of ``zabbix`` services.
View all containers of pod.

```bash
kubectl describe services zabbix-web -n monitoring
kubectl get pods POD_NAME -n monitoring -o jsonpath='{.spec.containers[*].name}*'
```

Listen on port 8888 locally, forwarding to 80 in the service ``APPLICATION_NAME-zabbix-web``. Example:
View the logs container of pods.

```bash
kubectl port-forward service/zabbix-zabbix-web 8888:80 -n monitoring
kubectl logs -f pods/POD_NAME -c CONTAINER_NAME -n monitoring
```

Access Zabbix in http://localhost:8888. Login ``Admin`` and password ``zabbix``.
Access prompt of container.

```bash
kubectl exec -it pods/POD_NAME -c CONTAINER_NAME -n monitoring -- sh
```

View informations of service Zabbix.

```bash
kubectl get svc -n monitoring
kubectl get pods --output=wide -n monitoring
kubectl describe services zabbix -n monitoring
```

# Uninstallation

To uninstall/delete the ``zabbix`` deployment:

```bash
helm uninstall zabbix -n monitoring
```

# License

Expand Down Expand Up @@ -209,7 +265,7 @@ The following tables lists the configurable parameters of the chart and their de
| zabbixagent.image.pullPolicy | string | `"IfNotPresent"` | Pull policy of Docker image |
| zabbixagent.image.pullSecrets | list | `[]` | List of dockerconfig secrets names to use when pulling images |
| zabbixagent.image.repository | string | `"zabbix/zabbix-agent"` | Zabbix agent Docker image name. Can use zabbix/zabbix-agent or zabbix/zabbix-agent2 |
| zabbixagent.image.tag | string | `"ubuntu-6.0.0"` | Tag of Docker image of Zabbix agent |
| zabbixagent.image.tag | string | `"ubuntu-6.0.4"` | Tag of Docker image of Zabbix agent |
| zabbixagent.resources | object | `{}` | |
| zabbixagent.service.annotations | object | `{}` | Annotations for the zabbix-agent service |
| zabbixagent.service.clusterIP | string | `nil` | Cluster IP for Zabbix agent |
Expand All @@ -226,28 +282,21 @@ The following tables lists the configurable parameters of the chart and their de
| zabbixproxy.image.pullPolicy | string | `"IfNotPresent"` | Pull policy of Docker image |
| zabbixproxy.image.pullSecrets | list | `[]` | List of dockerconfig secrets names to use when pulling images |
| zabbixproxy.image.repository | string | `"zabbix/zabbix-proxy-sqlite3"` | Zabbix proxy Docker image name |
| zabbixproxy.image.tag | string | `"ubuntu-6.0.0"` | Tag of Docker image of Zabbix proxy |
| zabbixproxy.image.tag | string | `"ubuntu-6.0.4"` | Tag of Docker image of Zabbix proxy |
| zabbixproxy.replicaCount | int | `1` | Number of replicas of ``zabbixproxy`` module |
| zabbixproxy.resources | object | `{}` | |
| zabbixproxy.service.annotations | object | `{}` | Annotations for the zabbix-proxy service |
| zabbixproxy.service.clusterIP | string | `nil` | Cluster IP for Zabbix proxy |
| zabbixproxy.service.port | int | `10051` | Port to expose service |
| zabbixproxy.service.type | string | `"ClusterIP"` | Type of service for Zabbix proxy |
| zabbixserver.DB_SERVER_HOST | string | `"zabbix-postgresql"` | Address of database host |
| zabbixserver.DB_SERVER_PORT | string | `"5432"` | Port of database host |
| zabbixserver.POSTGRES_DB | string | `"zabbix"` | Name of database |
| zabbixserver.POSTGRES_PASSWORD | string | `"zabbix"` | Password of database |
| zabbixserver.POSTGRES_PASSWORD_SECRET | string | `""` | Name of the secret used for Postgres Password, if set, it overrules the POSTGRES_PASSWORD value |
| zabbixserver.POSTGRES_PASSWORD_SECRET_KEY | string | `"password"` | Key of the secret used for Postgres Password, requires POSTGRES_PASSWORD_SECRET, defaults to password |
| zabbixserver.POSTGRES_USER | string | `"zabbix"` | User of database |
| zabbixserver.enabled | bool | `true` | Enables use of **Zabbix Server** |
| zabbixserver.extraEnv | list | `[]` | Extra environment variables. A list of additional environment variables. See example: https://github.com/cetic/helm-zabbix/blob/master/docs/example/kind/values.yaml |
| zabbixserver.hostIP | string | `"0.0.0.0"` | optional set hostIP different from 0.0.0.0 to open port only on this IP |
| zabbixserver.hostPort | bool | `false` | optional set true open a port direct on node where zabbix server runs |
| zabbixserver.image.pullPolicy | string | `"IfNotPresent"` | Pull policy of Docker image |
| zabbixserver.image.pullSecrets | list | `[]` | List of dockerconfig secrets names to use when pulling images |
| zabbixserver.image.repository | string | `"zabbix/zabbix-server-pgsql"` | Zabbix server Docker image name |
| zabbixserver.image.tag | string | `"ubuntu-6.0.0"` | Tag of Docker image of Zabbix server |
| zabbixserver.image.tag | string | `"ubuntu-6.0.4"` | Tag of Docker image of Zabbix server |
| zabbixserver.replicaCount | int | `1` | Number of replicas of ``zabbixserver`` module |
| zabbixserver.resources | object | `{}` | |
| zabbixserver.service | object | `{"annotations":{},"clusterIP":null,"nodePort":31051,"port":10051,"type":"ClusterIP"}` | Name of database POSTGRES_DB: "zabbix" |
Expand All @@ -261,7 +310,7 @@ The following tables lists the configurable parameters of the chart and their de
| zabbixweb.image.pullPolicy | string | `"IfNotPresent"` | Pull policy of Docker image |
| zabbixweb.image.pullSecrets | list | `[]` | List of dockerconfig secrets names to use when pulling images |
| zabbixweb.image.repository | string | `"zabbix/zabbix-web-apache-pgsql"` | Zabbix web Docker image name |
| zabbixweb.image.tag | string | `"ubuntu-6.0.0"` | Tag of Docker image of Zabbix web |
| zabbixweb.image.tag | string | `"ubuntu-6.0.4"` | Tag of Docker image of Zabbix web |
| zabbixweb.resources | object | `{}` | |
| zabbixweb.service | object | `{"annotations":{},"clusterIP":null,"port":80,"type":"NodePort"}` | Name of database POSTGRES_DB: zabbix |
| zabbixweb.service.annotations | object | `{}` | Annotations for the zabbix-web service |
Expand Down
90 changes: 73 additions & 17 deletions README.md.gotmpl
Original file line number Diff line number Diff line change
Expand Up @@ -8,16 +8,34 @@

This Helm chart installs [Zabbix](https://www.zabbix.com) in a Kubernetes cluster.

### Important note
### Important notes

> **Break change**
> **This helm chart is still under development**

> **Break change 2.0.0**
* The version 2.0.0 has a break change.
* Will be used Postgresql 14.x and Zabbix 6.0.4.
* This version implements a central way of managing database access credentials
using a secret, which then will be respected by all the components
installed by this chart: zabbixserver, zabbixweb and postgresql.
* The secret must contain a number of keys indicating DB host, DB name,
user and password and can direct towards a database installed within
this chart, or an external database.
* The benefit of this is that now the database can respect the values
in the central DB access secret and initialize accordingly.
* Last but not least, the credential secret can be chosen to be
auto-generated (password will be set to a random string) at chart
installation, if postgresql.enabled is set to true. With this, an easy
to use "out-of-the-box" installation with as little customizations as
possible is possible, while still obtaining a good level of security.
* More info: https://github.com/cetic/helm-zabbix/pull/53

> **Break change 1.0.0**
* The version 1.0.0 has a break change.
* Will be used Postgresql 14.x and Zabbix 6.0.0.
* The installation of any component of chart is optional for easy integration with the official chart: https://git.zabbix.com/projects/ZT/repos/kubernetes-helm/
* More info: https://github.com/cetic/helm-zabbix/issues/42

> **This helm chart is still under development**

# Prerequisites

- Kubernetes cluster 1.10+
Expand Down Expand Up @@ -92,6 +110,8 @@ helm show values cetic/zabbix > $HOME/zabbix_values.yaml

Change the values according to the environment in the file ``$HOME/zabbix_values.yaml``.

See the example of installation in kind in this [tutorial](docs/example/README.md).

Test the installation/upgrade with command:

```bash
Expand All @@ -116,39 +136,75 @@ View the pods.
kubectl get pods -n monitoring
```

View the logs container of pods.
# How to access Zabbix

After deploying the chart in your cluster, you can use the following command to access the zabbix frontend service:

View informations of ``zabbix`` services.

```bash
kubectl logs -f pods/POD_NAME -n monitoring
kubectl describe services zabbix-web -n monitoring
```

See the example of installation in kind in this [tutorial](docs/example/README.md).
Listen on port 8888 locally, forwarding to 80 in the service ``APPLICATION_NAME-zabbix-web``. Example:

# Uninstallation
```bash
kubectl port-forward service/zabbix-zabbix-web 8888:80 -n monitoring
```

To uninstall/delete the ``zabbix`` deployment:
Access Zabbix:

* URL: http://localhost:8888
* Login: **Admin**
* Password: **zabbix**

# Troubleshooting

View the pods.

```bash
helm uninstall zabbix -n monitoring
kubectl get pods -n monitoring
```

# How to access Zabbix
View informations of pods.

After deploying the chart in your cluster, you can use the following command to access the zabbix frontend service:
```bash
kubectl describe pods/POD_NAME -n monitoring
```

View informations of ``zabbix`` services.
View all containers of pod.

```bash
kubectl describe services zabbix-web -n monitoring
kubectl get pods POD_NAME -n monitoring -o jsonpath='{.spec.containers[*].name}*'
```

Listen on port 8888 locally, forwarding to 80 in the service ``APPLICATION_NAME-zabbix-web``. Example:
View the logs container of pods.

```bash
kubectl port-forward service/zabbix-zabbix-web 8888:80 -n monitoring
kubectl logs -f pods/POD_NAME -c CONTAINER_NAME -n monitoring
```

Access Zabbix in http://localhost:8888. Login ``Admin`` and password ``zabbix``.
Access prompt of container.

```bash
kubectl exec -it pods/POD_NAME -c CONTAINER_NAME -n monitoring -- sh
```

View informations of service Zabbix.

```bash
kubectl get svc -n monitoring
kubectl get pods --output=wide -n monitoring
kubectl describe services zabbix -n monitoring
```

# Uninstallation

To uninstall/delete the ``zabbix`` deployment:

```bash
helm uninstall zabbix -n monitoring
```

# License

Expand Down
Loading

0 comments on commit a33bbaa

Please sign in to comment.