├── db ├── servico-banco.yaml ├── permissoes.yaml ├── pod-banco.yaml └── statefulset.yaml ├── prod ├── db │ ├── servico-banco.yaml │ ├── permissoes.yaml │ ├── pod-banco.yaml │ └── statefulset.yaml └── app │ ├── servico-aplicacao.yaml │ ├── aplicacao.yaml │ └── deployment.yaml └── app ├── servico-aplicacao.yaml ├── aplicacao.yaml └── deployment.yaml /db/servico-banco.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: db 5 | spec: 6 | type: ClusterIP 7 | ports: 8 | - port: 3306 9 | selector: 10 | name: mysql 11 | -------------------------------------------------------------------------------- /prod/db/servico-banco.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: db 5 | spec: 6 | type: ClusterIP 7 | ports: 8 | - port: 3306 9 | selector: 10 | name: mysql 11 | -------------------------------------------------------------------------------- /app/servico-aplicacao.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: servico-aplicacao 5 | spec: 6 | type: LoadBalancer 7 | ports: 8 | - port: 80 9 | selector: 10 | name: aplicacao-pod 11 | -------------------------------------------------------------------------------- /db/permissoes.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: PersistentVolumeClaim 3 | metadata: 4 | name: configuracao-mysql 5 | spec: 6 | accessModes: 7 | - ReadWriteOnce 8 | resources: 9 | requests: 10 | storage: 3Gi 11 | -------------------------------------------------------------------------------- /prod/app/servico-aplicacao.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: servico-aplicacao 5 | spec: 6 | type: LoadBalancer 7 | ports: 8 | - port: 80 9 | selector: 10 | name: aplicacao-pod 11 | -------------------------------------------------------------------------------- /prod/db/permissoes.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: PersistentVolumeClaim 3 | metadata: 4 | name: configuracao-mysql 5 | spec: 6 | accessModes: 7 | - ReadWriteOnce 8 | resources: 9 | requests: 10 | storage: 3Gi 11 | -------------------------------------------------------------------------------- /app/aplicacao.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Pod 3 | metadata: 4 | name: aplicacao 5 | spec: 6 | containers: 7 | - name: container-aplicacao-loja 8 | image: rafanercessian/aplicacao-loja:v1 9 | ports: 10 | - containerPort: 80 11 | -------------------------------------------------------------------------------- /prod/app/aplicacao.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Pod 3 | metadata: 4 | name: aplicacao 5 | spec: 6 | containers: 7 | - name: container-aplicacao-loja 8 | image: rafanercessian/aplicacao-loja:v1 9 | ports: 10 | - containerPort: 80 11 | -------------------------------------------------------------------------------- /app/deployment.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: apps/v1beta1 2 | kind: Deployment 3 | metadata: 4 | name: aplicacao-deployment 5 | spec: 6 | template: 7 | metadata: 8 | labels: 9 | name: aplicacao-pod 10 | spec: 11 | containers: 12 | - name: container-aplicacao-loja 13 | image: rafanercessian/aplicacao-loja:v1 14 | ports: 15 | - containerPort: 80 16 | -------------------------------------------------------------------------------- /prod/app/deployment.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: apps/v1beta1 2 | kind: Deployment 3 | metadata: 4 | name: aplicacao-deployment 5 | spec: 6 | template: 7 | metadata: 8 | labels: 9 | name: aplicacao-pod 10 | spec: 11 | containers: 12 | - name: container-aplicacao-loja 13 | image: rafanercessian/aplicacao-loja:v1 14 | ports: 15 | - containerPort: 80 16 | -------------------------------------------------------------------------------- /prod/db/pod-banco.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Pod 3 | metadata: 4 | name: mysql 5 | spec: 6 | containers: 7 | - name: container-mysql 8 | image: mysql 9 | ports: 10 | - containerPort: 3306 11 | env: 12 | - name: MYSQL_DATABASE 13 | value: "loja" 14 | - name: MYSQL_USER 15 | value: "root" 16 | - name: MYSQL_ALLOW_EMPTY_PASSWORD 17 | value: "1" 18 | -------------------------------------------------------------------------------- /db/pod-banco.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Pod 3 | metadata: 4 | name: mysql 5 | spec: 6 | containers: 7 | - name: container-mysql 8 | image: mysql:5.7.19 9 | ports: 10 | - containerPort: 3306 11 | env: 12 | - name: MYSQL_DATABASE 13 | value: "loja" 14 | - name: MYSQL_USER 15 | value: "root" 16 | - name: MYSQL_ALLOW_EMPTY_PASSWORD 17 | value: "1" 18 | -------------------------------------------------------------------------------- /db/statefulset.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: apps/v1beta1 2 | kind: StatefulSet 3 | metadata: 4 | name: statefulset-mysql 5 | spec: 6 | serviceName: db 7 | template: 8 | metadata: 9 | labels: 10 | name: mysql 11 | spec: 12 | containers: 13 | - name: container-mysql 14 | image: mysql:5.7.19 15 | ports: 16 | - containerPort: 3306 17 | env: 18 | - name: MYSQL_DATABASE 19 | value: "loja" 20 | - name: MYSQL_USER 21 | value: "root" 22 | - name: MYSQL_ALLOW_EMPTY_PASSWORD 23 | value: "1" 24 | volumeMounts: 25 | - name: volume-mysql 26 | mountPath: /var/lib/mysql 27 | volumes: 28 | - name: volume-mysql 29 | persistentVolumeClaim: 30 | claimName: configuracao-mysql 31 | -------------------------------------------------------------------------------- /prod/db/statefulset.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: apps/v1beta1 2 | kind: StatefulSet 3 | metadata: 4 | name: statefulset-mysql 5 | spec: 6 | serviceName: db 7 | template: 8 | metadata: 9 | labels: 10 | name: mysql 11 | spec: 12 | containers: 13 | - name: container-mysql 14 | image: mysql:5.5 15 | ports: 16 | - containerPort: 3306 17 | env: 18 | - name: MYSQL_DATABASE 19 | value: "loja" 20 | - name: MYSQL_USER 21 | value: "root" 22 | - name: MYSQL_ALLOW_EMPTY_PASSWORD 23 | value: "1" 24 | volumeMounts: 25 | - name: volume-mysql 26 | mountPath: /var/lib/mysql 27 | volumes: 28 | - name: volume-mysql 29 | persistentVolumeClaim: 30 | claimName: configuracao-mysql 31 | --------------------------------------------------------------------------------