Step1). Create multiple projects namely developer and production
Step2). Create VPC network for both the projects
Step3). Create a link between both the VPC networks using VPC Peering
Step4). Create a Kubernetes Cluster in developer project and launch any web application with the Load balancer
Step5). Create a SQL server in the production project and create a database
Step6). Connect the SQL database to the web application launched in the Kubernetes cluster
I create two project as mention in the task description.one is named as production-team and another one is developer-team.
As same i create for developer-team.
After creating any project we have to enabling Compute Engine API to Creates and runs virtual machines on Google Cloud Platform for this we have to go as i mention
navigate menu-->APIs & service-->library--> Compute Engine API
VPC (Virtual Private Cloud) is managed networking functionality for our GCP resources.
So creating VPC for our both project firstly we are going to create VPC for developer team.
For creating vpc
navigate menu-->VPC network-->create vpc network
then follow images
Now we create VPC for production team
I make subnet public so our website accessible by our client.
Now add firewall rule for developer VPC and as well as production VPC
For adding firewall rules for vpc
navigate menu-->VPC network-->firewall-->create firewall rule
then follow image
Now create firewall rule for production.
Now publically both vpc has connectivity.
Google Cloud has their internal private network so Google Cloud VPC Network Peering allows internal IP address connectivity across two Virtual Private Cloud (VPC) networks, whether they belong to the same project or not.
Creating peering connection on developer VPC side.
For creating VPC network peering
navigate menu-->VPC network-->vpc network peering-->create peering
then follow image
Now Creating peering connection on production VPC side.
Now we are ready to use google private network for connectivity.
Now time to create a k8s cluster in developer project
For creating cluster
navigate menu-->kubernetes engine-->clusters-->create cluster
than follow the image
I launch this cluster in all subnet .And take the size of all node is 1.So in each subnet one-one node is launched. all set just create it.
Now we have to create a database so i create a SQL database
For creating sql database
navigate menu-->sql-->create instance
than choose your database and follow the image
For connectivity we have to add some network so
Edit configuration and go to connectivity section and add network as show in image
All set our cluster create our Database create now time to action just create a deployment of our website Drupal.
For this we run command on cloud shell or can download gcloud on system and run all these command on terminal
our cloud shell working good
now create deployment
kubectl create deployment "deplyment name" --image="image name"
I launch deployment as website and image using Drupal after hit enter deployment create now just expose the pod
kubectl expose deployment website --type=LoadBalancer --port=80
All done now we just one step behind to get public ip just run command
kubectl get services
We get the external IP by which we connect to our website and also you can see a load balancer is launch in GCP cloud.
Time to go our website and configure it
Drupal configure and launch successfully.
Now our Drupal launch on the Google cloud platform and have connectivity with mysql database. I learn a lot while i was doing this task its a great experience.
Thank for reading!!!