checkpoint 2 part 1 finished, needs to be properly tested
This commit is contained in:
parent
ce3ea05831
commit
c3f67d4582
14 changed files with 306 additions and 26 deletions
50
roles/laravelio_deploy/tasks/main.yml
Normal file
50
roles/laravelio_deploy/tasks/main.yml
Normal file
|
@ -0,0 +1,50 @@
|
|||
---
|
||||
- name: Get MySQL Service Info
|
||||
kubernetes.core.k8s_info:
|
||||
api_version: v1
|
||||
kind: Service
|
||||
name: mysql-service
|
||||
namespace: default
|
||||
register: service_info
|
||||
|
||||
- name: Extract ClusterIP from MySQL service
|
||||
set_fact:
|
||||
cluster_ip: "{{ service_info.resources[0].spec.clusterIP }}"
|
||||
|
||||
- name: Print ClusterIP
|
||||
debug:
|
||||
var: cluster_ip
|
||||
- name: Create ConfigMap for laravelio
|
||||
kubernetes.core.k8s:
|
||||
name: laravelio-config
|
||||
namespace: default
|
||||
definition:
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: laravelio-config
|
||||
data:
|
||||
DB_HOST: "{{ cluster_ip }}"
|
||||
DB_DATABASE: laravelio
|
||||
DB_USERNAME: laraveliouser
|
||||
DB_PASSWORD: "123456"
|
||||
|
||||
- name: Create laravelio Deployment
|
||||
kubernetes.core.k8s:
|
||||
namespace: default
|
||||
state: present
|
||||
src: roles/laravelio_deploy/templates/laravelio-deployment.yml
|
||||
|
||||
- name: Create laravelio Service
|
||||
kubernetes.core.k8s:
|
||||
namespace: default
|
||||
state: present
|
||||
src: roles/laravelio_deploy/templates/laravelio-service.yml
|
||||
wait: yes
|
||||
|
||||
- name: Seed database
|
||||
kubernetes.core.k8s_exec:
|
||||
namespace: default
|
||||
pod: laravelio
|
||||
command: "php artisan db:seed"
|
||||
when: seed_database is defined and seed_database == "true"
|
29
roles/laravelio_deploy/templates/laravelio-deployment.yml
Normal file
29
roles/laravelio_deploy/templates/laravelio-deployment.yml
Normal file
|
@ -0,0 +1,29 @@
|
|||
---
|
||||
# Deployment for Laravelio
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: laravelio-deployment
|
||||
labels:
|
||||
app: laravelio
|
||||
tier: app
|
||||
spec:
|
||||
selector:
|
||||
matchLabels:
|
||||
app: laravelio
|
||||
strategy:
|
||||
type: Recreate
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: laravelio
|
||||
tier: app
|
||||
spec:
|
||||
containers:
|
||||
- name: laravelio
|
||||
image: crispyjeasus/laravelio:latest
|
||||
envFrom: # The variables below could be set on a ConfigMap object
|
||||
- configMapRef:
|
||||
name: laravelio-config
|
||||
ports:
|
||||
- containerPort: 8000
|
16
roles/laravelio_deploy/templates/laravelio-service.yml
Normal file
16
roles/laravelio_deploy/templates/laravelio-service.yml
Normal file
|
@ -0,0 +1,16 @@
|
|||
---
|
||||
# Service for exposing Laravel
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: laravelio-service # logical name of the service, which will also become the DNS name of the service when it is created.
|
||||
labels:
|
||||
app: laravelio
|
||||
tier: app
|
||||
spec:
|
||||
type: LoadBalancer
|
||||
selector:
|
||||
app: laravelio
|
||||
ports:
|
||||
- port: 30000
|
||||
targetPort: 8000
|
Loading…
Add table
Add a link
Reference in a new issue