在前一篇文章中介绍了Operator Framework,提到了Operator SDK是用来搭建脚手架的重要工具,这篇文章就Operator SDK进行继续展开。

Operator Framework

关于Operator和Operator Framework的介绍,可参看:

  • https://liumiaocn.blog.csdn.net/article/details/110039375

基本信息

Operator SDK的基本信息如下所示:

项目 说明
官方网站 https://sdk.operatorframework.io/
开源/闭源 开源
License类别 Apache License 2.0
代码管理地址 https://github.com/operator-framework/operator-sdk
开发语言 Go
支持平台 由于使用Go,可以支持多种操作系统诸如Linux/MacOSX等
当前版本 1.2.0 (2020/11/12)

三种开发方式

通过使用SDK-CLI,可以使用如下三种方式进行CRD相关的扩展开发,

  • go
  • Ansible
  • Helm
    三者相关所能实现的能力如下所示,使用Helm一般只能实现安装和无缝升级等功能。

安装方式

方式1: 使用brew安装(MacOS)

在MacOS下,可以直接使用brew进行安装

执行命令:brew install operator-sdk

方式2: 二进制文件(github)

使用github的release下提供的支持各种OS的相应二进制文件,然后进行权限设定即可。

  • 下载文件
# Set the release version variable
$ RELEASE_VERSION=v1.2.0
# Linux
$ curl -LO https://github.com/operator-framework/operator-sdk/releases/download/${RELEASE_VERSION}/operator-sdk-${RELEASE_VERSION}-x86_64-linux-gnu
$ curl -LO https://github.com/operator-framework/operator-sdk/releases/download/${RELEASE_VERSION}/ansible-operator-${RELEASE_VERSION}-x86_64-linux-gnu
$ curl -LO https://github.com/operator-framework/operator-sdk/releases/download/${RELEASE_VERSION}/helm-operator-${RELEASE_VERSION}-x86_64-linux-gnu
# macOS
$ curl -LO https://github.com/operator-framework/operator-sdk/releases/download/${RELEASE_VERSION}/operator-sdk-${RELEASE_VERSION}-x86_64-apple-darwin
$ curl -LO https://github.com/operator-framework/operator-sdk/releases/download/${RELEASE_VERSION}/ansible-operator-${RELEASE_VERSION}-x86_64-apple-darwin
$ curl -LO https://github.com/operator-framework/operator-sdk/releases/download/${RELEASE_VERSION}/helm-operator-${RELEASE_VERSION}-x86_64-apple-darwin
  • 安装设定
# Linux
$ chmod +x operator-sdk-${RELEASE_VERSION}-x86_64-linux-gnu && sudo mkdir -p /usr/local/bin/ && sudo cp operator-sdk-${RELEASE_VERSION}-x86_64-linux-gnu /usr/local/bin/operator-sdk && rm operator-sdk-${RELEASE_VERSION}-x86_64-linux-gnu
$ chmod +x ansible-operator-${RELEASE_VERSION}-x86_64-linux-gnu && sudo mkdir -p /usr/local/bin/ && sudo cp ansible-operator-${RELEASE_VERSION}-x86_64-linux-gnu /usr/local/bin/ansible-operator && rm ansible-operator-${RELEASE_VERSION}-x86_64-linux-gnu
$ chmod +x helm-operator-${RELEASE_VERSION}-x86_64-linux-gnu && sudo mkdir -p /usr/local/bin/ && sudo cp helm-operator-${RELEASE_VERSION}-x86_64-linux-gnu /usr/local/bin/helm-operator && rm helm-operator-${RELEASE_VERSION}-x86_64-linux-gnu
# macOS
$ chmod +x operator-sdk-${RELEASE_VERSION}-x86_64-apple-darwin && sudo mkdir -p /usr/local/bin/ && sudo cp operator-sdk-${RELEASE_VERSION}-x86_64-apple-darwin /usr/local/bin/operator-sdk && rm operator-sdk-${RELEASE_VERSION}-x86_64-apple-darwin
$ chmod +x ansible-operator-${RELEASE_VERSION}-x86_64-apple-darwin && sudo mkdir -p /usr/local/bin/ && sudo cp ansible-operator-${RELEASE_VERSION}-x86_64-apple-darwin /usr/local/bin/ansible-operator && rm ansible-operator-${RELEASE_VERSION}-x86_64-apple-darwin
$ chmod +x helm-operator-${RELEASE_VERSION}-x86_64-apple-darwin && sudo mkdir -p /usr/local/bin/ && sudo cp helm-operator-${RELEASE_VERSION}-x86_64-apple-darwin /usr/local/bin/helm-operator && rm helm-operator-${RELEASE_VERSION}-x86_64-apple-darwin

方式3: 源码安装

$ git clone https://github.com/operator-framework/operator-sdk
$ cd operator-sdk
$ git checkout master
$ make install

安装示例

这里以方式2为例,在MacOS上安装operator-sdk为例,执行如下命令和日志如下所示

