Introduction
Kubernetes is an open-source container orchestration tool, which provides the ability to automate deployment, scaling and management of containerised applications. If you’re not familiar with containers, check out Getting Started with FME Server and Docker
When deploying FME Server on Kubernetes, two tools are required:
- Helm, which is a package manager for Kubernetes which helps you define, install, upgrade and manage Kubernetes applications.
- Kubectl, which is a command-line tool that lets you control Kubernetes clusters. Kubectl needs to be configured to communicate with your cluster.
Why use Kubernetes?
For information on the benefits of Kubernetes and why you might want to use it for FME, see this article: Why would you use a Kubernetes deployment for FME Server?
Terminology
When working with Kubernetes, there are some common terms that you should know. All definitions are taken from the Kubernetes documentation.
Kubernetes Terminology | Definition | Kubernetes Documentation Reference |
---|---|---|
Cluster | A Kubernetes cluster consists of a set of worker machines, called nodes, that run containerized applications. Every cluster has at least one worker node. | Kubernetes Components |
Containers | A container is a runtime instance of a docker image. | Containers |
Ingress | An ingress is an API object that manages external access to the services in a cluster, typically HTTP. Ingress may provide load balancing, SSL termination and name-based virtual hosting. |
Ingress |
Namespace | Kubernetes supports multiple virtual clusters backed by the same physical cluster. These virtual clusters are called namespaces. | Namespaces |
Nodes | Kubernetes runs your workload by placing containers into Pods to run on nodes. A node may be a virtual or physical machine, depending on the cluster. | Nodes |
Pods | A Pod is a group of one or more containers with shared storage and network resources, and a specification for how to run the containers. | Pods |
ReplicaSet | A ReplicaSet's purpose is to maintain a stable set of replica Pods running at any given time. As such, it is often used to guarantee the availability of a specified number of identical Pods. | ReplicaSet |
Scheduling | In Kubernetes, scheduling refers to making sure that Pods are matched to Nodes so that Kubelet can run them. | Kube Scheduler |
Secrets | Kubernetes Secrets let you store and manage sensitive information, such as passwords, OAuth tokens, and ssh keys. | Secrets |
Services | An abstract way to expose an application running on a set of Pods as a network service. | Services |
Useful Resources
Documentation
Deploying FME Server with Kubernetes documentation
Knowledge Articles
Why would you use a Kubernetes deployment for FME Server?
FME Server and Kubernetes FAQ
Useful commands for FME Server and Kubernetes
How to request FME Server container resources in Kubernetes
How to manage certificates and HTTPS in Kubernetes deployments of FME Server
FME Server on Kubernetes: Utilizing Engine Assignment and Job Routing
libQt5Core.so.5: cannot open shared object file: No such file or directory
Blogs
Introducing the FME Server Kubernetes Tech Preview
Leveraging Serverless Technology with Amazon EKS on AWS Fargate
Comments
0 comments
Please sign in to leave a comment.