Kubernetes is the most sought out container that is available in the Container Engine for Kubernetes, sometimes abbreviated as OKE is a fully-managed, scalable, and highly available service that you can use to deploy your containerized applications to the cloud.
In this blog, we are going to cover:
- Managed Kubernetes Providers
- What is Oracle Kubernetes Engine
- Oracle Cloud Infrastructure Registry
- Working with OKE On OCI
- Ways To Launch Kubernetes On Oracle
- OKE on Multi/Single AD Region
- Create Oracle Kubernetes Cluster
- Networking in OKE
- Storage in OKE
- Benefits Of Using Oracle Kubernetes (OKE)
Managed Kubernetes Providers ^
Even-though Kubernetes is so helpful in today’s world but now it becomes very difficult to configure, manage, and maintain production. Hence, the cloud providers have recognized this situation and a whole host of managed Kubernetes services have been provided to address this issue. In Kubernetes architecture, both the master node and worker nodes are managed by the user. But in managed Kubernetes service third-party providers manage the Master node & user manages the Worker node also manage Kubernetes offers dedicated support, hosting with pre-configured environments. Managed solutions take care of much of this configuration for you.
Managed Kubernetes Service Example:
a) Azure Kubernetes Service (AKS)
Note: know more about Azure Kubernetes Service
b) Oracle Kubernetes Engine (OKE)
Note: In this post, we will be covering Oracle Kubernetes Engine (OKE).
c)Elastic Kubernetes Service (EKS)
Note: know more about Elastic Kubernetes Service
d) Google Kubernetes Engine (GKE)
Note: To know more about Google Kubernetes Engine, Click here.
What is Oracle Kubernetes Engine? ^
Oracle Cloud Infrastructure Container Engine for Kubernetes is a fully-managed, scalable, and highly available service that you can use to deploy your containerized applications to the cloud. Container Engine for Kubernetes uses Kubernetes – the open-source system for automating deployment, scaling, and management of containerized applications across clusters of hosts.
Note: Read more about Kubernetes architecture
Oracle Cloud Infrastructure Registry ^
Oracle Cloud Infrastructure Registry is an Oracle-managed registry which is used to store, share, and manage development artifacts like Docker images. The OCIR is the same as Docker Hub but managed bt the Oracle. OCIR is a highly available and scalable architecture of Oracle Cloud Infrastructure.
Note: Read more about OCIR, click here
Working with OKE on OCI ^
Oracle Kubernetes service built on Oracle Cloud Infrastructure which uses OCIR to store, share, and Docker Images the second layer is OKE in this oracle create 3 master nodes and 3 etcd clusters for high availability in three different availability domains in a region. then the third layer is worker nodes these can be a virtual machine or a bare-metal cluster which are managed by the customer. In OKE you only pay for Worker nodes the OCIR and OKE are free of cost.
Note: Read more about Compute in Oracle cloud
Note: Read more about OCI Regions
The OCI registry to store images and the Master Node will be taken care of by the Oracle and FREE, so the only thing the user has to worry about and pay for is the Worker Nodes! Really cool isn’t it?
Also read: Docker Architecture | Docker Engine Components | Container Lifecycle.
Ways to Launch Kubernetes on Oracle ^
There are basically three methods to run Kubernetes on OCI
- Roll-your-own Container Management: Using the OCI component to create a Kubernetes Cluster and deploying container runtime like Docker, Kubernetes, Mesos. (Do it yourself, model)
- Quickstart Experience: Automated model with terraforming to build components of the Kubernetes cluster (terraform on Github).
- Container Engine for Kubernetes: OKE is the manageable service in OCI used for deploying the Kubernetes cluster within a few steps.
Container Engine for Kubernetes is a highly available and manageable service in Oracle Cloud Infrastructure (OCI). It is used to deploy Cloud Native applications in OCI. We can create an application using Docker Containers and then deploy them on OCI using Kubernetes. Kubernetes groups the application containers into logical units called pods. We can manage the Container Engine for Kubernetes using API or Console.
We can create by default three clusters (Monthly flex costing model) or one cluster (pay as you go costing model). In each cluster, we can have a maximum of 1000 nodes, a maximum of 110 pods can run on each node.
Deployment of OKE ^
Oracle Cloud Infrastructure (OCI) Servers & Data is hosted in a Region. Availability Domain (AD) is one or more data centers located within a region. A region is composed of three availability domains. So, depending upon the region you can deploy on availability Domain and Fault Domain.
OKE on Multi/Single AD region
Create Oracle Kubernetes Cluster ^
We can create a Kubernetes cluster in OCI using various methods like
A) Using console (quick cluster)
B) Custom setting in console (custom cluster)
C) Using API
You should have an Oracle cloud account to get started with OKE. You can create a free trial Oracle cloud account from where you can access the OKE.
Please follow the steps given below to create a cluster and connect it:
1) Register & Log in to the Oracle Cloud account, to login click here.
Note: First, you should have an Account at Oracle Cloud and if you don’t have one, then you can register FREE using my step-by-step video & guide that I covered in episode 30.
2) Create a compartment on your Oracle cloud account, by giving a unique name to the compartment by adding a friendly description. To know in detail about, compartments in OCI, please click here
Compartment Creation
3) The next step is to create a Kubernetes Cluster using Quick Create in the navigation menu, click on Developer Services and Container Cluster (OKE). After getting inside the compartment we created before, click on create a cluster in that compartment.
Check out: All you need to know about Docker Storage
Note:
1) There are two ways to create a cluster, first is by using default settings Quick Create in which we create a cluster with all the resources, created by default like VCN, Internet Gateway, NAT Gateway(if selected private visibility type), Route Tables, Security Lists, Subnets, Worker Nodes, and Node Pool.
2) Another method is by using custom settings Custom Create in which we have to create all resources manually. In this guide, we are creating a Cluster by using Quick Create.
While configuring a cluster, please follow the below steps
Cluster Configuration
Check Out: Our blog post on Kubernetes for Testers. Click here
Move to Kubernetes engine and move all your resources to the required compartment, and then connect to Kubernetes Cluster.
Created Cluster
Finally, setup kubeconfig file and verify whether kubectl can access the cluster.
Also read: our blog on Kubernetes Networking Services
Networking in OKE ^
For Networking, you can define the Load Balancer to forwarded request applications running on Pods inside the Kubernetes Cluster on Worker Nodes. Load Balancer is one of the services of offered by K8s, it provides automated traffic distribution from one entry point to multiple servers in VCN or Load balancer automatically distributes traffic to list healthy backend servers based on Health Check Policy, and Load Balancing Policy.
Load balancer in OKE
Note: Check our blog to know more about Load balancing in OCI.
Controllers In Kubernetes
In Kubernetes, controllers are control loops that watch the state of your cluster, then make or request changes where needed. Each controller tries to move the current cluster state closer to the desired state. There are 2 types of containers used in OKE clusters namely, Nginx & F5 Big-IP. Either of these two can be used in OKE.
Ingress & F5-Big-IP controller
Storage In OKE
For applications that need persistent storage, you can have File Storage Service, so that Pods running on different machines can share the same file system or you can also have Block Storage.
Note: Read our blog to know more about storage in OCI.
Benefits Of Using Oracle Kubernetes (OKE) ^
- Easy to build & maintain applications and economics.
- Easy to integrate Kubernetes with registry using OKE.
- Feasible for developers to deploy and manage container applications on the cloud.
- Combine open-source container orchestration of Kubernetes with oracle services like control, IAM, security, etc.
Reference/Related Post
- Subscribe to our Docker & Kubernetes YouTube channel
- [Video] Containers (Docker) & Kubernetes In Azure For Beginners
- Kubernetes Architecture & Components Overview For Beginners
- Docker Image And Layer Overview For Beginners
- Docker Networking & Different Types Of Networking For Beginners
- For Networking & Type Documentation on Docker, Click here.
Begin Your Cloud Journey
Begin your journey towards becoming an Oracle Cloud Expert and earn a lot more in 2024 by joining our FREE CLASS. You will also know more about the Roles and Responsibilities, Job opportunities for OCI Architects, Admins in the market, and what to study Including Hands-On labs you must perform to get the Higher Paying jobs.
Click on the below image to Register for Our FREE Class on MASTERING ORACLE CLOUD FOR DBAs, APPs DBAs, ARCHITECTS & SYS ADMINS
Leave a Reply