kubernetes Service Catalog

2019-11-25  本文已影响0人  davisgao

1.Service Catalog

中文叫服务目录,是将各种形态服务(包括IAAS、PAAS等服务)集中统一的管理起来,其目的主要是为了管理第三方(相对于kubernetes而言,主要指集群外)服务,使第三方服务通过统一的方式和规范接入到集群中,具体的服务实现在外部,托管方无需关注。外部的服务一般通过Service Broker的方式接入到服务目录。

Service Catalog的动作

Service Broker的动作

在kuberntes中,接入后的服务将由kuberntes托管,典型的如数据库。Service Catalog的元数据存在etcd中,建议不和kubernetes本身的共用。要是使用Service Catalog,首先要注册APIService资源(servicecatalog.k8s.io

service catalog

APIService中包含的资源类型

Service Catalog的认证方式

使用步骤
集群管理员通过Service Catalog API Resources提供托管能力,使之在kubernetes中提供服务。

2.在kubernetes中安装Service Catalog的CRD

[root@node4 repo]# helm repo add svc-cat https://svc-catalog-charts.storage.googleapis.com
"svc-cat" has been added to your repositories
[root@node4 repo]# helm search repo 
NAME                    CHART VERSION   APP VERSION DESCRIPTION                                       
svc-cat/catalog         0.2.1                       service-catalog API server and controller-manag...
svc-cat/catalog-v0.2    0.2.2                       service-catalog API server and controller-manag...
svc-cat/healthcheck     0.2.1                       HealthCheck monitors the health of Service Catalog
svc-cat/test-broker     0.2.1                       test service-broker deployment Helm chart.        
svc-cat/ups-broker      0.2.1                       user-provided service-broker deployment Helm ch...
[root@node4 repo]# helm install catalog  repo/catalog
NAME: catalog
LAST DEPLOYED: Fri Nov 22 15:07:16 2019
NAMESPACE: default
STATUS: deployed
REVISION: 1
TEST SUITE: None
[root@node4 repo]# helm ls
NAME    NAMESPACE   REVISION    UPDATED                                 STATUS      CHART           APP VERSION
catalog default     1           2019-11-25 09:42:08.419781746 +0800 CST deployed    catalog-0.2.1   
[root@node4 repo]# kubectl get pod 
NAME                                                  READY   STATUS    RESTARTS   AGE
catalog-catalog-apiserver-548d58d5bb-dp764            0/2     Running   0          5s
catalog-catalog-controller-manager-7d4f797fbb-2sltc   0/1     Running   0          5s
[root@node4 repo]# kubectl get svc
NAME                                 TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)         AGE
catalog-catalog-apiserver            NodePort    172.20.250.33    <none>        443:30443/TCP   4m9s
catalog-catalog-controller-manager   ClusterIP   172.20.71.121    <none>        443/TCP         4m9s
#其他的会创建RoleBinding(当前命名空间和kube-system   )、role、ClusterRoleBinding、ClusterRole、ServiceAccount、Secret、APIService

3.Service Broker实例

Service Broker实现主要要遵守上面提到的5个接口,当然也有许多的SDK,方便开发者实现各自的broker,例如:

上一篇 下一篇

猜你喜欢

热点阅读