wikiv1:phpipam_deploy
phpIPAM deployment
$ kubectl create ns phpipam-system
- pvc-phpipam.yaml
apiVersion: v1 kind: PersistentVolumeClaim metadata: labels: app: phpipam name: phpipam namespace: phpipam-system spec: accessModes: - ReadWriteOnce resources: requests: storage: 8Gi storageClassName: nfs-client volumeMode: Filesystem
- mariadb.yaml
apiVersion: apps/v1 kind: Deployment metadata: labels: app: phpipam-db name: phpipam-db namespace: phpipam-system spec: selector: matchLabels: app: phpipam-db template: metadata: labels: app: phpipam-db spec: containers: - env: - name: MYSQL_ROOT_PASSWORD value: QGJ0anQoKCkpMjI= image: mariadb:latest imagePullPolicy: IfNotPresent name: phpipam-db ports: - containerPort: 3306 name: mysql protocol: TCP resources: requests: memory: 256Mi cpu: 0.2 limits: memory: 512Mi cpu: 0.5 volumeMounts: - mountPath: /var/lib/mysql name: phpipam restartPolicy: Always securityContext: fsGroup: 1001 runAsUser: 1001 volumes: - name: phpipam persistentVolumeClaim: claimName: phpipam
- service-mariadb.yaml
apiVersion: v1 kind: Service metadata: labels: app: phpipam-db name: phpipam-db namespace: phpipam-system spec: ipFamilies: - IPv4 - IPv6 ipFamilyPolicy: PreferDualStack ports: - name: mysql port: 3306 protocol: TCP targetPort: 3306 selector: app: phpipam-db type: ClusterIP
- phpipam.yaml
apiVersion: apps/v1 kind: Deployment metadata: generation: 1 labels: app: phpipam-web name: phpipam-web namespace: phpipam-system spec: selector: matchLabels: app: phpipam-web template: metadata: labels: app: phpipam-web spec: containers: - env: - name: TZ value: America/Sao_Paulo - name: IPAM_DATABASE_HOST value: phpipam-db - name: IPAM_DATABASE_WEBHOST value: '%' - name: IPAM_DATABASE_PASS value: QGJ0anQoKCkpMjI= image: phpipam/phpipam-www:1.5x imagePullPolicy: IfNotPresent name: phpipam-web ports: - containerPort: 80 name: http protocol: TCP resources: requests: memory: 256Mi cpu: 0.2 limits: memory: 512Mi cpu: 0.5 restartPolicy: Always securityContext: {}
- service-phpipam.yaml
apiVersion: v1 kind: Service metadata: labels: app: phpipam-web name: phpipam-web namespace: phpipam-system spec: ipFamilies: - IPv4 - IPv6 ipFamilyPolicy: PreferDualStack ports: - name: http port: 80 protocol: TCP targetPort: 80 selector: app: phpipam-web type: ClusterIP
- cron.yaml
apiVersion: apps/v1 kind: Deployment metadata: labels: app: phpipam-cron name: phpipam-cron namespace: phpipam-system spec: selector: matchLabels: app: phpipam-cron template: metadata: labels: app: phpipam-cron spec: containers: - env: - name: IPAM_DATABASE_HOST value: phpipam-db - name: IPAM_DATABASE_PASS value: QGJ0anQoKCkpMjI= - name: SCAN_INTERVAL value: 1h - name: TZ value: America/Sao_Paulo image: phpipam/phpipam-cron:1.5x imagePullPolicy: IfNotPresent name: phpipam-cron resources: requests: memory: 128Mi cpu: 0.1 limits: memory: 256Mi cpu: 0.2 restartPolicy: Always securityContext: {}
- ingress-phpipam.yaml
apiVersion: networking.k8s.io/v1 kind: Ingress metadata: creationTimestamp: null name: phpipam-ingress namespace: phpipam-system spec: ingressClassName: nginx rules: - host: phpipam.juntotelecom.com.br http: paths: - backend: service: name: phpipam-web port: number: 80 path: / pathType: Prefix
wikiv1/phpipam_deploy.txt · Last modified: by 127.0.0.1
