Oracle

Oracle OpenWorld: 10 Things You Should Know about Kubernetes

As many of you know, Kubernetes is a hot topic in the cloud world and it’s important to anyone on any cloud platform.  Michael Schildmeijer presented on the topic of Oracle and Kubernetes.

But first, a quick definition:

Kubernetes is an open-source container-orchestration system for automating deployment, scaling and management of containerized applications. It was originally designed by Google and is now maintained by the Cloud Native Computing Foundation

Oracle Joins Kubernetes

In 2017 Oracle joined the Kubernetes movement.  That means it also became supported or certified on Oracle Cloud. It’s certified for Oracle container engine, provisioning, Oracle Linux, Oracle Terraform Installer

Container are an evolution of machines.

  • Application and software move as a whole
  • VM is one big unit for all
  • Container: the opposite. Small unit for one service or application
    • Share the OS kernel
    • Isolate resources

Challenge: Once you create enough small containers, you begin to have problems with orchestration.

Solution: Kubernetes is one option to manage and orchestrate container processes

Fact: Kubernetes comes from ancient Greek and means captain or leader

You can do it yourself

  • You can start with the basic infrastructure. Create your own instance.
    • Spin up master domain and availability domains
    • Use a Linux image
  • Another solution is to do it on premise.
    • Install Linux and spin up some services
    • Configure Addon yum repository
    • Enable docker and login to Oracle container registry
  • Set system variables
    • Point to where the Kubernets Reop is locationed
    • Do the yym install
    • install kubeadm and configure
    • setup terraform that provides kubernetes to the cloud
    • Create your token for authentication

Kubernetes for Oracle Container Engine

This is a cloud ready Kubernetes engine. You can provision it through the cloud infrastructure. You can configure the container registry in the cloud admin.  This is totally automatic. All the scripting has been done for you.

Oracle - Guide to Oracle Cloud: 5 Steps to Ensure a Successful Move to the Cloud
Guide to Oracle Cloud: 5 Steps to Ensure a Successful Move to the Cloud

Explore key considerations, integrating the cloud with legacy applications and challenges of current cloud implementations.

Get the Guide

Oracle Container Engine still has the “classic” one but ti’s not Kubernetes.

Setup still requires setting up a Kubernetes instance and setting up some cloud keys.

Why: it’s the easy way…….although there can still be some hiccups

Kubernetes OCI and Terraform

Another way to provision the cluster is to use terraform.  Oracle embraced terraform as a good way to deploy Kubernetes to the cloud.  Scripts are available on Github. But you have some tasks:

  1. Downlaod to your client
  2. Generate your private /public keys
  3. Setup your api key to a user you want to use
  4. Fill your terraform environment variables with cloud instance, api key etc.
  5. Do your terraform plan to review and apply
  6. Voila, Kubernetes in the cloud

You Can Use Wercker to Deploy

It’s a company from the Netherlands that Oracle acquired. They are a CICD provider.

  1. Download from github
  2. download a special Kubernetes yaml
    1. add pipeline and K8s specifics

Helm and Tiller

Using the Kubernetes Greek captain theme.  Helm and Tiller is a package manager.

  • Helm is a client, Tiller runs as a server in kubernetes
  • Comparable to YUM for Linux
  • You can get the install script from Github
    • download and do an init
    • Then you can add Tiller and helm as an addon

Weblogic and Kubernetes

What is a Java app server doing with Kubernetes?  It’s a big beast?

Answer: it’s more like an evolution. For now Oracle made it ready to run with it.

  • In essence, you install a weblogic cluster inside of a Kubernetes cluster and use traefik for load balancing
  • Michael is not convinced of the validity of this method.
    • Weblogic is a 2 gig download and that breaks one tenet of Kubernets against large components
  • There is a lot of documentation on how to install it but you need to figure out your path

It’s certified for 12.2.1.3

Weblogic, Kubernetes, Prometheus, and Grafana

Promotheus is a good tool to gather statistics for your JVM’s.  Your dashboard is Grafana.  Essentially, you jjust need to monitor your stack.

The same skepticism applies here as with Weblogic and Kubernetes.  Think it through before you choose this option.

Oracle, Kubernetes and Alternatives

There exist a number of other alternatives.  You can use Canonical on Ubuntu on Oracle Cloud.

Tips and Considerations

  • The more services you spin up, the more traffic you get. Be careful and limit it as much as you can
  • Use HTTP/HTTP/2 for external
  • Use TCP / UDP for internal
  • Serialization of applications with JSON, Coherence
    • transactional applications are tough for Kubernetes.
    • it’s supported but it degrades performance.
    • Do it lightweight with something like JSON or Coherence
  • Map application file shareable on a host-volume
    • This is especially important or weblogic and with databases
  • Better to use small images.
  • Use base image fora as much as you can
  • Ensure that settings such as JVM heap have been synchronized to pods
    • Don’t make it too small. Don’t let it eat all the resources
About the Author

Mike Porter leads the Strategic Advisors team for Perficient. He has more than 21 years of experience helping organizations with technology and digital transformation, specifically around solving business problems related to CRM and data.

More from this Author

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Subscribe to the Weekly Blog Digest:

Sign Up