OpenShift 4 Operator 1(いち)

Operator 是 Kubernetes 的扩展软件,它利用 定制资源 管理应用及其组件。

Operator相关常用缩写
ClusterServiceVersions -----> CSV
Operator Lifecycle Manager -----> OLM
CustomResourceDefinitions ---->CRD
Cluster Version Operator ----->CVO

CRD 由 OLM 定义和管理
每个 Operator 负责管理 CRD, 而 CRD 是 OLM 的框架基础

重要资源的描述
在这里插入图片描述

常用命令

命令查看OpenShift 4.7 集群自带的 operator

oc get clusteroperator
NAME                                       VERSION   AVAILABLE   PROGRESSING   DEGRADED   SINCE
authentication                             4.7.6     True        False         False      57m
baremetal                                  4.7.6     True        False         False      2d16h
cloud-credential                           4.7.6     True        False         False      2d16h
cluster-autoscaler                         4.7.6     True        False         False      2d16h
config-operator                            4.7.6     True        False         False      2d16h
console                                    4.7.6     True        False         False      15h
csi-snapshot-controller                    4.7.6     True        False         False      51m
dns                                        4.7.6     True        False         False      13h
etcd                                       4.7.6     True        False         False      2d16h
image-registry                             4.7.6     True        False         False      2d15h
ingress                                    4.7.6     True        False         False      2d15h
insights                                   4.7.6     True        False         False      2d16h
kube-apiserver                             4.7.6     True        False         False      2d15h
kube-controller-manager                    4.7.6     True        False         False      2d16h
kube-scheduler                             4.7.6     True        False         False      2d16h
kube-storage-version-migrator              4.7.6     True        False         False      83m
machine-api                                4.7.6     True        False         False      2d16h
machine-approver                           4.7.6     True        False         False      2d16h
machine-config                             4.7.6     True        False         False      160m
marketplace                                4.7.6     True        False         False      5h17m
monitoring                                 4.7.6     True        False         False      51m
network                                    4.7.6     True        False         False      2d16h
node-tuning                                4.7.6     True        False         False      2d16h
openshift-apiserver                        4.7.6     True        False         False      59m
openshift-controller-manager               4.7.6     True        False         False      13h
openshift-samples                          4.7.6     True        False         False      2d15h
operator-lifecycle-manager                 4.7.6     True        False         False      2d16h
operator-lifecycle-manager-catalog         4.7.6     True        False         False      2d16h
operator-lifecycle-manager-packageserver   4.7.6     True        False         False      63m
service-ca                                 4.7.6     True        False         False      2d16h
storage                                    4.7.6     True        False         False      2d16h

Operator

可以这样理解,每个 operator都是一个镜像==

Operators 是由 OLM(Operator Lifecycle Manager)负责安装的.

该命令显示所有已经安装的 Operator

oc get operator

oc get operator 等于 oc get csv, 两个命令运行后结果一样

OpenShift 的 Operator Hub 里面提供很多可以安装的 Operator. 可以自行到里面下载, 但是自定义的Operator非 OpenShift 官方建议的, OpenShift不负责提供技术支持.

在这里插入图片描述

Operator Hub

Operator Hub 长这样, 可以从这里下载你需要的 Operator

在这里插入图片描述
查看所有 Operator Hub 里面所有的 Operator

oc get packagemanifests -n openshift-marketplace

这个命令会描述某个 Operator

oc describe packagemanifests <operator_name> -n openshift-marketplace

查询已经安装的 Operator

oc get installplan -A

在这里插入图片描述

Operator订阅状况

在这里插入图片描述我们可以通过检查 subscription 去检查这个 Operator是否健康

当安装的时候,需要选择 namespace

我们可以通过命令行查看 Operator的订阅状态, 前提是以 cluster-admin 用户登录

  1. 先列出你选择 namespace 的订阅
oc get subs -n <operator_namespace>

