Hi guys, I am having issues with EXERCISE 7 (LEVEL3) Kubernetes LEMP Setup:
I have done all and on last step verifying Web page having error?
thor@jump_host ~$ kubectl exec -it lemp-wp-774cc97b58-qmt6m -c nginx-php-container – sh
/ # cd /app/
/app # cat index.php
<?php
$dbname = $_ENV['MYSQL_DATABASE'];
$dbuser = $_ENV['MYSQL_USER'];
$dbpass = $_ENV['MYSQL_PASSWORD'];
$dbhost = $_ENV['MYSQL_HOST'];$connect = mysqli_connect($dbhost, $dbuser, $dbpass) or die("Unable to Connect to '$dbhost'");$test_query = "SHOW TABLES FROM $dbname";
$result = mysqli_query($test_query);if ($result->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
##################################################################################
/app # **printenv | grep MYSQL**
MYSQL_ROOT_PASSWORD=R00t
MYSQL_SERVICE_PORT_3306_TCP_ADDR=10.96.225.53
MYSQL_PASSWORD=GyQkFRVNr3
MYSQL_SERVICE_PORT_3306_TCP_PORT=3306
MYSQL_SERVICE_PORT_3306_TCP_PROTO=tcp
MYSQL_SERVICE_SERVICE_HOST=10.96.225.53
MYSQL_HOST=mysql-service
MYSQL_USER=kodekloud_cap
MYSQL_SERVICE_PORT=tcp://10.96.225.53:3306
MYSQL_SERVICE_SERVICE_PORT=3306
MYSQL_SERVICE_PORT_3306_TCP=tcp://10.96.225.53:3306
MYSQL_DATABASE=kodekloud_db2
################################################################################
thor@jump_host ~$ **kubectl logs lemp-wp-774cc97b58-qmt6m -c nginx-php-container**
30-Nov-2023 11:54:55] WARNING: [pool www] child 155 said into stderr: "NOTICE: PHP message: PHP Warning: mysqli_query() expects at least 2 parameters, 1 given in /app/index.php on line 10"
[30-Nov-2023 11:54:55] WARNING: [pool www] child 155 said into stderr: "NOTICE: PHP message: PHP Notice: Trying to get property of non-object in /app/index.php on line 12"
[php-fpm:access] 127.0.0.1 - 30/Nov/2023:11:54:55 +0000 "GET /index.php" 200 /app/index.php 3.609 2048 0.00%
2023/11/30 11:54:55 [error] 149#149: *1 FastCGI sent in stderr: "PHP message: PHP Warning: mysqli_query() expects at least 2 parameters, 1 given in /app/index.php on line 10
PHP message: PHP Notice: Trying to get property of non-object in /app/index.php on line 12" while reading response header from upstream, client: 10.244.0.1, server: _, request: "GET / HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "[30008-port-56b72e66fa4c4b81.labs.kodekloud.com](http://30008-port-56b72e66fa4c4b81.labs.kodekloud.com/)", referrer: "https://56b72e66fa4c4b81.labs.kodekloud.com/"
10.244.0.1 - - [30/Nov/2023:11:54:55 +0000] "GET / HTTP/1.1" 200 5 "https://56b72e66fa4c4b81.labs.kodekloud.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36"
################################################################################
Here are some printouts:
#################################################################################
kubectl create secret generic mysql-root-pass --from-literal=password=R00t
kubectl create secret generic mysql-user-pass --from-literal=username=kodekloud_cap --from-literal=password=GyQkFRVNr3
kubectl create secret generic mysql-db-url --from-literal=database=kodekloud_db2
kubectl create secret generic mysql-host --from-literal=host=mysql-service
#################################################################################
thor@jump_host ~$ kubectl get secrets
NAME TYPE DATA AGE
mysql-db-url Opaque 1 34s
mysql-host Opaque 1 27s
mysql-root-pass Opaque 1 50s
mysql-user-pass Opaque 2 6s
#################################################################################
thor@jump_host ~$ kubectl get deployments.apps -o yaml
---
apiVersion: v1
items:
- apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
deployment.kubernetes.io/revision: "2"
creationTimestamp: "2023-11-30T09:22:31Z"
generation: 2
labels:
app: nginx
name: lemp-wp
namespace: default
resourceVersion: "2777"
uid: 7769d461-ad60-4c2e-9a14-9482b8927b69
spec:
progressDeadlineSeconds: 600
replicas: 1
revisionHistoryLimit: 10
selector:
matchLabels:
app: nginx
strategy:
rollingUpdate:
maxSurge: 25%
maxUnavailable: 25%
type: RollingUpdate
template:
metadata:
creationTimestamp: null
labels:
app: nginx
spec:
containers:
- env:
- name: MYSQL_ROOT_PASSWORD
valueFrom:
secretKeyRef:
key: password
name: mysql-root-pass
- name: MYSQL_PASSWORD
valueFrom:
secretKeyRef:
key: password
name: mysql-user-pass
- name: MYSQL_USER
valueFrom:
secretKeyRef:
key: username
name: mysql-user-pass
- name: MYSQL_DATABASE
valueFrom:
secretKeyRef:
key: database
name: mysql-db-url
- name: MYSQL_HOST
valueFrom:
secretKeyRef:
key: host
name: mysql-host
image: webdevops/php-apache:alpine-3-php7
imagePullPolicy: IfNotPresent
name: nginx-php-container
ports:
- containerPort: 80
protocol: TCP
resources: {}
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
volumeMounts:
- mountPath: /opt/docker/etc/php/php.ini
name: php-config-volume
subPath: php.ini
- mountPath: /app/index.php
name: php-index-cm-volume
subPath: index.php
- env:
- name: MYSQL_ROOT_PASSWORD
valueFrom:
secretKeyRef:
key: password
name: mysql-root-pass
- name: MYSQL_PASSWORD
valueFrom:
secretKeyRef:
key: password
name: mysql-user-pass
- name: MYSQL_USER
valueFrom:
secretKeyRef:
key: username
name: mysql-user-pass
- name: MYSQL_DATABASE
valueFrom:
secretKeyRef:
key: database
name: mysql-db-url
- name: MYSQL_HOST
valueFrom:
secretKeyRef:
key: host
name: mysql-host
image: mysql:5.6
imagePullPolicy: IfNotPresent
name: mysql-container
ports:
- containerPort: 3306
protocol: TCP
resources: {}
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
dnsPolicy: ClusterFirst
restartPolicy: Always
schedulerName: default-scheduler
securityContext: {}
terminationGracePeriodSeconds: 30
volumes:
- configMap:
defaultMode: 420
name: php-config
name: php-config-volume
- configMap:
defaultMode: 420
name: php-index-cm
name: php-index-cm-volume
status:
availableReplicas: 1
conditions:
- lastTransitionTime: "2023-11-30T09:23:00Z"
lastUpdateTime: "2023-11-30T09:23:00Z"
message: Deployment has minimum availability.
reason: MinimumReplicasAvailable
status: "True"
type: Available
- lastTransitionTime: "2023-11-30T09:22:31Z"
lastUpdateTime: "2023-11-30T09:30:12Z"
message: ReplicaSet "lemp-wp-8689fbb5f4" has successfully progressed.
reason: NewReplicaSetAvailable
status: "True"
type: Progressing
observedGeneration: 2
readyReplicas: 1
replicas: 1
updatedReplicas: 1
kind: List
metadata:
resourceVersion: ""
####################################################################################
Any ideas what to check? Thanks!!