User Tools

Site Tools


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