Introduction
Kubernetes (K8s) as a service (KaaS) is becoming a popular offering for those who want to use K8s, but do not have the time nor the expertise to manage it themselves. KaaS relieves you of the burden of building and maintaining a Kubernetes cluster. It offers the ability to get started quickly (in minutes instead of hours) and promises reliability for the core K8s services, leaving you to just manage the worker nodes, depending on load.
Oracle has now entered this market with their KaaS offering known as “Oracle Container Engine for Kubernetes”, abbreviated as OKE. At the time of writing they are offering K8s versions 1.11.1, 1.10.3 and 1.9.7 across four geographic regions, Providing a highly available CNCF conformant platform built on Oracle Cloud Infrastructure with all the security, control, and predictable performance one would expect from a leading enterprise player. Alongside the base K8s platform there is also a private Docker registry service and Container Pipelines CI/CD tooling. Full access to the worker nodes via SSH is possible, giving developers complete control.
Once you have a K8s cluster up and running, which is quite easy with the “quick create” option, all the regular K8s tools work as normal e.g. kubectl, Helm. A great feature is that Helm can optionally be installed when you create a cluster.
Instana monitors both the Kubernetes core services and the applications deployed on the cluster, providing deep insight into the infrastructure and the deployed microservices. Instana monitors the data plane, while the control plane is hosted by Oracle in a highly available environment. Utilizing a high level of AI powered automation, the collected data is turned into actionable insights, maintaining speed of your CI/CD process when using Kubernetes as your deployment platform. All you need to do to take advantage of Instana’s automatic Kubernetes monitoring on OKE is to open an Oracle Cloud account at https://cloud.oracle.com/trial and an Instana account; then simply install the Instana Agent.
Instana Agent Installation
Check the Instana supported versions of K8s before creating your K8s cluster in OKE. Because OKE is a conformant implementation of K8s the Instana Agent just works as it would with other implementations. The recommended way to install the agent is to use the Helm chart; this is handy as there is the option to install Helm when you create a cluster on OKE.
- Clone the Helm chart: git clone https://github.com/helm/charts/tree/master/stable/instana-agent
- Edit values.yaml to insert your unique key, end point and zone name
- Install: Helm install –name instana-agent –namespace instana-agent
Check out our YouTube Channel for a video walkthrough of the above steps.
Fully Automatic Monitoring
Once the Instana Agent has been installed into the OKE cluster it will start to automatically discover all the containers running in the Pods. For the supported technologies it will automatically start to collect time series metrics and for the supported language runtimes it will start AutoTrace™ to capture every request end to end.
The screenshot shows automatically discovered infrastructure
Services and their endpoints are automatically discovered and their KPIs automatically calculated: Rate, Errors, and Duration. The dependencies between services and services to data stores are automatically discovered and tracked. Error messages are automatically captured and indexed against each endpoint and rolled up to Service and Application level.
The screenshot shows automatically discovered service interdependency
Tracking the relationships between everything enables automatic root cause analysis used for providing intelligent alerting. Indexing error messages against each endpoint facilitates immediate access to additional diagnostic context without the need to switch tools.
The screenshot shows trace detail for a single request
Every request is traced end to end. There is no averaging or sampling as data is presented. Instana AutoTrace does this entirely automatically without the need for any code modification or restarts for supported languages. All contextual information, including any error messages, are included in the trace. Additional contextual information may be optionally added via API calls.
Conclusion
As the Kubernetes marketplace continues to mature with increasing enterprise adoption by both providers and consumers, Instana provides performance management value to those organizations. The highly automated monitoring capabilities of Instana adapt to rapidly changing Kubernetes environments, providing actionable information with nearly zero configuration. Maintaining, and even accelerating, the speed of your CI/CD process is only possible with high levels of automation; OKE provides that automation for deployment and Instana provides that automation for monitoring application quality.
To stay up to date with everything Cloud Native at Oracle, check out the Oracle Cloud Native Labs blog. In addition to interesting content, it also has tutorials about open source software.