这是本节的多页打印视图。 点击此处打印.

返回本页常规视图.

安装服务目录

安装服务目录扩展 API。

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://svc-catalog-charts.storage.googleapis.com

通过执行以下命令进行检查,以确保安装成功:

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), 而无需知道那些服务具体是怎样创建和托管的。

使用服务目录安装程序 工具可以轻松地在 Kubernetes 集群上安装或卸载服务目录。 这个 CLI 工具以 sc 命令形式被安装在您的本地环境中。

准备开始

  • 了解服务目录 的主要概念。

  • 安装 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

使用 go get 命令安装 sc CLI 工具:

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

接下来