Skip to main content

OpenShift - Deploy your own Blog/WebApp/Web site?

  In one of my previous post I have explained that how to create your own blog using Docker. We will do same practical today but this time using one of the most demanding platform-as-a-service solution. Red Hat OpenShift container platform. I have explained in my previous posts that what extra we can achieve using OpenShift. Please have a look on below posts for more details-

  1. https://rakeshkumar0504.blogspot.com/2020/04/openshift-day-1.html
  2. https://rakeshkumar0504.blogspot.com/2020/04/openshift-day2.html
Let's start the practical:-
I have logged into my rol account and have oc command ready with me. If you also want to configure oc command you down from here setup as below.
[root@server106 ~]# cd /root/Desktop/
[root@server106 Desktop]# ll
total 117532
-rwxr-xr-x. 1 root root 120350344 Apr 27  2020 oc
[root@server106 Desktop]# chmod 755 oc
[root@server106 Desktop]# mv oc /usr/bin/
Run [root@server106 Desktop]# oc --version command, if you get options that means command is ready to use.
Step 1 :- Login into your OpenShift environment using below command. Username and paswrord is give in your lab environment. If your username password is correct you will get "Login successful" message.
[root@server106 ~]# oc login https://api.ocp-ap3.prod.nextcle.com:6443
Authentication required for https://api.ocp-ap3.prod.nextcle.com:6443 (openshift)
Username: XXXXXXXX
Password: XXXXXXXX
Login successful.
Step 2 :- Run oc --help command to check oc options after that create a project.
[root@server106 Desktop]# oc new-project lw1  [create new project]
[root@server106 ~]# oc get projects           [check available project]
NAME      DISPLAY NAME   STATUS
lw1                      Active
[root@server106 ~]# oc get pods    [check available pods]
No resources found.
[root@server106 ~]# oc get dc       [check available dc(deployment config)]
No resources found.
[root@server106 ~]# oc get bc      [check available bc(build config)]
No resources found.
Step 3 :- Create mysql pod, what is pod? to understand in simple language it is box which contain containers.
[root@server106 ~]# oc new-app -e MYSQL_USER=<USERNAME> MYSQL_PASSWORD=<PASSWORD> MYSQL_DATABASE=<DATABASE_NAME> openshift/mysql-56-centos
[root@server106 ~]# oc get pods
NAME                        READY     STATUS      RESTARTS   AGE
mysql-56-centos7-1-7flz9    1/1       Running     0          65m
mysql-56-centos7-1-deploy   0/1       Completed   0          88m
[root@server106 ~]# oc get dc
NAME               REVISION   DESIRED   CURRENT   TRIGGERED BY
mysql-56-centos7   1          1         1         config,image(mysql-56-centos7:latest)
[root@server106 ~]# oc get svc [check service]
NAME               TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)    AGE
mysql-56-centos7   ClusterIP   172.30.252.164   <none>        3306/TCP   89m
[root@server106 ~]# oc get is [check image service]
NAME               IMAGE REPOSITORY                                                                                                                                                         TAGS      UPDATED
mysql-56-centos7   default-route-openshift-image-registry.apps.ocp-ap3.prod.nextcle.com
[root@server106 ~]# oc describe pod mysql-56-centos7-1-7flz9     [check all details of pod]
Step 3 :- Create wordpress pod.
[root@server106 ~]# oc new-app https://github.com/wordpress/wordpress
[root@server106 ~]# oc get dc
NAME               REVISION   DESIRED   CURRENT   TRIGGERED BY
mysql-56-centos7   2          1         1         config,image(mysql-56-centos7:latest)
wordpress          0          1         0         config,image(wordpress:latest)
[root@server106 ~]# oc get pods
NAME                        READY     STATUS      RESTARTS   AGE
mysql-56-centos7-1-deploy   0/1       Completed   0          143m
mysql-56-centos7-2-deploy   0/1       Completed   0          15m
mysql-56-centos7-2-wsg9x    1/1       Running     0          6m16s
wordpress-1-build           1/1       Running     0          29s
[root@server106 ~]# oc get svc
NAME               TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)             AGE
mysql-56-centos7   ClusterIP   172.30.252.164   <none>        3306/TCP            144m
wordpress          ClusterIP   172.30.150.132   <none>        8080/TCP,8443/TCP   82s
[root@server106 ~]# oc expose svc wordpress
route.route.openshift.io/wordpress exposed
[root@server106 ~]# oc get route
NAME        HOST/PORT                                     PATH      SERVICES    PORT                                                                                    TERMINATION   WILDCARD
wordpress   wordpress-lw1.apps.ocp-ap3.prod.nextcle.com             wordpress   8080-tc                                                                             p                 None
If you followed the same steps you will be able to access wordpress framwork in your browser using this URL wordpress-lw1.apps.ocp-ap3.prod.nextcle.com.