我安装了 Ansible 的 operator 并放在 openshift-config 命名空间里
在这里插入图片描述这里是 name 是 subscription name

  1. 检查 subscription 资源
oc describe sub <subscirption_name> -n <operator_namespace>

在这里插入图片描述
找到 Conditions查看 Operator的情况
在这里插入图片描述

注意!

  • OpenShift Container Platform 集群的 默认Operator是由 CVO 管理的. CVO 负责内部 Operator的升级. 且内部 Operator没有 Subscription.
  • 由 OLM 负责升级自己安装下载的 Operator, 且只有自己下载的 Operator具有 Subscription.

已安装的 Operator

已下载的自定义的 Operator 放在这里, 以 Redis 为例

在这里插入图片描述

在此提醒,不是每个 Operator 在创建时都能生成 CR. 取决于 Operator. 下图 Redis Operator 的 Tab 也不是都一个样子.

另外, Operator 分两种,一种是官方自动安装的. 一种是自己手动安装的. 建议要放到不同的 namespace命名空间, 不然容易互相干扰. 在有些情况下甚至会导致同命名空间下其他的 Operator

在这里插入图片描述

查询所有和 Operator相关的namespace 命名空间

oc get ns |grep operator
openshift-apiserver-operator                       Active   2d20h
openshift-authentication-operator                  Active   2d20h
openshift-cloud-credential-operator                Active   2d20h
openshift-cluster-node-tuning-operator             Active   2d20h
openshift-cluster-samples-operator                 Active   2d20h
openshift-cluster-storage-operator                 Active   2d20h
openshift-config-operator                          Active   2d20h
openshift-console-operator                         Active   2d19h
openshift-controller-manager-operator              Active   2d20h
openshift-dns-operator                             Active   2d20h
openshift-etcd-operator                            Active   2d20h
openshift-ingress-operator                         Active   2d20h
openshift-kube-apiserver-operator                  Active   2d20h
openshift-kube-controller-manager-operator         Active   2d20h
openshift-kube-scheduler-operator                  Active   2d20h
openshift-kube-storage-version-migrator-operator   Active   2d20h
openshift-machine-config-operator                  Active   2d20h
openshift-network-operator                         Active   2d20h
openshift-operator-lifecycle-manager               Active   2d20h
openshift-operators                                Active   2d20h
openshift-service-ca-operator                      Active   2d20h

查询 operator的 pod状态

查询Operator命名空间下的pod

oc get pods -n <operator-namespace>

在这里插入图片描述详细描述某个 pod

oc describe pod <operator_podname> -n <operator_namespace>

在这里插入图片描述

查看 Operator的日志

Operator Lifecycle Manager

OLM 负责帮用户安装,更新,管理 k8s 原有的 Operator(即 OpenShift自动安装的 Operator)
下图为 OpenShift官方流程图

在这里插入图片描述

Cluster Version Operator

Cluster Version Operator = CVO

查看集群现在的版本

oc get clusterversion

CVO是一个比较特殊的 operator. 它负责升级内部所有的 operator.

当 Openshift 有更新的版本是,通常内部的 operator也会有更新版本. OpenShift的更新版本托管在 quay.io里面

红帽在 https://cloud.redhat.com 上托管服务, 并在 https://quay.io上托管集群镜像

OpenShift 升级频道有4 个

  • candidate
  • fast
  • stable
  • EUS

candidate 频道是候选的版本. 候选的版本包含该产品的所有功能但并不被正式支持.候选版本可以从来测试新版本是否使用于自己的系统.

fast 频道是在有更新版本时立即提供的. 适合预生产和 QA的环境. 可以考虑加入 OpenShift改进计划

stable 频道是相对最稳定最推荐的

eus 提供了延长的更新支持 给具有 premium 的用户, EUS 的版本将维护到 14 个月


以上命令皆在 OCP 4.7 上面运行

官方文档有更详细的内容

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值