From 7659dc51cbc6acac8623befb93c683a1b8101b99 Mon Sep 17 00:00:00 2001 From: ByeonJungHun Date: Thu, 4 Jan 2024 12:17:23 +0900 Subject: [PATCH] =?UTF-8?q?phpipam=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 4 +++ yaml/phpipam/ca-pvc.yaml | 13 +++++++++ yaml/phpipam/cron-cm.yaml | 16 +++++++++++ yaml/phpipam/cron.yaml | 48 +++++++++++++++++++++++++++++++++ yaml/phpipam/db-pvc.yaml | 11 ++++++++ yaml/phpipam/db-service.yaml | 13 +++++++++ yaml/phpipam/db.yaml | 35 ++++++++++++++++++++++++ yaml/phpipam/logo-pvc.yaml | 14 ++++++++++ yaml/phpipam/web-service.yaml | 17 ++++++++++++ yaml/phpipam/web.yaml | 50 +++++++++++++++++++++++++++++++++++ 10 files changed, 221 insertions(+) create mode 100644 yaml/phpipam/ca-pvc.yaml create mode 100644 yaml/phpipam/cron-cm.yaml create mode 100644 yaml/phpipam/cron.yaml create mode 100644 yaml/phpipam/db-pvc.yaml create mode 100644 yaml/phpipam/db-service.yaml create mode 100644 yaml/phpipam/db.yaml create mode 100644 yaml/phpipam/logo-pvc.yaml create mode 100644 yaml/phpipam/web-service.yaml create mode 100644 yaml/phpipam/web.yaml diff --git a/README.md b/README.md index c3626c6..3d7ca99 100644 --- a/README.md +++ b/README.md @@ -22,5 +22,9 @@ ## Docker ## Yaml +#### SaaS Management Cluster에 설치된 서비스 +| Service | Image Version | Content | Official Docs | +| --- | --- | --- | --- | +| phpIPAM | v1.5.3 | [phpIPAM](./yaml/phpipam/) | [phpipam.net/documents/all-documents](https://phpipam.net/documents/all-documents/) | ## Scripts \ No newline at end of file diff --git a/yaml/phpipam/ca-pvc.yaml b/yaml/phpipam/ca-pvc.yaml new file mode 100644 index 0000000..ff16d1a --- /dev/null +++ b/yaml/phpipam/ca-pvc.yaml @@ -0,0 +1,13 @@ +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + labels: + app: phpipam-ca + name: phpipam-ca +spec: + accessModes: + - ReadWriteMany + resources: + requests: + storage: 1Gi +status: {} diff --git a/yaml/phpipam/cron-cm.yaml b/yaml/phpipam/cron-cm.yaml new file mode 100644 index 0000000..32783c3 --- /dev/null +++ b/yaml/phpipam/cron-cm.yaml @@ -0,0 +1,16 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: phpipam-crontab-setting + namespace: phpipam +data: + root: | + # do daily/weekly/monthly maintenance + # min hour day month weekday command + */15 * * * * run-parts /etc/periodic/15min + 0 * * * * run-parts /etc/periodic/hourly + 0 2 * * * run-parts /etc/periodic/daily + 0 3 * * 6 run-parts /etc/periodic/weekly + 0 5 1 * * run-parts /etc/periodic/monthly + */3 * * * * /usr/bin/php /phpipam/functions/scripts/discoveryCheck.php + */3 * * * * /usr/bin/php /phpipam/functions/scripts/pingCheck.php diff --git a/yaml/phpipam/cron.yaml b/yaml/phpipam/cron.yaml new file mode 100644 index 0000000..fd516b2 --- /dev/null +++ b/yaml/phpipam/cron.yaml @@ -0,0 +1,48 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: phpipam-cron +spec: + replicas: 1 + selector: + matchLabels: + app: phpipam-cron + strategy: + type: Recreate + template: + metadata: + labels: + app: phpipam-cron + spec: + containers: + - env: + - name: IPAM_DATABASE_HOST + value: phpipam-db + - name: IPAM_DATABASE_USER + value: root + - name: IPAM_DATABASE_PASS + value: Saasadmin1234@ + - name: IPAM_DATABASE_NAME + value: phpipam + - name: SCAN_INTERVAL + value: 3m + - name: TZ + value: Asia/Seoul + image: phpipam/phpipam-cron:latest + name: phpipam-cron + resources: {} + volumeMounts: + - mountPath: /usr/local/share/ca-certificates + name: phpipam-ca + - name: phpipam-crontab-setting + mountPath: /etc/crontabs/root + subPath: root + restartPolicy: Always + volumes: + - name: phpipam-ca + persistentVolumeClaim: + claimName: phpipam-ca + - name: phpipam-crontab-setting + configMap: + name: phpipam-crontab-setting +status: {} diff --git a/yaml/phpipam/db-pvc.yaml b/yaml/phpipam/db-pvc.yaml new file mode 100644 index 0000000..2574f7e --- /dev/null +++ b/yaml/phpipam/db-pvc.yaml @@ -0,0 +1,11 @@ +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: phpipam-db + namespace: phpipam +spec: + accessModes: + - ReadWriteMany + resources: + requests: + storage: 1Gi diff --git a/yaml/phpipam/db-service.yaml b/yaml/phpipam/db-service.yaml new file mode 100644 index 0000000..80bdf7e --- /dev/null +++ b/yaml/phpipam/db-service.yaml @@ -0,0 +1,13 @@ +apiVersion: v1 +kind: Service +metadata: + name: phpipam-db +spec: + ports: + - name: "port" + port: 3306 + targetPort: 3306 + selector: + app: phpipamdb +status: + loadBalancer: {} diff --git a/yaml/phpipam/db.yaml b/yaml/phpipam/db.yaml new file mode 100644 index 0000000..1d74287 --- /dev/null +++ b/yaml/phpipam/db.yaml @@ -0,0 +1,35 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + labels: + app: phpipamdb + name: phpipamdb + namespace: phpipam +spec: + replicas: 1 + selector: + matchLabels: + app: phpipamdb + template: + metadata: + labels: + app: phpipamdb + spec: + containers: + - env: + - name: MYSQL_ROOT_PASSWORD + value: "Saasadmin1234@" + image: mysql:5.7.43 + name: phpipam-mariadb + ports: + - containerPort: 3306 + resources: {} + securityContext: + privileged: true + volumeMounts: + - mountPath: /var/lib/mysql + name: phpipam-db + volumes: + - name: phpipam-db + persistentVolumeClaim: + claimName: phpipam-db diff --git a/yaml/phpipam/logo-pvc.yaml b/yaml/phpipam/logo-pvc.yaml new file mode 100644 index 0000000..1f6500d --- /dev/null +++ b/yaml/phpipam/logo-pvc.yaml @@ -0,0 +1,14 @@ +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + creationTimestamp: null + labels: + app: phpipam-logo + name: phpipam-logo +spec: + accessModes: + - ReadWriteMany + resources: + requests: + storage: 1Gi +status: {} diff --git a/yaml/phpipam/web-service.yaml b/yaml/phpipam/web-service.yaml new file mode 100644 index 0000000..59abee1 --- /dev/null +++ b/yaml/phpipam/web-service.yaml @@ -0,0 +1,17 @@ +apiVersion: v1 +kind: Service +metadata: + labels: + app: phpipam-web + name: phpipam-web +spec: + type: NodePort + ports: + - name: "80" + port: 80 + targetPort: 80 + nodePort: 31812 + selector: + app: phpipam-web +status: + loadBalancer: {} diff --git a/yaml/phpipam/web.yaml b/yaml/phpipam/web.yaml new file mode 100644 index 0000000..17249cf --- /dev/null +++ b/yaml/phpipam/web.yaml @@ -0,0 +1,50 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: phpipam-web +spec: + replicas: 1 + selector: + matchLabels: + app: phpipam-web + strategy: + type: Recreate + template: + metadata: + labels: + app: phpipam-web + spec: + containers: + - env: + - name: IPAM_DATABASE_HOST + value: "phpipam-db" + - name: IPAM_DATABASE_USER + value: "root" + - name: IPAM_DATABASE_PASS + value: "Saasadmin1234@" + - name: IPAM_DATABASE_WEBHOST + value: "%" + - name: IPAM_DATABASE_NAME + value: "phpipam" + - name: TZ + value: "Asia/Seoul" + image: phpipam/phpipam-www:latest + name: phpipam-web + ports: + - containerPort: 80 + resources: {} + volumeMounts: + - mountPath: /phpipam/css/images/logo + name: phpipam-logo + - mountPath: /usr/local/share/ca-certificates + name: phpipam-ca + readOnly: true + restartPolicy: Always + volumes: + - name: phpipam-logo + persistentVolumeClaim: + claimName: phpipam-logo + - name: phpipam-ca + persistentVolumeClaim: + claimName: phpipam-ca +status: {}