Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 22 additions & 2 deletions hack/addon/readme/CSIOperator.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# CSIOperator

## CSIOperator 介绍
## CSIOperator 介绍

Container Storage Interface Operator(CSIOperator)用于部署和更新 Kubernetes 集群中的 CSI 驱动和外部存储组件。

Expand Down Expand Up @@ -31,6 +31,27 @@ CSIOperator 用于支持集群方便的使用存储资源,当前支持的存
4. 在弹出的扩展组件列表里,滑动列表窗口找到 CSIOperator
5. 单击【完成】进行安装

### 镜像准备

当前支持的存储插件包括 RBD、CephFS、TencentCBS 和 TencentCFS(测试中,暂不支持),
针对不同的模式,依赖不同的 csi 镜像

由于支持版本较多,所有镜像都上传的话导致 `TKE Stack` 安装包太大,并且大部分并不会被使用,
因此 所有镜像均已上传 [公网 dockerhub](https://hub.docker.com/u/tkestack):

| csi 类型及版本 |依赖的镜像及拉取命令|
|--------------|--------|
| CephRBD V0 |docker pull tkestack/csi-provisioner:v0.4.2 <br>docker pull tkestack/csi-attacher:v0.4.2 <br>docker pull tkestack/csi-snapshotter:v0.4.1 <br/>docker pull tkestack/livenessprobe:v0.4.1 <br/>docker pull tkestack/driver-registrar:v0.3.0 <br/>docker pull tkestack/rbdplugin:v0.3.0|
| CephRBD V1 |docker pull tkestack/csi-provisioner:v1.0.1 <br>docker pull tkestack/csi-attacher:v1.1.0<br>docker pull tkestack/csi-snapshotter:v1.1.0 <br/>docker pull tkestack/livenessprobe:v1.1.0<br/>docker pull tkestack/csi-node-driver-registrar:v1.1.0 <br/>docker pull tkestack/rbdplugin:v1.0.0|
| CephFS V0 |docker pull tkestack/csi-provisioner:v0.4.2 <br>docker pull tkestack/csi-attacher:v0.4.2 <br>docker pull tkestack/livenessprobe:v0.4.1 <br/>docker pull tkestack/driver-registrar:v0.3.0 <br/>docker pull tkestack/cephfsplugin:v0.3.0|
| CephFS V1 |docker pull tkestack/csi-provisioner:v1.0.1 <br/>docker pull tkestack/csi-attacher:v1.1.0<br/>docker pull tkestack/livenessprobe:v1.1.0<br/>docker pull tkestack/csi-node-driver-registrar:v1.1.0<br/>docker pull tkestack/cephfsplugin:v1.0.0|
| TencentCBS V0 |docker pull tkestack/csi-provisioner:v1.0.1 <br/>docker pull tkestack/csi-attacher:v1.1.0<br/>docker pull tkestack/driver-registrar:v0.3.0<br/>docker pull tkestack/csi-tencentcloud-cbs:v0.2.1|
| TencentCBS V1 |docker pull tkestack/csi-provisioner:v1.2.0 <br/>docker pull tkestack/csi-attacher:v1.1.0<br/>docker pull tkestack/csi-snapshotter:v1.2.2<br/>docker pull tkestack/csi-node-driver-registrar:v1.1.0<br/>docker pull tkestack/csi-tencentcloud-cbs:v1.0.0 <br />docker pull tkestack/csi-resizer:v0.5.0|
| TencentCBS V1P1 |docker pull tkestack/csi-provisioner:v1.2.0 <br/>docker pull tkestack/csi-attacher:v1.1.0<br/>docker pull tkestack/csi-snapshotter:v1.2.2<br/>docker pull tkestack/csi-node-driver-registrar:v1.1.0<br/>docker pull tkestack/csi-tencentcloud-cbs:v1.2.0 <br />docker pull tkestack/csi-resizer:v0.5.0|


使用时 `csi-operator`根据配置的存储类型拉取所需的镜像

### 通过 CSIOperator 使用腾讯云存储资源
1. 登录 TKEStack

Expand Down Expand Up @@ -92,4 +113,3 @@ CSIOperator 用于支持集群方便的使用存储资源,当前支持的存

详情请见 [CSIOperator Example](https://github.com/tkestack/csi-operator/blob/master/examples)


10 changes: 6 additions & 4 deletions pkg/platform/controller/addon/storage/csioperator/controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,6 @@ import (
"sync"
"time"

"tkestack.io/tke/pkg/platform/provider/baremetal/phases/csioperator/images"

appsv1 "k8s.io/api/apps/v1"
corev1 "k8s.io/api/core/v1"
rbacv1 "k8s.io/api/rbac/v1"
Expand All @@ -40,14 +38,15 @@ import (
"k8s.io/client-go/kubernetes"
"k8s.io/client-go/tools/cache"
"k8s.io/client-go/util/workqueue"

clientset "tkestack.io/tke/api/client/clientset/versioned"
platformv1informer "tkestack.io/tke/api/client/informers/externalversions/platform/v1"
platformv1lister "tkestack.io/tke/api/client/listers/platform/v1"
v1 "tkestack.io/tke/api/platform/v1"
controllerutil "tkestack.io/tke/pkg/controller"
storageutil "tkestack.io/tke/pkg/platform/controller/addon/storage/util"
"tkestack.io/tke/pkg/platform/provider/baremetal/phases/csioperator/images"
"tkestack.io/tke/pkg/platform/util"
containerregistryutil "tkestack.io/tke/pkg/util/containerregistry"
"tkestack.io/tke/pkg/util/log"
"tkestack.io/tke/pkg/util/metrics"
)
Expand All @@ -64,6 +63,9 @@ const (

timeOut = 5 * time.Minute
maxRetryCount = 5

// CSIRepo link to internet docker hub, where stores all csi depends images.
CSIRepo = "tkestack"
)

// Controller is responsible for performing actions dependent upon a CSIOperator phase.
Expand Down Expand Up @@ -614,7 +616,7 @@ func genContainerArgs(svInfo *storageutil.SVInfo) []string {
args := []string{
"--leader-election=true",
"--kubelet-root-dir=/var/lib/kubelet",
"--registry-domain=" + containerregistryutil.GetPrefix(),
"--registry-domain=" + CSIRepo,
"--logtostderr=true",
"--v=5",
}
Expand Down