Getting Started with FME Server and Kubernetes

Liz Sanderson
Liz Sanderson
  • Updated

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:

  1. Helm, which is a package manager for Kubernetes which helps you define, install, upgrade and manage Kubernetes applications.
  2. 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
 

Was this article helpful?

Comments

0 comments

Please sign in to leave a comment.