Lab7 ConfigMap Solution
ConfigMap de type Volume
Copier le fichier /etc/nginx/nginx.conf à partir d’un pod web existant
kubectl cp web:/etc/nginx/nginx.conf nginx.confModifier le fichier et créer un ConfigMap nommé nginx-conf
kubectl create configmap nginx-conf --from-file=nginx.confCréer un pod web avec le ConfigMap nginx-conf
vi web.ymlapiVersion: v1kind: Podmetadata: name: web labels: app: webspec: containers: - name: www image: nginx:1.21-alpine volumeMounts: - name: config mountPath: "/etc/nginx/nginx.conf" subPath: "nginx.conf" volumes: - name: config configMap: name: nginx-confVérifier le fichier de conf /etc/nginx/nginx.conf du pod web
kubectl exec -it web -- shcat /etc/nginx/nginx.confConfigMap de type variable d’environnement
Créer un ConfigMap nommé mysql-pass qui contient une clé password et une valeur root
vi cm-mysql.ymlapiVersion: v1kind: ConfigMapmetadata: name: mysql-passdata: password: rootkubectl apply -f cm-mysql.ymlCréer un pod mysql et initialiser le ROOT_PASSWORD de mysql
vi mysql.ymlapiVersion: v1kind: Podmetadata: name: mysqlspec: containers: - image: mysql:8.0 name: mysql env: - name: MYSQL_ROOT_PASSWORD valueFrom: configMapKeyRef: name: mysql-pass key: passwordkubectl apply -f mysql.ymlVérifier que le pod mysql est Running
kubectl get pods