operator-sdk
在Kubernetes中 , 对象类似于现实世界中的工作或已完成的任务。 您可以使用它们来定义常见任务,将它们存储在版本控制系统中,并通过kubectl apply应用它们。 Kubernetes通过创建运行软件的相关资源(例如Pod),确保触发触发将声明式描述变为现实的一切必要操作。 Kubernetes包含许多可以使用此工作流创建的内置对象类型,例如Deployments和Services。
借助Operators,Kubernetes允许集群维护者或软件提供商定义自己的Kubernetes对象类型,称为自定义资源定义(CRD)。 这些对象可以由Kubernetes API处理,就像内置对象类型一样。 在操作员代码中,作者可以定义如何对这些自定义对象执行操作。
操作员用户可以使用kubectl apply创建此自定义类型的对象,该对象称为自定义资源(CR)。
kubectl -f postgres.yml并准备使用高可用性PostgreSQL集群。本文将使用Kubernetes Operator部署一个由一个配置映射和一个pod组成的简单应用程序。 在CR中,您可以指定Markdown字符串,该字符串将转换为基于HTML5的演示文稿。 (毕竟,谁不想像本教程中那样使用kubectl编辑演示文稿my-presentation为下一次演讲准备幻灯片?)
如果您还不熟悉运行Kubernetes集群,请阅读笔记本电脑上的Minikube入门:Kubernetes,以更轻松地遵循此方法。
安装Operator SDK
在开始之前,我假设您已经登录到要使用的Kubernetes集群。 您还必须具有Golang 1.13或更高版本。
从GitHub上的Operator SDK版本页面为您的计算机安装最新版本的Operator SDK,然后使其可执行并以operator-sdk的形式放入您的PATH中:
$
wget https:
// github.com
/ operator-framework
/ operator-sdk
/ releases
/ download
/ v0.15.2
/ operator-sdk-v0.15.2-x86_64-linux-gnu
$
sudo
mv operator-sdk-v0.15.2-x86_64-linux-gnu
/ usr
/ local
/ bin
/ operator-sdk
$
sudo
chmod +x
/ usr
/ local
/ bin