Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
veilletechno:kubernetes:k3s:deploy:wordpress [2019/11/17 20:23] – madko | veilletechno:kubernetes:k3s:deploy:wordpress [2019/11/17 20:28] (Version actuelle) – madko | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
====== Exemple de déploiement Wordpress sur un cluster k3s sur Raspberry PI 4 ====== | ====== Exemple de déploiement Wordpress sur un cluster k3s sur Raspberry PI 4 ====== | ||
+ | |||
+ | ===== Définition d'un mot de passe pour MySQL et des ressources pour le déploiement ===== | ||
Fichier chapeau kustomization.yaml : | Fichier chapeau kustomization.yaml : | ||
Ligne 13: | Ligne 15: | ||
- ingress.yaml | - ingress.yaml | ||
</ | </ | ||
+ | ===== Partie pour le déploiement MySQL ===== | ||
\\ | \\ | ||
Fichier pour le deploiement MySQL : | Fichier pour le deploiement MySQL : | ||
+ | |||
+ | < | ||
+ | apiVersion: v1 | ||
+ | kind: Service | ||
+ | metadata: | ||
+ | name: wordpress-mysql | ||
+ | labels: | ||
+ | app: wordpress | ||
+ | spec: | ||
+ | ports: | ||
+ | - port: 3306 | ||
+ | selector: | ||
+ | app: wordpress | ||
+ | tier: mysql | ||
+ | clusterIP: None | ||
+ | --- | ||
+ | apiVersion: v1 | ||
+ | kind: PersistentVolumeClaim | ||
+ | metadata: | ||
+ | name: mysql-pv-claim | ||
+ | labels: | ||
+ | app: wordpress | ||
+ | spec: | ||
+ | accessModes: | ||
+ | - ReadWriteOnce | ||
+ | resources: | ||
+ | requests: | ||
+ | storage: 20Gi | ||
+ | --- | ||
+ | apiVersion: apps/v1 # for versions before 1.9.0 use apps/ | ||
+ | kind: Deployment | ||
+ | metadata: | ||
+ | name: wordpress-mysql | ||
+ | labels: | ||
+ | app: wordpress | ||
+ | spec: | ||
+ | selector: | ||
+ | matchLabels: | ||
+ | app: wordpress | ||
+ | tier: mysql | ||
+ | strategy: | ||
+ | type: Recreate | ||
+ | template: | ||
+ | metadata: | ||
+ | labels: | ||
+ | app: wordpress | ||
+ | tier: mysql | ||
+ | spec: | ||
+ | containers: | ||
+ | - image: biarms/ | ||
+ | name: mysql | ||
+ | env: | ||
+ | - name: MYSQL_ROOT_PASSWORD | ||
+ | valueFrom: | ||
+ | secretKeyRef: | ||
+ | name: mysql-pass | ||
+ | key: password | ||
+ | ports: | ||
+ | - containerPort: | ||
+ | name: mysql | ||
+ | volumeMounts: | ||
+ | - name: mysql-persistent-storage | ||
+ | mountPath: / | ||
+ | volumes: | ||
+ | - name: mysql-persistent-storage | ||
+ | persistentVolumeClaim: | ||
+ | claimName: mysql-pv-claim | ||
+ | </ | ||
+ | ===== Partie pour le déploiement de wordpress ===== | ||
Fichier pour le déploiement Wordpress : | Fichier pour le déploiement Wordpress : | ||
+ | |||
+ | < | ||
+ | apiVersion: v1 | ||
+ | kind: Service | ||
+ | metadata: | ||
+ | name: wordpress | ||
+ | labels: | ||
+ | app: wordpress | ||
+ | spec: | ||
+ | ports: | ||
+ | - port: 80 | ||
+ | selector: | ||
+ | app: wordpress | ||
+ | tier: frontend | ||
+ | # type: LoadBalancer | ||
+ | --- | ||
+ | apiVersion: v1 | ||
+ | kind: PersistentVolumeClaim | ||
+ | metadata: | ||
+ | name: wp-pv-claim | ||
+ | labels: | ||
+ | app: wordpress | ||
+ | spec: | ||
+ | accessModes: | ||
+ | - ReadWriteOnce | ||
+ | resources: | ||
+ | requests: | ||
+ | storage: 20Gi | ||
+ | --- | ||
+ | apiVersion: apps/v1 # for versions before 1.9.0 use apps/ | ||
+ | kind: Deployment | ||
+ | metadata: | ||
+ | name: wordpress | ||
+ | labels: | ||
+ | app: wordpress | ||
+ | spec: | ||
+ | selector: | ||
+ | matchLabels: | ||
+ | app: wordpress | ||
+ | tier: frontend | ||
+ | strategy: | ||
+ | type: Recreate | ||
+ | template: | ||
+ | metadata: | ||
+ | labels: | ||
+ | app: wordpress | ||
+ | tier: frontend | ||
+ | spec: | ||
+ | containers: | ||
+ | - image: wordpress: | ||
+ | name: wordpress | ||
+ | env: | ||
+ | - name: WORDPRESS_DB_HOST | ||
+ | value: wordpress-mysql | ||
+ | - name: WORDPRESS_DB_PASSWORD | ||
+ | valueFrom: | ||
+ | secretKeyRef: | ||
+ | name: mysql-pass | ||
+ | key: password | ||
+ | ports: | ||
+ | - containerPort: | ||
+ | name: wordpress | ||
+ | volumeMounts: | ||
+ | - name: wordpress-persistent-storage | ||
+ | mountPath: / | ||
+ | volumes: | ||
+ | - name: wordpress-persistent-storage | ||
+ | persistentVolumeClaim: | ||
+ | claimName: wp-pv-claim | ||
+ | </ | ||
+ | ===== Partie pour la configuration du ingress ===== | ||
Fichier pour la configuration Ingress : | Fichier pour la configuration Ingress : | ||
+ | |||
+ | < | ||
+ | --- | ||
+ | apiVersion: extensions/ | ||
+ | kind: Ingress | ||
+ | metadata: | ||
+ | name: wordpress | ||
+ | annotations: | ||
+ | kubernetes.io/ | ||
+ | |||
+ | spec: | ||
+ | rules: | ||
+ | - host: wordpress.example.org | ||
+ | http: | ||
+ | paths: | ||
+ | - path: / | ||
+ | backend: | ||
+ | serviceName: | ||
+ | servicePort: | ||
+ | </ | ||