Font Size: a A A

The Design And Implementation Of A Declarative Universal Kubernetes Operator

Posted on:2022-06-01Degree:MasterType:Thesis
Country:ChinaCandidate:H G WangFull Text:PDF
GTID:2518306725493194Subject:Computer Science and Technology
Abstract/Summary:PDF Full Text Request
Kubernetes is the most popular container orchestration system for automating application deployment and has become the fact standard for distributed resource scheduling and automated operations and maintenance.To accommodate the working patterns of thousands of applications,Kubernetes Operators are officially recommended as the way to package,deploy and manage applications in Kubernetes,and it is the most mainstream way for users to scale Kubernetes.The work in this paper addresses the problems of Kubernetes Operator development,such as steep learning curve,extensive nonfunctional code,and redundant template code.This paper proposes a declarative universal Kubernetes Operator,which is named Universal Controller,or UC for short.Universal Controller is helpful for developing and deploying custom controllers.Specifically,the main elements of the work in this paper include:1.To address the problem of difficult Operator development,we propose a declarative universal Kubernetes reconciliation technique that encapsulates the general part of writing custom controllers,extracts the core custom reconciliation logic separately for developers to implement and adds a custom resource to describe the custom controller.The custom controller is dynamically defined by the custom resource and invokes the service that actually provides the tuning logic at runtime.The technology significantly reduces the workload of Operator developers and helps them focus on the core reconciliation logic.2.Implements a declarative universal Kubernetes Operator,named as Universal Controller,with declarative resource watch,declarative reconciliation,declarative update policies,and language-agnostic features.Instead of writing any code to interact with Kubernetes,users only need to describe the resources to be listened to,the update policies to be used in a YAML file and the desired state in the reconciliation snippet.3.Based on Universal Controller,some existing Kubernetes Operators were re-implemented,proving that Universal Controller can greatly reduce development effort and is suitable for most scenarios.Performance testing also verified that it can reduce memory consumption and kube-apiserver load in environments with multiple custom controller deployments.
Keywords/Search Tags:Kubernetes, Operator, Declarative, UniversalController
PDF Full Text Request
Related items