Skip to content

Commit 2620932

Browse files
committed
monitor support
1 parent 4dfa6b4 commit 2620932

File tree

7 files changed

+427
-140
lines changed

7 files changed

+427
-140
lines changed

Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ operator-yaml: operator-image
3434
cp jq-template.awk platforms/kubernetes/postgres-operator/deploy/jq-template.awk
3535
cd platforms/kubernetes/postgres-operator/deploy/; awk -f jq-template.awk postgres-operator.yaml.template > postgres-operator.yaml
3636
exporter-image:
37+
cp exporterversions.json image/exporter/versions.json
3738
cd image/exporter; ./generate_image.sh
3839

3940
format:

exporterversions.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"image": "radondb-postgres-exporter:v0.9.0"
3+
}

image/postgresql/Dockerfile.template

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ RUN set -eux; \
114114
sed -i 's/deb.debian.org/mirrors.aliyun.com/g' /etc/apt/sources.list; \
115115
sed -i 's/security.debian.org/mirrors.aliyun.com/g' /etc/apt/sources.list; \
116116
apt update; \
117-
apt install -y --no-install-recommends vim sysstat inetutils-ping procps net-tools ssh sshpass ; \
117+
apt install -y --no-install-recommends vim sysstat inetutils-ping procps net-tools ssh sshpass curl ; \
118118
apt install -y --no-install-recommends gosu locales ; \
119119
localedef -i en_US -c -f UTF-8 -A /usr/share/locale/locale.alias en_US.UTF-8 ; \
120120
apt-get clean; \

platforms/kubernetes/postgres-operator/deploy/postgres-operator.yaml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,28 @@ spec:
9999
enum:
100100
- true
101101
- false
102+
volume_type:
103+
type: string
104+
enum:
105+
- 'local'
106+
- 'cloud'
107+
antiaffinity:
108+
type: object
109+
x-kubernetes-preserve-unknown-fields: true
110+
properties:
111+
policy:
112+
type: string
113+
enum:
114+
- 'preferred'
115+
- 'required'
116+
podAntiAffinityTerm:
117+
type: string
118+
enum:
119+
- 'none'
120+
- 'autofailover-readwrite'
121+
- 'autofailover-readwrite-readonly'
122+
topologyKey:
123+
type: string
102124
services:
103125
type: array
104126
items:

platforms/kubernetes/postgres-operator/deploy/postgresql.yaml

Lines changed: 33 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,14 @@ spec:
1212
podAntiAffinityTerm: autofailover-readwrite # none/autofailover-readwrite/autofailover-readwrite-readonly
1313
topologyKey: "kubernetes.io/hostname" # when policy is required, only allow "kubernetes.io/hostname"
1414
services:
15+
- selector: autofailover # autofailover/primary/standby/readonly/standby-readonly
16+
metadata:
17+
name: autofailover
18+
spec:
19+
type: ClusterIP
20+
ports:
21+
- name: exporter # cant' change the name
22+
port: 9187 #targetPort: 9187
1523
- selector: primary # autofailover/primary/standby/readonly/standby-readonly
1624
metadata:
1725
name: readwrite
@@ -20,6 +28,8 @@ spec:
2028
ports:
2129
- name: prime # cant' change the name
2230
port: 5432
31+
- name: exporter # cant' change the name
32+
port: 9187
2333
- selector: standby-readonly
2434
metadata:
2535
name: standby-readonly
@@ -28,6 +38,8 @@ spec:
2838
ports:
2939
- name: prime # cant' change the name
3040
port: 5432
41+
- name: exporter # cant' change the name
42+
port: 9187
3143
autofailover:
3244
hbas:
3345
- host all all all md5
@@ -46,6 +58,13 @@ spec:
4658
limits:
4759
memory: "200Mi"
4860
cpu: "0.2"
61+
- image: radondb-postgres-exporter:v0.9.0
62+
imagePullPolicy: IfNotPresent
63+
name: exporter # can't change the name
64+
resources:
65+
limits:
66+
memory: "100Mi"
67+
cpu: "0.1"
4968
volumeClaimTemplates:
5069
- metadata:
5170
name: data
@@ -59,9 +78,6 @@ spec:
5978
admin:
6079
- name: root
6180
password: root
62-
maintenance:
63-
- name: maintenance
64-
password: maintenance
6581
normal:
6682
- name: lzzhang
6783
password: lzzhang
@@ -87,6 +103,13 @@ spec:
87103
limits:
88104
memory: "200Mi"
89105
cpu: "0.2"
106+
- image: radondb-postgres-exporter:v0.9.0
107+
imagePullPolicy: IfNotPresent
108+
name: exporter # can't change the name
109+
resources:
110+
limits:
111+
memory: "100Mi"
112+
cpu: "0.1"
90113
volumeClaimTemplates:
91114
- metadata:
92115
name: data
@@ -111,6 +134,13 @@ spec:
111134
limits:
112135
memory: "200Mi"
113136
cpu: "0.2"
137+
- image: radondb-postgres-exporter:v0.9.0
138+
imagePullPolicy: IfNotPresent
139+
name: exporter # can't change the name
140+
resources:
141+
limits:
142+
memory: "100Mi"
143+
cpu: "0.1"
114144
volumeClaimTemplates:
115145
- metadata:
116146
name: data

platforms/kubernetes/postgres-operator/postgres/constants.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,9 @@
1919
CONTAINERS = "containers"
2020
CONTAINER_NAME = "name"
2121
PODSPEC_CONTAINERS_POSTGRESQL_CONTAINER = "postgresql"
22+
PODSPEC_CONTAINERS_EXPORTER_CONTAINER = "exporter"
2223
PRIME_SERVICE_PORT_NAME = "prime"
24+
EXPORTER_SERVICE_PORT_NAME = "exporter"
2325
HBAS = "hbas"
2426
CONFIGS = "configs"
2527
REPLICAS = "replicas"
@@ -142,6 +144,13 @@
142144
- ./pgenv
143145
command:
144146
- auto_failover
147+
%s:
148+
container_name: %s
149+
image: ${exporterimage}
150+
network_mode: host
151+
restart: always
152+
env_file:
153+
- ./exporterenv
145154
'''
146155

147156
# .env
@@ -150,10 +159,12 @@
150159
image={0}
151160
host_name={1}
152161
pgdata={2}
162+
exporterimage={3}
153163
'''
154164

155165
# env_file
156166
DOCKER_COMPOSE_ENVFILE = "pgenv"
167+
DOCKER_COMPOSE_EXPORTER_ENVFILE = "exporterenv"
157168

158169
# docker-compose data dirctory
159170
DOCKER_COMPOSE_DIR = "docker_compose"

0 commit comments

Comments
 (0)