java系统找不到指定文件怎么解决
291
2022-09-10
openshift operator 介绍
文章目录
1. 介绍2. Operator概述3. Operator Components4. Operator Installation5. Sample Operator Components
5.1 Custom Resource Definition5.2 RBAC Role5.3 RBAC RoleBinding5.4 添加权限项目管理员(admin)5.5 Operator Deployment
6 Custom Resource 管理
1. 介绍
Operator概述Operator部署Operator创建
假设和前提条件 你想:
了解操作人员如何在Red Hat®OpenShift®容器平台上工作了解如何部署Operator学习如何创建Operator
2. Operator概述
OpenShift API对象由资源和控制器组成
资源:Pod、ConfigMap、secret、service、route、PersistentVolumeClaim等。控制器:Deployment, ReplicaSet, StatefulSet, DaemonSet, et等等
Control loop: Observe → Analyze → Act Operator:管理资源的控制器类型
在软件中代表人类的操作知识来管理应用程序是否可以使用stock controllers或管理资源本身
Domain-/Application-Specific特定的知识
Install and uninstallUpgradeScale properlyBack upRestoreSelf-heal
crds允许扩展Kubernetes/OpenShift API,然后API知道新的资源crd允许创建定制资源(CRs)Operators watches CR的创建,通过创建应用程序进行反应CRs的管理方式与普通的OpenShift对象相同:创建、获取、描述、删除等。
例子:
oc get tomcats
CRD +Custom controller +Domain-specific knowledge =Operator
3. Operator Components
Operator DeletionCustom Resource Creation Using an Operator
4. Operator Installation
可以为以下任何一种安装Operators :
整个集群单项目
需要不同的RBAC对象 Operator监视一个项目或整个集群,以进行CR创建事件 是否可以自动向项目管理员授予发放CRs的权限 某些对象需要集群管理员权限(cluster-admin)
Cluster-Wide Operator 的安装步骤 所有步骤都需要以集群管理员权限执行
创建 CRD为 Operator创建项目以在其中运行为 Operator pod 创建服务帐户(service account)以运行创建 RBACClusterRole为运行 Operator 的服务帐户创建 RBACClusterRoleBinding创建指向包含 Operator 代码的容器映像的 Operator 部署将WATCH_NAMESPACE 环境变量设置为“”
命名空间运算符的安装步骤 除 CRD 之外的所有步骤都可以在项目管理员权限下执行
创建CRD
需要集群管理员(cluster-admin)权限
为 Operator 创建项目以在其中运行为 Operator pod 创建service account以运行创建 RBACRole为运行 Operator 的服务帐户创建RBAC RoleBinding创建指向包含 Operator 代码的容器映像的 Operator 部署将WATCH_NAMESPACE 环境变量设置为当前项目名称要自动设置,请使用 downwardAPImetadata.namespace 字段
5. Sample Operator Components
5.1 Custom Resource Definition
apiVersion: apiextensions.k8s.io/v1beta1kind: CustomResourceDefinitionmetadata: name: tomcats.apache.orgspec: group: apache.org names: kind: Tomcat listKind: TomcatList plural: tomcats singular: tomcat shortNames: - tc scope: Namespaced version: v1alpha1
5.2 RBAC Role
kind: RoleapiVersion: rbac.authorization.k8s.io/v1beta1metadata: name: tomcat-operatorrules:- apiGroups: - tomcats.apache.org resources: - "*" verbs: - "*"- apiGroups: - "" resources: - "*" verbs: - "*"
如果不使用集群管理权限,OpenShift需要明确的resources 和 verbs列表
5.3 RBAC RoleBinding
kind: RoleBindingapiVersion: rbac.authorization.k8s.io/v1beta1metadata: name: default-account-tomcat-operatorsubjects:- kind: ServiceAccount name: tomcat-operatorroleRef: kind: Role name: tomcat-operator apiGroup: rbac.authorization.k8s.io
5.4 添加权限项目管理员(admin)
为每个项目管理员添加权限,以创建从项目访问CRD的角色:
apiVersion: authorization.openshift.io/v1kind: ClusterRolemetadata: labels: rbac.authorization.k8s.io/aggregate-to-admin: "true" name: gogs-admin-rulesrules:- apiGroups: - gpte.opentlc.com resources: - gogs verbs: - create - update - delete - get - list - watch - patch
5.5 Operator Deployment
apiVersion: apps/v1kind: Deploymentmetadata: name: tomcat-operatorspec: replicas: 1 selector: matchLabels: name: tomcat-operator template: metadata: labels: name: tomcat-operator spec: serviceAccountName: tomcat-operator containers: - name: tomcat-operator image: quay.io/wkulhanek/tomcat-operator:v0.1.0 imagePullPolicy: Always env: - name: WATCH_NAMESPACE valueFrom: fieldRef: fieldPath: metadata.namespace
To deploy a cluster-wide Operator, replace valueFrom: with value: “”.
6 Custom Resource 管理
运行操作员将在以下两种方式中创建CR:
整个OpenShift集群运行者正在运行的项目
当创建CR时,Operator接收事件 然后Operator创建所有OpenShift资源组成的应用程序
Example: Custom Resource Creation to create CR instance: Create YAML file with definition of CR:
apiVersion: apache.org/v1alpha1kind: Tomcatmetadata: name: mytomcatspec: replicaCount: 2
Create resource in OpenShift:
oc create -f mytomcat.yaml
Custom Resource Management 要操作和检查CR,请使用oc命令:
oc get tomcatsoc describe tomcat mytomcatoc scale tomcats --replicas=2 # only if Operator supports scaling
不要直接扩展ReplicaSets, deployment, StatefulSets, etc
Use Operator to scaleOperator继续监视已创建的资源,并将其设置回初始状态
删除所有创建的OpenShift API对象,删除CR:
oc delete tomcat mytomcat
Summary
Operator ComponentsOperator InstallationSample Operator ComponentsOperator DeletionCustom Resource Creation Using an Operator
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~