Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Kubernetes and Oracle - a guiding whitepaper

579 views

Published on

Companies these days are on the cutting edge of making important decisions regarding containerizeation of their IT Landscape, and also whether, how and when they should move to the cloud.
This whitepaper helps then to make the right decisions regarding the comatiner orchestration platform and how it works together with the Oracle Cloud Infrastructure. Lots of tips, takeaways and considerations to read an think over, so at the end you can make the most optimal choice for your companies strategy

Published in: Software

Kubernetes and Oracle - a guiding whitepaper

  1. 1. Kubernetes and the Oracle Cloud whitepaper Michel Schildmeijer Oracle’s adoption of Kubernetes as the Orchestration Platform for containers
  2. 2. K8S Oracle Cloud Whitepaper PAGINA 2 VAN 28 Contents This whitepaper................................................................................................................ 3 The Container “Hysteria” …................................................................................................... 4 Pre-container era.............................................................................................................. 4 Get Containerized… or not?................................................................................................ 6 Use cases to go “Containerized” ......................................................................................... 7 Docker and Kubernetes ..................................................................................................... 7 Phase 1 ........................................................................................................................ 8 Phase 2 ........................................................................................................................ 8 Phase 3 ........................................................................................................................ 8 Oracle and the Cloud Native Computing Foundation .............................................................. 9 Kubernetes “do it yourself”..................................................................................................10 The Oracle Cloud Infrastructure – Next Generation ..............................................................10 Setup Kubernetes............................................................................................................12 Oracle Kubernetes Engine (OKE) ..........................................................................................14 Setup with the OCI console...............................................................................................15 .....................................................................................................................................15 The OCI wrapper .............................................................................................................17 Terraform provider ..........................................................................................................17 Applying Kubernetes using Terraform..............................................................................18 Kubernetes Deployment and provisioning ...........................................................................20 Helm and Tiller.............................................................................................................20 Implement Helm/Tiller...................................................................................................20 Helm chart repositories – KubeApps................................................................................21 Example: Install Jenkins using Helm and KubApps ............................................................22 WebLogic and Kubernetes ...................................................................................................23 Migrate Tooling.............................................................................................................23 WebLogic in Kubernetes ................................................................................................24 WebLogic Kubernetes Operators .....................................................................................24 WebLogic Kubernetes - Prometheus & Grafana....................................................................26 Conclusion Kubernetes and the Oracle Cloud Infrastructure .....................................................28
  3. 3. K8S Oracle Cloud Whitepaper PAGINA 3 VAN 28 This whitepaper A whitepaper is usually some guideline of how to start with a certain topic, subject., or in IT terms, technology. It gives you some hints and tips to think over, in order to make decisions that will affect your future. Those tips are usually a combination of what specific communities of a certain subject bring out of this, in a combination with experiences from the “field”. So read this whitepaper as a guidance, a starting point for making your own decisions, based on your specific situations. This whitepaper will handle the following topics: • Brief overview of “container hysteria”; o what is it; o why is it there; o why should or should I do it? • Some background: Oracle’s recognition and adoption of Cloud Native Technologies. o The opinion about Oracle and the Cloud. o Informative if you are in a decision phase. • How to start in a “do it yourself” way; “my 1st managed container platform”. • Oracle’s Cloud adoption of Kubernetes, ways to set up. • Automation with Terraform. • Kubernetes extended API’s, such as Helm/Tiller. • Setup network, routing. • The use of K8S operators. • Continuous monitoring with Prometheus and Grafana. • Oracle technologies running on Kubernetes. • Other hints, tips and takeaways. This whitepaper is not specific about Kubernetes or Oracle technology but a bit of both. After reading this whitepaper, you hopefully have more insight in this sometimes-complicated matter, in what to choose, and what not. It could be that specific to you own situation, the outcome of a conclusion could be totally different that you’d expected!
  4. 4. K8S Oracle Cloud Whitepaper PAGINA 4 VAN 28 The Container “Hysteria” …. It might sound to you like an odd title for a bestseller, but I’d like to emphasize this topic because in the world arounds us, especially the IT world, hypes around new technologies pop up so every now and then, which is good, I think. It helps us to innovate, and follow new innovations and place them into the right context. However, sometimes decisions are made based on hypes because no company wants to get running behind the facts, and come to the conclusion that one “should have” instead of “could have: Now there could be several drivers for a company to choose a container strategy, but let’s first have a look what is meant by the term “container” in this discussion, and how we should interpret this. Pre-container era In the traditional way of how IT is served is usually an application or a suite of applications installed on a piece of hardware, server or multiple servers combined with infrastructure software, perhaps application server software and connecting to one or more database to insert or extract data from. Virtual Machine Engines Bare Metal Servers Container Engines
  5. 5. K8S Oracle Cloud Whitepaper PAGINA 5 VAN 28 Bare metal hardware With the coming of virtualization software applications didn’t have to be installed on bare metal, with no isolation of network, security and so on but one piece of hardware. Applications use all resources with less control of these, unless some other piece of software is installed to control this. Virtualization Servers no can be divided into multiple virtual parts, called virtual machines. In a way they are still servers in a server. They are using virtualization with a so-called hypervisor to consume hardware resources such as storage, compute power and network could be share, but also important, a level of isolation can be accomplished. Containerization Giving one good definition of what a container means in this discussion is tough, but let’s give it a try. There are some characteristics containers have such as • Small unit for one or a few services or small application • They share the OS kernel • They make use of shared resources, but an isolated segment is dedicated for them • It’s a lightweight configured package with storage, network, and application artifacts in one In the next figure, you can see on a high level the differences between virtual machines and container. Server Server Core Operating System VM Engine (Hypervisor) Core Operating System Guest OS Guest OS Container Engine bin/libs App B bin/libs App B bin/libs App B bin/libs App B Virtual Machine Container Technology
  6. 6. K8S Oracle Cloud Whitepaper PAGINA 6 VAN 28 In essence, the container principle is something already existed in the early days of UNIX, called chroots, where a program can run in an isolated part. In specific terms: You create an artificial root access that only allows you to see the operating system that you specified, all configuration options you need are set up, and then implement your code into it and you have something like a container. Further evolution resulted in nowadays container engines, where the most well-known and more or less the standard is Docker. So, the most important container technologies are: • Docker – Runs as a process, is based on Linux Containers, they do not run an independent version of the OS kernel. • CoreOS – Using an opensource Container Image, now part of RedHat’s OpenShift • LVE – Lightweight virtual environments– Thread based kernel-level technology All these technologies are supported and certified by the Open Container Initiative (OCI). Get Containerized… or not? Moving to containerization is some sort of an evolution process companies will go through. Some companies are at the beginning of it, or maybe not even started because there is no direct need for it. Containerization never comes by itself, it’s a result of companies looking at other ways of programming their applications, moving their application workload to the cloud, adopt an agile way of working; there can be many reasons to start to containerize.
  7. 7. K8S Oracle Cloud Whitepaper PAGINA 7 VAN 28 Use cases to go “Containerized” Case Container Use Case Development Developer productivity; Consistent; app stacks in Dev, Test & Production CI/CD Containerized dependencies; Container registries; Operations Standardized environments for dev, testing and operations Legacy Refactor from applications tier to portable containerized applications Cloud Strategy Move entire application landscape and see them run identically in the cloud Microservice Strategy Create small purpose-built services to break monoliths into scalable custom applications Docker and Kubernetes Though there are several technologies available, two of them are more or less leader in the market and the de-facto standard for containers and container management. So, looking at cloud native technologies, Docker and Kubernetes go hand in hand, where Kubernetes manages Docker-style container processes on different levels.
  8. 8. K8S Oracle Cloud Whitepaper PAGINA 8 VAN 28 There are of course some other technologies which do more or less the same Before companies have a mature container platform, they usually go through some stages of adoption: Phase 1 Developer focus: Adoption by Developers for their Dev and maybe Test apps. They have a simple setup of their orchestration, so not enterprise ready yet. Phase 2 A second phase usually results in a first DevOps deployment where a level of automation has been reached. A team deploys Production ready apps and uses already more advanced orchestration. Phase 3 In this phase a broad integration of business applications is accomplished and the level of automation, releasing and continuous monitoring becomes om a large scale.
  9. 9. K8S Oracle Cloud Whitepaper PAGINA 9 VAN 28 Oracle and the Cloud Native Computing Foundation • Oracle is a large company which aim is selling services, software and solutions to customers, just as other software vendors do. But they also realize they have to get influence in the opensource movement and for Oracle it means that their Cloud Container platform was adopted and certified by the CNCF in 2017. Oracle is actively participating Cloud Native Compute Foundation and Kubernetes (see https://www.cncf.io/about/members/) Being adopted and certified gave a huge boost to the cloud native technologies Oracle now delivers in its 2nd generation Cloud, and had some great benefits|: • There is no forked code – straight from the source • Oracle software on in the Docker Store and its own container registry • Kubernetes engineering comes out in the CNCF • Java SE/EE movement to open sourcing; transparent processes; Innovate in open source • Cloud provisioning utilities such as K8S terraform install • Sponsor & contribute to key conferences such as DockerCon, Kubecon, CoreOS Fest, other to become a mature player in the market.
  10. 10. K8S Oracle Cloud Whitepaper PAGINA 10 VAN 28 Kubernetes “do it yourself” Now every big Cloud vendor presents a Kubernetes Engine in the cloud, easy to setup, but of course you can build such an environment all by yourself: EKS by Amazon OKE by Oracle GKE by Google AKS by Microsoft And some other like Digital Ocean. So, you can set it up like: - Using it on premises in your own datacenter - Or spin up compute at any Cloud provider (AWS, Google, Azure, Oracle) just as you would do on premises In the Oracle Cloud Infrastructure, you will have to set up a few things before you can start. I won’t dive into what you need to have an Oracle Cloud base IaaS, but more like the requirements needed for running your own managed Kubernetes. The Oracle Cloud Infrastructure – Next Generation The 2nd generation of the Oracle IaaS platform shows us a more mature, coherent platform which can cope up with its competitors. You can see more or less the same services available, and of course the Oracle extra’s. Either you use OCI to create servers, or you use on premise servers, the principle remains the same: you will have to build it up yourself. OCI now knows something like a compartment, a logical unit within your Cloud Infrastructure where you can build up anything you need, isolated from another created compartment. Creating your IaaS Servers in your “Demo Compartment”
  11. 11. K8S Oracle Cloud Whitepaper PAGINA 11 VAN 28 In here you create your VM, define the O/S template, shape (compute power etc), availability domain (the cloud datacenter location), virtual cloud and other network components. So, if you have your servers the following need to be done, if not there: - Update your YUM repositories - For non-Oracle Linux: - For Oracle Linux: Furthermore, you need to connect to some container registry; this can be the standard Docker one or the one that Oracle maintains. # docker login container-registry.oracle.com cat <<EOF > /etc/yum.repos.d/kubernetes.repo > [kubernetes] >name=Kubernetes >baseurl=https://packages.cloud.google.com/yum/repos/kubernete s-el7-x86_64 > enabled=1 > gpgcheck=1 > repo_gpgcheck=1 [ol7_addons] name=Oracle Linux $releasever Add ons ($basearch) baseurl=http://yum.oracle.com/repo/OracleLinux/OL7/addons/$bas earch/ gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
  12. 12. K8S Oracle Cloud Whitepaper PAGINA 12 VAN 28 Setup Kubernetes There are several ways to setup Kubernetes • First set to Kubernetes system variables • Install kubeadm through YUM • Init Kubernetes does some basic Kubernetes setup However, doing a yum install to an Oracle YUM repository delivers you a setup script, kubeadm-setup.sh which you can use: This does the following • Sets up the Kubernetes master • Sets up basic cluster RBAC • Sets up basic DNS • Deploys the Kubernetes Dashboard and sets up a proxy access to it # export KUBE_REPO_PREFIX=container-registry-ash.oracle.com/kubernetes # echo 'export KUBE_REPO_PREFIX=container-registry-ash.oracle.com/kubernetes' >> ~/.bashrc yum install kubeadm kubeadm init
  13. 13. K8S Oracle Cloud Whitepaper PAGINA 13 VAN 28 When finished, execute some of the following to have a basic system running And verify the basics are running well To get access to the graphical dashboard you can extract the token for login in sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config export KUBECONFIG=$HOME/.kube/config echo 'export KUBECONFIG=$HOME/.kube/config' >> $HOME/.bashrc kubectl -n kube-system describe $(kubectl -n kube-system get secret -n kube-system -o name | grep namespace) | grep token
  14. 14. K8S Oracle Cloud Whitepaper PAGINA 14 VAN 28 Oracle Kubernetes Engine (OKE) In the 1st generation Cloud IaaS services Oracle provided, there was a Docker Engine in the cloud called OCCS (Oracle Container Cloud Services) which had a graphical interface to manage the Docker containers, but it was not Kubernetes yet. Managed Docker engine in the Oracle Cloud v1 With generation 2 Oracle provides an engine, with a lot of similarities from other Kubernetes Engines from other Cloud providers. OKE is a configured Kubernetes engine in the Oracle Cloud and can be setup in several ways.
  15. 15. K8S Oracle Cloud Whitepaper PAGINA 15 VAN 28 Setup with the OCI console Within the OCI Cloud console there is a preconfigured OKE to be found, where you with a few simple clicks can get up and running a Kubernetes Cluster in the Oracle Cloud. You will have to login into your Cloud dashboard, select Compute where you will end up in the OCI. There you can find the OKE under Developer Services. , Here you setup your Kubernetes engine where almost everything will be configured for you. To work and setup this wat, your cloud account needs to have the OKE role, set by the Cloud Administrator: allow service OKE to manage all-resources in tenancy This has to be set on the root level of your Cloud tenancy and added to your user account /group.
  16. 16. K8S Oracle Cloud Whitepaper PAGINA 16 VAN 28 Other important things to think of to be able to create and/or manage clusters, you must belong to one of the following: • The tenancy's Administrators group. • A group to which a policy grants the appropriate Container Engine for Kubernetes permissions so grant the group the following permissions: ▪ VCN_READ and VCN_CREATE ▪ SUBNET_READ and SUBNET_CREATE ▪ COMPARTMENT_INSPECT ▪ INTERNET_GATEWAY_CREATE ▪ ROUTE_TABLE_UPDATE ▪ SECURITY_LIST_CREATE In the screen setup you will have to fill in some simple entries such as: • Name of the cluster • Kubernetes version • With the Quick Create a Virtual Cloud Network will be created for you • In the Node Pool create you can specify the compute shape • Also enable Helm and Tiller After having the cluster running, it’s best to access it from a local Linux client. Here you will need the kubeconfig file and the OCI wrapper.
  17. 17. K8S Oracle Cloud Whitepaper PAGINA 17 VAN 28 The OCI wrapper For setting up access form your local client and applying your Kubernetes cluster to be accessed and managed locally. First you need to download OCI, from GitHub Afterwards, you can set it up locally to access it. Terraform provider Oracle has adopted the Terraform provider as the cloud provisioning where you can setup an infrastructure with some environment files and terraform executables. Here’s is a diagram the way Terraform works for OCI: First of all, it is necessary to generate an API keypair and fingerprint on your local client, to be imported into your Cloud environment. mkdir -p $HOME/.kube oci ce cluster create-kubeconfig --cluster-id ocid1.cluster.oc1.eu-frankfurt- 1.aaaaaaaaaftggnbqgq2dam3fmi4tamrvmu3tkyrugmytgyzqgcrtinzzmmzw --file $HOME/.kube/config bash -c "$(curl -L https://raw.githubusercontent.com/oracle/oci- cli/master/scripts/install/install.sh)"
  18. 18. K8S Oracle Cloud Whitepaper PAGINA 18 VAN 28 The keypair needs to be converted to a compatible format for OCI: This you can add Applying Kubernetes using Terraform The official OCI Terraform provider can be found on https://github.com/oracle/terraform- kubernetes-installer where also is described a step to step installation of the provider and terraform it selves. Important to know Terraform about installing Kubernetes in the Oracle Cloud are: • Download and install the terraform package on you client • Download and install the OCI Terraform Provider (v2.0.0 or later) • Use a Terraform configuration file at that specifies the path to the OCI provider: File: ~/.terraformrc providers { oci = "<path_to_provider_binary>/terraform-provider-oci" } • Have kubectl installed • Use an environment file to specify the Cloud specifics, or if the file becomes to big separate into logical parts (storage, compute shape, network etc.)
  19. 19. K8S Oracle Cloud Whitepaper PAGINA 19 VAN 28 Env file example Finally, you will have to create a proxy route between your local client and the Kubernetes API Server, usually a simple command kubectl proxy With this you can access the Kubernetes dashboard locally http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes- dashboard:/proxy/ You can set this as a daemon so it will run as a service in your client The dashboard can also be exposed using an Ingress resource, but beware if that you do this secure with HTTPS/TLS and an extra annotation in you PodSpec: nginx.ingress.kubernetes.io/secure-backends: "true"
  20. 20. K8S Oracle Cloud Whitepaper PAGINA 20 VAN 28 Kubernetes Deployment and provisioning This section describes some ways of how to get your Kubernetes environment alive with running deployable applications using with the tools available. Focus is the broad tools and specific to the Oracle Cloud, using Oracle Container Pipelines. Helm and Tiller Helm/Tiller is a release and package management tool for Kubernetes, where Tiller runs as a service component at Kubernetes side, while Helm is on the client side. It’s a bit comparable with the Yum installer. Implement Helm/Tiller Very easy to do: And see Tiller is running: Or, when running OKE, you can enable it when creating curl https://raw.githubusercontent.com/helm/helm/master/scripts/get > get_helm.sh
  21. 21. K8S Oracle Cloud Whitepaper PAGINA 21 VAN 28 Helm chart repositories – KubeApps There is a huge helm repository available to install Helm charts in your Kubernetes cluster, which is called KubeApps First you need to add the repository: helm repo add bitnami https://charts.bitnami.com/bitnami helm install --namespace kubeapps -n kubeapps bitnami/kubeapps Next, you need to set the proper permissions to make use of it: kubectl create serviceaccount kubeapps-operator kubectl create clusterrolebinding kubeapps-operator --clusterrole=cluster-admin -- serviceaccount=default:kubeapps-operator Finally, you can access the KubeApps dashboard: echo "Kubeapps URL: http://127.0.0.1:8080" export POD_NAME=$(kubectl get pods --namespace kubeapps -l "app=kubeapps" -o jsonpath="{.items[0].metadata.name}") kubectl port-forward --namespace kubeapps $POD_NAME 8080:8080
  22. 22. K8S Oracle Cloud Whitepaper PAGINA 22 VAN 28 Now, when you want to install something, you also need to enable tiller RBAC Example: Install Jenkins using Helm and KubApps Get the Jenkins URL, un/pwd, exposed by the ingress controller kubectl create serviceaccount --namespace kube-system tiller serviceaccount "tiller" created kubectl create clusterrolebinding tiller-cluster-rule --clusterrole=cluster- admin --serviceaccount=kube-system:tiller clusterrolebinding "tiller-cluster-rule" created kubectl patch deploy --namespace kube-system tiller-deploy -p '{"spec":{"template":{"spec":{"serviceAccount":"tiller"}}}}' deployment "tiller-deploy" patched helm install bitnami/jenkins NAME: messy-bobcat LAST DEPLOYED: Wed Oct 3 05:56:18 2018 NAMESPACE: default STATUS: DEPLOYED export SERVICE_IP=$(kubectl get svc --namespace default messy-bobcat-jenkins - -template "{{ range (index .status.loadBalancer.ingress 0) }}{{.}}{{ end }}") echo "Jenkins URL: http://$SERVICE_IP/“ Jenkins URL: http://130.61.15.94/ echo Username: user echo Password: $(kubectl get secret --namespace default messy-bobcat-jenkins - o jsonpath="{.data.jenkins-password}" | base64 --decode)
  23. 23. K8S Oracle Cloud Whitepaper PAGINA 23 VAN 28 WebLogic and Kubernetes Oracle has done a lot already to make its products ready for Kubernetes. With WebLogic as the strategic platform to develop Enterprise Business applications, it is obvious that this platform must be possible to run with Docker and managed with Kubernetes. However, from a container standpoint it is to my opinion a bit trivial to put an entire platform into a container, especially when you look at containerization (small, lightweight, portable), and the new way of developing applications (microservices). You might ask if a platform such as WebLogic in its current form is still the way to go. However, Oracle provides Kubernetes support for WebLogic with the following: • WebLogic and Docker certification □ Docker images, Dockerfiles • WebLogic 12.2.1.3 Kubernetes • Manage, migrate and deploy □ Management: WLS K8s Operator □ Monitoring: Exporter for Prometheus □ Migration: Deploy tooling • Certification on Oracle Cloud □ OCI K8S cluster created with Terraform □ Oracle Kubernetes Engine • WebLogic running in Docker PODs in Kubernetes □ WebLogic 12.2.1.3+ □ Oracle Linux 7 □ Kubernetes 1.7.5, 1.8.0, 1.9.0, and 1.10.0, and the latest 1.12 □ Docker 17.03-ce □ Network Fabric - Flannel v0.9.1-amd64 ▪ Or others like Traefik, Apache □ Config resources (JDBC, JMS, JTA) □ Auto scaling (WLDF and Prometheus) Migrate Tooling • Still in an early phase, but this tool provides some strong capabilities for getting your WebLogic domain migrated to Kubernetes: • Domain introspection to: □ Create a model, a yaml file of your entire domain □ Migrate existing domains and upgrade them to 12.2.1.X □ Tested on 10.3.6 to 12.2.1.X • Customize to get “Kubernetes ready” • Create WebLogic domain docker images
  24. 24. K8S Oracle Cloud Whitepaper PAGINA 24 VAN 28 WebLogic in Kubernetes This diagram shows us a typical setup of a WebLogic domain in a Kubernetes Cluster where the WebLogic Admin and managed servers are each running in a pod, but the WebLogic Cluster spans between de different nodes. And finally, the Ingress/Egress controllers are managed from out the Kubernetes Cluster using a load balance resource (Traefik). WebLogic Kubernetes Operators Operators are API’s to extends the capabilities of the standard Kubernetes API. With them you can configure & manage more complex instances and actions. Specific purposes and use cases for Operators are: □ Stateful systems like databases because they are the most stateful □ Also meant to leverage more experience based and operational knowledge to k8s The operators come from knowledge out of the field in a software driven solution. A few of these operators are • Generic operators: □ By CoreOS ▪ Etcd –Storing data across cluster ▪ Prometheus
  25. 25. K8S Oracle Cloud Whitepaper PAGINA 25 VAN 28 • Oracle Operators: □ MySQL Operator □ WebLogic Operator Of course, you can develop one yourself for a specific purpose. The current WebLogic Operator which is meant to do simpler WebLogic management in Kubernetes, version 1.1 supports the following: • Kubernetes resources are allocated for WebLogic domain(s) • Manages overall WebLogic environment through Kubernetes APIs □ Load Balancer, Network, □ Ingress Controllers, □ Security, □ HA restart, upgrade, scaling □ Persistent storage for domain shareables • Ensures WebLogic best practices are followed • V2.0 is planned to come out in 2019 and will be extended with persistent volumes for logfiles and Helm Charts. To install the current version of the operator, the following prerequisites are required: • Kubernetes 1.10.11+, 1.11.5+, and 1.12.3+ o kubectl version • Flannel networking v0.9.1-amd64 o docker images | grep flannel • Docker 18.03.1.ce o docker version • Helm 2.8.2+ o helm version • Oracle WebLogic Server 12.2.1.3.0 with patch 29135930, the latest has this patch already • Configure the cluster-admin role to install the operator.
  26. 26. K8S Oracle Cloud Whitepaper PAGINA 26 VAN 28 WebLogic Kubernetes - Prometheus & Grafana Prometheus and Grafana are well known Open Source tools Opensource tools to monitor your stack where Prometheus feeds Grafana, and Grafana visualized the data collected. Also, the tools we’re adopted in 2016 to the CNCF so the obvious tooling for Kubernetes to monitor. Also, WebLogic in Kubernetes has capabilities to be monitored with Prometheus and Grafana. The tools are feeded with JMX Metrix out from WebLogic Diagnostics Framework (WLDF) using the WebLogic Monitor Exporter application which needs to be deployed as a war in your WebLogic domain. The wls-exporter gathers mbean metrics using a JSON config file in combination with a WLDF query. Below is an example of a query of a particular web application:
  27. 27. K8S Oracle Cloud Whitepaper PAGINA 27 VAN 28 Below in the diagram is show how wlsexporter feeds data to Prometheus 1. WLDF Query is configured and executed 2. wlsexporter gathers these metrics 3. In Prometheus, the WebLogic data is processed by the exporter 4. Through a datasource connected with Grafana the data can be visualized
  28. 28. K8S Oracle Cloud Whitepaper PAGINA 28 VAN 28 Conclusion Kubernetes and the Oracle Cloud Infrastructure There are a lot of conclusions to be made, and there are a lot of opinions about Oracle “far too late” Cloud strategy. A lot of these opinions are based on emotions, heard stories about Oracle and how they approach customers. But in this whitepaper, I’d like to stick with the facts, and the facts are that Oracle is doing a good when it comes to Kubernetes and containerization and certainly as much as good as the other big players on the market. However, their position is not in the top 3 and it will be difficult for Oracle to reach that. Nevertheless, Kubernetes is perfectly fit for the Oracle Cloud with lots of options to use and implement. Some of the most important key take-aways to setup and use a Kubernetes Cluster in the most optimal way are: • The more services, the more data exchange / network traffic; so, beware of a lot traffic • Scale enough resources for all your services • Use HTTP(s)(HTTP/2) for external traffic • Use TCP/UDP for internal application traffic such as serialization of applications o Maybe use a caching solution such as coherence • Map application files shareable on a host-volume • Keep docker as small as possible • Use base image for as much as possible purposes • Ensure that settings such as JVM heap has been synchronized to pods • Use Kubernetes resource limits but adjust them to specific application needs Example of a resource limit yaml resources: requests: cpu: 50m memory: 50Mi limits: cpu: 100m memory: 100Mi I can assure you, to choose Kubernetes in combination with the Oracle Cloud Infrastructure is certainly a good choice with a lot of benefits, technology choices and different options!

×