1 - 使用 Helm 安装 Service Catalog
服务目录(Service Catalog)是 服务目录是一种扩展 API,它能让 Kubernetes 集群中运行的应用易于使用外部托管的的软件服务,例如云供应商提供的数据仓库服务。
服务目录可以检索、供应、和绑定由 服务代理人(Service Brokers) 提供的外部托管服务(Managed Services), 而无需知道那些服务具体是怎样创建和托管的。
使用 Helm 在 Kubernetes 集群上安装 Service Catalog。 要获取有关此过程的最新信息,请浏览 kubernetes-incubator/service-catalog 仓库。
准备开始
- 理解服务目录 的关键概念。
- Service Catalog 需要 Kubernetes 集群版本在 1.7 或更高版本。
- 你必须启用 Kubernetes 集群的 DNS 功能。
- 如果使用基于云的 Kubernetes 集群或 Minikube,则可能已经启用了集群 DNS。
- 如果你正在使用
hack/local-up-cluster.sh
,请确保设置了KUBE_ENABLE_CLUSTER_DNS
环境变量,然后运行安装脚本。
- 安装和设置 v1.7 或更高版本的 kubectl,确保将其配置为连接到 Kubernetes 集群。
- 安装 v2.7.0 或更高版本的 Helm。
- 遵照 Helm 安装说明。
- 如果已经安装了适当版本的 Helm,请执行
helm init
来安装 Helm 的服务器端组件 Tiller。
添加 service-catalog Helm 仓库
安装 Helm 后,通过执行以下命令将 service-catalog Helm 存储库添加到本地计算机:
helm repo add svc-cat https://kubernetes-sigs.github.io/service-catalog
通过执行以下命令进行检查,以确保安装成功:
helm search service-catalog
如果安装成功,该命令应输出以下内容:
NAME VERSION DESCRIPTION
svc-cat/catalog 0.0.1 service-catalog API server and controller-manag...
启用 RBAC
你的 Kubernetes 集群必须启用 RBAC,这需要你的 Tiller Pod 具有 cluster-admin
访问权限。
如果你使用的是 Minikube,请使用以下参数运行 minikube start
命令:
minikube start --extra-config=apiserver.Authorization.Mode=RBAC
如果你使用 hack/local-up-cluster.sh
,请使用以下值设置 AUTHORIZATION_MODE
环境变量:
AUTHORIZATION_MODE=Node,RBAC hack/local-up-cluster.sh -O
默认情况下,helm init
将 Tiller Pod 安装到 kube-system
命名空间,Tiller 配置为使用 default
服务帐户。
说明: 如果在运行helm init
时使用了--tiller-namespace
或--service-account
参数, 则需要调整以下命令中的--serviceaccount
参数以引用相应的名字空间和服务账号名称。
配置 Tiller 以获得 cluster-admin
访问权限:
kubectl create clusterrolebinding tiller-cluster-admin \
--clusterrole=cluster-admin \
--serviceaccount=kube-system:default
在 Kubernetes 集群中安装 Service Catalog
使用以下命令从 Helm 存储库的根目录安装 Service Catalog:
helm install catalog svc-cat/catalog --namespace catalog
helm install svc-cat/catalog --name catalog --namespace catalog
接下来
2 - 使用 SC 安装服务目录
服务目录(Service Catalog)是 服务目录是一种扩展 API,它能让 Kubernetes 集群中运行的应用易于使用外部托管的的软件服务,例如云供应商提供的数据仓库服务。
服务目录可以检索、供应、和绑定由 服务代理人(Service Brokers) 提供的外部托管服务(Managed Services), 而无需知道那些服务具体是怎样创建和托管的。
使用 GCP 服务目录安装程序 工具可以轻松地在 Kubernetes 集群上安装或卸载服务目录,并将其链接到 Google Cloud 项目。
服务目录不仅可以与 Google Cloud 一起使用,还可以与任何类型的托管服务一起使用。
准备开始
了解服务目录 的主要概念。
安装 Go 1.6+ 以及设置
GOPATH
。安装生成 SSL 工件所需的 cfssl 工具。
服务目录需要 Kubernetes 1.7+ 版本。
安装和设置 kubectl, 以便将其配置为连接到 Kubernetes v1.7+ 集群。
要安装服务目录,kubectl 用户必须绑定到 cluster-admin 角色。 为了确保这是正确的,请运行以下命令:
kubectl create clusterrolebinding cluster-admin-binding --clusterrole=cluster-admin --user=<user-name>
在本地环境中安装 sc
安装程序在你的本地计算机上以 CLI 工具的形式运行,名为 sc
。
使用 go get
安装:
go get github.com/GoogleCloudPlatform/k8s-service-catalog/installer/cmd/sc
现在,sc
应该已经被安装在 GOPATH/bin
目录中了。
在 Kubernetes 集群中安装服务目录
首先,检查是否已经安装了所有依赖项。运行:
sc check
如检查通过,应输出:
Dependency check passed. You are good to go.
接下来,运行安装命令并指定要用于备份的 storageclass
:
sc install --etcd-backup-storageclass "standard"
卸载服务目录
如果您想使用 sc
工具从 Kubernetes 集群卸载服务目录,请运行:
sc uninstall
接下来
- 查看服务代理示例。
- 探索 kubernetes-sigs/service-catalog 项目。