--- apiVersion: v1 kind: Service metadata: name: odoo-db labels: app: odoo-shop spec: ports: - port: 5432 selector: app: odoo-shop tier: backend type: NodePort --- apiVersion: extensions/v1beta1 kind: Deployment metadata: name: odoo-db labels: app: odoo-shop spec: strategy: type: Recreate template: metadata: labels: app: odoo-shop tier: backend spec: containers: - image: postgres:9.4 name: odoo-db env: - name: POSTGRES_USER value: odoo - name: POSTGRES_PASSWORD value: odoo - name: PGDATA value: /var/lib/postgresql/data/pgdata ports: - containerPort: 5432 name: odoo-db volumeMounts: - name: odoo-db-pvc mountPath: /var/lib/postgresql/data volumes: - name: odoo-db-pvc emptyDir: {} --- apiVersion: v1 kind: Service metadata: name: odoo-shop labels: app: odoo-shop spec: ports: - name: http port: 80 targetPort: 8069 selector: app: odoo-shop --- kind: PersistentVolume apiVersion: v1 metadata: name: odoo-addons labels: type: local spec: storageClassName: manual capacity: storage: 1Gi accessModes: - ReadWriteOnce hostPath: path: "/mnt/extra-addons" --- kind: PersistentVolumeClaim apiVersion: v1 metadata: name: odoo-addons-claim spec: storageClassName: manual accessModes: - ReadWriteOnce resources: requests: storage: 1Gi --- apiVersion: extensions/v1beta1 kind: Deployment metadata: name: odoo-shop labels: app: odoo-shop spec: strategy: type: Recreate template: metadata: labels: app: odoo-shop tier: frontend spec: containers: - image: odoo:10.0 name: odoo-shop env: - name: USER value: odoo - name: PASSWORD value: odoo - name: HOST value: odoo-db securityContext: privileged: true runAsUser: 0 ports: - containerPort: 8069 name: odoo volumeMounts: - name: odoo-pvc mountPath: /var/lib/odoo - name: odoo-addons-space mountPath: /mnt/extra-addons volumes: - name: odoo-pvc emptyDir: {} - name: odoo-addons-space persistentVolumeClaim: claimName: odoo-addons-claim --- apiVersion: extensions/v1beta1 kind: Ingress metadata: name: odoo annotations: kubernetes.io/ingress.class: "nginx" kubernetes.io/tls-acme: "true" ingress.kubernetes.io/rewrite-target: "/" spec: tls: - hosts: - odoo.rubyforce.co secretName: odoo-tls rules: - host: odoo.rubyforce.co http: paths: - path: / backend: serviceName: odoo-shop servicePort: http