피드 구독

We are thrilled to announce that Red Hat will be donating the Operator Framework project to the Cloud Native Computing Foundation (CNCF) to be hosted as a CNCF Incubated project. 

As a CNCF hosted project – alongside technologies like Kubernetes, Prometheus, Helm and many more – the Operator Framework is now part of a neutral foundation aligned with its technical interests. It is also a part of the larger Linux Foundation, which provides the project with governance, marketing support and community outreach.

 

Over the last several months, Operator Framework maintainers have been working closely with the community to improve everything from processes to codebase. These changes have put the Operator Framework closer to existing CNCF efforts in this space, for example Kubebuilder or cluster-addons. Since being put forward to the CNCF as a candidate for Incubation in October 2019, the Operator Framework project has seen a marked increase in overall community participation, downloads, contributors, commits, and forks. 

What is an Operator? 

Operators are a design pattern made public in a 2016 CoreOS blog post. The goal of an Operator is to put operational knowledge into software. Previously this knowledge only resided in the minds of administrators, various combinations of shell scripts or external automation software. It was outside of your Kubernetes cluster and hard to integrate. With Operators, this logic would be running inside the cluster in the same goal-seeking, consensus driven way that Kubernetes operates.

Operators implement and automate common Day-1 (installation, configuration, etc) and Day-2 (re-configuration, update, backup, failover, restore, etc.) activities in a piece of software communicating and integrating with Kubernetes concepts and APIs (see Operator maturity model). We call this a Kubernetes-native application. With Operators you can stop treating an application as a collection of primitives like Pods, Deployments, Services or ConfigMaps, but instead as a single object that only exposes the knobs that make sense for the application.

Operators make use of Kubernetes’ extension mechanisms (Custom Resources Definitions) to allow for interaction via standard kubectl tooling and integration in GitOps workflows.

What is the Operator Framework?

The Operator Framework is an open source toolkit to manage Kubernetes native applications, aka Operators, in an effective, automated, and scalable way. The Operator Framework has two main components: Operator Lifecycle Management (OLM) and the Operator SDK

Operator SDK: Enables developers to build Operators based on their expertise about the managed application without requiring a lot of the boilerplate code that usually comes with working against the Kubernetes API. The Operator SDK enables 3 types of Operators today:

  • Golang Operator: Operator is written in Go using controller-runtime for abstraction and Kubebuilder for scaffolding. Existing Kubebuilder projects are compatible and the Operator SDK binary supports Kubebuilder commands. Full flexibility with the Kubernetes API.
  • Ansible Operator: Operator logic is expressed in Ansible Playbooks and roles. Kubernetes API integration is abstracted away but full control over the execution flow on the cluster remains.
  • Helm Operator: Any helm chart can be converted to behave like an Operator. The resulting Operator creates and updates releases of the chart(s) on demand. No coding required.

The SDK also ships with a test harness for Operators and the ability to define custom unit, end-to-end and functional tests to create high quality Operators.

Operator Lifecycle Manager: Central point on cluster for installation, configuration, and updating of Operators (and their associated services). Provides a metadata format and packaging model for Operators into larger collections (catalogs) for continuous updates and dependency resolution. Main features include:

  • Over-the-air updates of Operators (automatic or manual)
  • Dependencies between Operators during installation and updates
  • Discoverability of Operators available to install for cluster admins (Operator catalogs)
  • Discoverability of Operators available to use in a namespace for cluster users
  • Safeguards when installing Operators against conflicting APIs ownership and format to prevent data loss and corruption
  • Declarative UI controls for dynamically generated forms in graphical frontends

OLM uniquely addresses the challenges of CRD lifecycle management, a novel problem in the days of Kubernetes being a universally extensible platform of platforms.

Get Involved

Discuss on:

Learn more about the Operator Framework here: https://operatorframework.io/


저자 소개

UI_Icon-Red_Hat-Close-A-Black-RGB

채널별 검색

automation icon

오토메이션

기술, 팀, 인프라를 위한 IT 자동화 최신 동향

AI icon

인공지능

고객이 어디서나 AI 워크로드를 실행할 수 있도록 지원하는 플랫폼 업데이트

open hybrid cloud icon

오픈 하이브리드 클라우드

하이브리드 클라우드로 더욱 유연한 미래를 구축하는 방법을 알아보세요

security icon

보안

환경과 기술 전반에 걸쳐 리스크를 감소하는 방법에 대한 최신 정보

edge icon

엣지 컴퓨팅

엣지에서의 운영을 단순화하는 플랫폼 업데이트

Infrastructure icon

인프라

세계적으로 인정받은 기업용 Linux 플랫폼에 대한 최신 정보

application development icon

애플리케이션

복잡한 애플리케이션에 대한 솔루션 더 보기

Original series icon

오리지널 쇼

엔터프라이즈 기술 분야의 제작자와 리더가 전하는 흥미로운 스토리