liumiaocn:~ liumiao$ RELEASE_VERSION=v1.2.0
liumiaocn:~ liumiao$ curl -LO https://github.com/operator-framework/operator-sdk/releases/download/${RELEASE_VERSION}/operator-sdk-${RELEASE_VERSION}-x86_64-apple-darwin% Total    % Received % Xferd  Average Speed   Time    Time     Time  CurrentDload  Upload   Total   Spent    Left  Speed
100   665  100   665    0     0    360      0  0:00:01  0:00:01 --:--:--   360
100 62.2M  100 62.2M    0     0  4001k      0  0:00:15  0:00:15 --:--:-- 7140k
liumiaocn:~ liumiao$ chmod +x operator-sdk-${RELEASE_VERSION}-x86_64-apple-darwin && sudo mkdir -p /usr/local/bin/ && sudo cp operator-sdk-${RELEASE_VERSION}-x86_64-apple-darwin /usr/local/bin/operator-sdk && rm operator-sdk-${RELEASE_VERSION}-x86_64-apple-darwin
Password:
liumiaocn:~ liumiao$

结果确认

liumiaocn:~ liumiao$ which operator-sdk
/usr/local/bin/operator-sdk
liumiaocn:~ liumiao$ operator-sdk version
operator-sdk version: "v1.2.0", commit: "215fc50b2d4acc7d92b36828f42d7d1ae212015c", kubernetes version: "v1.18.8", go version: "go1.15.3", GOOS: "darwin", GOARCH: "amd64"
liumiaocn:~ liumiao$

其他

BTW,Operator SDK开头的图的颜色的原因是因为这个。

参考内容

https://sdk.operatorframework.io/
https://github.com/operator-framework/operator-sdk

Operator基础:2: Operator SDK安装相关推荐

  1. operator framework搭建operator开发环境

    简介 operator framework 是一个为云原生开发者提供开发operator的组件框架的开源项目,它目前包含三个组件: Operator SDK.集成controller-runtime, ...

  2. Qt on Android Android SDK安装

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 之前我在 ...

  3. Android SDK安装、环境变量配置

    目录 安装sdk步骤 一.下载安装sdk tools 1.打开网址: AndroidDevTools - Android开发工具 Android SDK下载 Android Studio下载 Grad ...

  4. android phonegap 框架,基于Android SDK安装PhoneGap框架

    基于Android SDK安装PhoneGap框架是本文要介绍的内容,主要是来学习Eclipse+Android+JDK+Phonegap开发环境,具体内容的实现来看那本文详解. 首先,要明白一点,就 ...

  5. Android Studio2.3正式版带SDK安装教程

    一.准备工作 最基础的是首先JDK要安装正确.确保你的JDK安装正确无误.环境变量配置无误. JDK环境配置 添加变量CLASSPATH =.;%JAVA_HOME%\lib;%JAVA_HOME%\ ...

  6. iOS 4.2 SDK安装

    iOS 4.2 SDK安装 ◆系统版本:10.6.5 ◆硬件配置: ◆10G空间,3.5G内存,显卡:GMA950 Xcode 3.2.5和iOS 4.2 SDK下载:http://developer ...

  7. 类的operator new与operator delete的重载

    为什么有必要写自己的operator new和operator delete? 答案通常是:为了效率. 缺省版本的operator new是一种通用型的内存分配器,它必须可以分配任意大小的内存块.同样 ...

  8. Android SDK安装找不到JDK

    我正在尝试在Windows 7 x64系统上安装Android SDK. 已安装jdk-6u23-windows-x64.exe ,但Android SDK安装程序拒绝继续,因为它找不到JDK安装. ...

  9. Python基础入门之解释器安装

    Python基础入门之解释器安装 一.Python简介 1.python介绍 2.python特点 3.编程相关概念 4.python的用处 5.pyhton官网 二.python解释器在Window ...

  10. Cpp 对象模型探索 / operator new、operator delete、operator new[] 和 operator delete [] 重载

    零.前言 对于函数 operator new 和 operator delete 来说,分为全局重载和局部重载. 全局重载的形式: void *::operator new(size_t size); ...

最新文章

  1. 加速mysql导入时间_加快mysql导入导出速度
  2. SharePoint2010整合Silverlight 4应用——Bing地图控件
  3. 初谈逻辑读、物理读、预读
  4. unity3d Json解析工具类
  5. 公共链接url出错_SEO优化技巧:关于URL的优化方法
  6. leetcode-49-字母异位词分组(神奇的哈希)
  7. 最大化/最小化/关闭窗口代码集锦
  8. 点击input,区域选中后外面会出现其他颜色边框去除方式和更改input字体颜色
  9. Linux-dmidecode 下面查看主机BIOS信息命令
  10. 你第1个100万怎么赚的?
  11. 2星|《麦肯锡图表工作法》:用图表做商业分析的入门演示
  12. 中小企业什么OA办公系统适用呢?
  13. 报价管理:用VBA开发灵活的报价系统
  14. iPhone显示返回的是html界面,iPhone X怎么回到主界面?苹果X返回主页的两种方法...
  15. css-绘制平行四边形
  16. CSS+SVG实现简单的点赞效果
  17. 32岁,我从公司离职了,是裸辞......
  18. win10大小写切换有延时
  19. yun mysql_yun 安装mysql
  20. 考研数据结构 图的四种算法 ---- 来自天勤高分笔记

热门文章

  1. 关于类的符号输入过程第二篇
  2. 2022年各行业白皮书市场研报合集(共125份)
  3. 360免费wifi的linux驱动下载,360随身wifi驱动
  4. [软件更新]Pidgin 2.5.8_IM 即时通信
  5. 做外贸如何免费申请企业邮箱?
  6. 360卫士监测出APP有木马问题
  7. 2022年身份证号码信息查询API接口分享
  8. windows2003下ISA防火墙的安装及简单配置
  9. python selenium 保存网页_使用python/selenium保存完整的网页(包括css、图像)
  10. 用Python完成毫秒级抢单,助你秒杀淘宝大单