Ref: - https://www.youtube.com/watch?v=0j-iIW3_sbg&t=1291s
ls
mysqldatabase.yaml mysqlservice.yml webapplication.yaml webservice.yml
cat webapplication.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: webapp1
labels:
app: webapp-sql
tier: frontend
spec:
replicas: 1
selector:
matchLabels:
app: webapp-sql
tier: frontend
template:
metadata:
labels:
app: webapp-sql
tier: frontend
spec:
containers:
- name: webapp1
image: hshar/webapp
ports:
- containerPort: 8081
cat mysqldatabase.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: sqldb
labels:
app: webapp-sql
tier: backend
spec:
replicas: 1
selector:
matchLabels:
app: webapp-sql
tier: backend
template:
metadata:
labels:
app: webapp-sql
tier: backend
spec:
containers:
- name: mysql
image: hshar/mysql:5.5
ports:
- containerPort: 3306
cat webservice.yml
apiVersion: v1
kind: Service
metadata:
name: webapp-sql
spec:
selector:
app: webapp-sql
tier: frontend
ports:
- port: 80
type: NodePort
cat mysqlservice.yml
apiVersion: v1
kind: Service
metadata:
name: webapp-sql1
spec:
selector:
app: webapp-sql
tier: backend
ports:
- port: 3306
clusterIP:
kubectl apply -f webapplication.yaml
deployment.apps/webapp1 created
kubectl apply -f mysqldatabase.yaml
deployment.apps/sqldb created
kubectl get deployment
NAME READY UP-TO-DATE AVAILABLE AGE
sqldb 1/1 1 1 69s
webapp1 1/1 1 1 80s
kubectl apply -f webservice.yml
service/webapp-sql created
kubectl apply -f mysqlservice.yml
service/webapp-sql1 created
kubectl get service
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 5d7h
webapp-sql NodePort 10.98.200.159 <none> 80:32025/TCP 19s
webapp-sql1 ClusterIP 10.97.173.97 <none> 3306/TCP 7s
kubectl get po
NAME READY STATUS RESTARTS AGE
sqldb-6777dc65bb-ttkwk 1/1 Running 0 2m
webapp1-6996dfc8d8-2kl4q 1/1 Running 0 2m11s
kubectl exec -it webapp1-6996dfc8d8-2kl4q bash
kubectl exec [POD] [COMMAND] is DEPRECATED and will be removed in a future version. Use kubectl exec [POD] -- [COMMAND] instead.
root@webapp1-6996dfc8d8-2kl4q:/# nano var/www/html/index.php
<...>
$servername = "webapp-sql1";
$username = "root";
$password = "edureka";
$dbname = "Product_Details";
<...>
root@webapp1-6996dfc8d8-2kl4q:/# exit
exit
kubectl exec -it sqldb-6777dc65bb-ttkwk bash
root@sqldb-6777dc65bb-ttkwk:/# mysql -u root -pedureka
<...>
mysql> CREATE DATABASE Product_Details;
Query OK, 1 row affected (0.00 sec)
mysql> USE Product_Details;
Database changed
mysql> CREATE TABLE products ( product_name VARCHAR(10), product_id VARCHAR(15) );
Query OK, 0 rows affected (0.01 sec)
mysql> exit
Bye
root@sqldb-6777dc65bb-ttkwk:/# exit
exit
kubectl get services
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 5d7h
webapp-sql NodePort 10.98.200.159 <none> 80:32025/TCP 9m38s
webapp-sql1 ClusterIP 10.97.173.97 <none> 3306/TCP 9m26s
kubectl get po
NAME READY STATUS RESTARTS AGE
sqldb-6777dc65bb-ttkwk 1/1 Running 0 28m
webapp1-6996dfc8d8-2kl4q 1/1 Running 0 29m
kubectl describe po/webapp1-6996dfc8d8-2kl4q | grep Node:
Node: minikube-m02/192.168.49.3
http://192.168.49.3:32025/index.php
No comments:
Post a Comment