Comments

Popular posts from this blog

error: db5 error(11) from dbenv->open: Resource temporarily unavailable

If rpm command is not working in your system and it is giving an error message( error: db5 error(11) from dbenv->open: Resource temporarily unavailable ). What is the root cause of this issue? How to fix this issue?   just a single command- [root@localhost rpm]# rpm --rebuilddb Detailed error message- [root@localhost rpm]# rpm -q firefox ^Cerror: db5 error(11) from dbenv->open: Resource temporarily unavailable error: cannot open Packages index using db5 - Resource temporarily unavailable (11) error: cannot open Packages database in /var/lib/rpm ^Cerror: db5 error(11) from dbenv->open: Resource temporarily unavailable error: cannot open Packages database in /var/lib/rpm package firefox is not installed [root@localhost rpm]# RPM manage a database in which it store all information related to packages installed in our system. /var/lib/rpm, this is directory where this information is available. [root@localhost rpm]# cd /var/lib/rpm ...

Failed to get D-Bus connection: Operation not permitted

" Failed to get D-Bus connection: Operation not permitted " - systemctl command is not working in Docker container. If systemctl command is not working in your container and giving subjected error message then simple solution of this error is, create container with -- privileged option and also provide init file full path  /usr/sbin/init [root@server109 ~]# docker container run -dit --privileged --name systemctl_not_working_centos1 centos:7 /usr/sbin/init For detailed explanation and understanding I am writing more about it, please have look below. If we have a daemon based program(httpd, sshd, jenkins, docker etc.) running inside a container and we would like to start/stop or check status of daemon inside docker then it becomes difficult for us to perform such operations , because by default systemctl and service  commands don't work inside docker. Normally we run below commands to check services status in Linux systems. [root@server109 ~]# systemctl status ...

How to check rpm integrity?

This post will help you to get answers of below questions- How to check rpm integrity? How to check rpm authenticity? How to check rpm digital signature? What is gpgcheck? Let's take an example of below rpm package and see, how to verify if it is a genuine package? [root@localhost tmp]# ls -l vsftpd-2.2.2-11.el6.x86_64.rpm -r--r--r--. 1 root root 154392 Jan 27 10:27 vsftpd-2.2.2-11.el6.x86_64.rpm [root@localhost tmp]# There are multiple way to verify. 1. Verify using rpm [root@localhost tmp]# rpm -q vsftpd package vsftpd is not installed [root@localhost tmp]# [root@localhost tmp]# rpm -K vsftpd-2.2.2-11.el6.x86_64.rpm vsftpd-2.2.2-11.el6.x86_64.rpm: RSA sha1 ((MD5) PGP) md5 NOT OK (MISSING KEYS: (MD5) PGP#fd431d51) [root@localhost tmp]# If you want to see more details then use below options [root@localhost tmp]# rpm -vvK vsftpd-2.2.2-11.el6.x86_64.rpm D: loading keyring from pubkeys in /var/lib/rpm/pubkeys/*.key D: couldn't find any keys in /var/...