phpipam 추가
This commit is contained in:
@@ -22,5 +22,9 @@
|
|||||||
## Docker
|
## Docker
|
||||||
|
|
||||||
## Yaml
|
## 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
|
## Scripts
|
||||||
13
yaml/phpipam/ca-pvc.yaml
Normal file
13
yaml/phpipam/ca-pvc.yaml
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolumeClaim
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: phpipam-ca
|
||||||
|
name: phpipam-ca
|
||||||
|
spec:
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteMany
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: 1Gi
|
||||||
|
status: {}
|
||||||
16
yaml/phpipam/cron-cm.yaml
Normal file
16
yaml/phpipam/cron-cm.yaml
Normal file
@@ -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
|
||||||
48
yaml/phpipam/cron.yaml
Normal file
48
yaml/phpipam/cron.yaml
Normal file
@@ -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: {}
|
||||||
11
yaml/phpipam/db-pvc.yaml
Normal file
11
yaml/phpipam/db-pvc.yaml
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolumeClaim
|
||||||
|
metadata:
|
||||||
|
name: phpipam-db
|
||||||
|
namespace: phpipam
|
||||||
|
spec:
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteMany
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: 1Gi
|
||||||
13
yaml/phpipam/db-service.yaml
Normal file
13
yaml/phpipam/db-service.yaml
Normal file
@@ -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: {}
|
||||||
35
yaml/phpipam/db.yaml
Normal file
35
yaml/phpipam/db.yaml
Normal file
@@ -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
|
||||||
14
yaml/phpipam/logo-pvc.yaml
Normal file
14
yaml/phpipam/logo-pvc.yaml
Normal file
@@ -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: {}
|
||||||
17
yaml/phpipam/web-service.yaml
Normal file
17
yaml/phpipam/web-service.yaml
Normal file
@@ -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: {}
|
||||||
50
yaml/phpipam/web.yaml
Normal file
50
yaml/phpipam/web.yaml
Normal file
@@ -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: {}
|
||||||
Reference in New Issue
Block a user