kubesphere-3:kubesphere部署etcd与apisix

2022-04-06 12:00:58 浏览数 (1)

目录:

(1).第三方仓库与版本选择

(2).kubesphere部署etcd

(3).kubesphere部署apisix与apisix-dashboard

1.创建运维用apisix

1.1.部署apisix-devops

1.2.部署apisix-devops-controller

1.3.部署apisix-devops-dashboard

1.4.统一修改svc的nodeport端口

2.创建业务用apisix

2.1.部署apisix-biz

2.2.部署apisix-biz-controller

2.3.部署apisix-biz-dashboard

2.4.统一修改svc的nodeport端口

(1).第三方仓库与版本选择

etcd版本:3.5.1

apisix版本:2.10.0

apisix-controller版本:1.3.0

apisix-dashboard版本:

etcd选择仓库:

https://charts.bitnami.com/bitnami

apisix选择仓库:

https://charts.apiseven.com

关于Bitnami:

是一个开源项目,为开源的Web应用程序、开发堆栈以及虚拟设备提供安装程序或安装软件包。

(2).kubesphere部署etcd

kubesphere的应用商店里有etcd,是由kubesphere维护的,版本比较老,所以选择Bitnami。

另外,这个etcd集群(个人机器实际只有一个pod)为所有需要的服务提供注册服务,比如apisix至少有两个集群,一个是devops专用,一个是业务专用。

安全起见,开启rbac:

allowNoneAuthentication:是否允许匿名访问etcd(不是用用户名密码),设置为false禁止匿名访问。

rootPassword:设置为etcd@P3d8UiA

如果启动etcd报这个错,密码怎么改都不对,说明你之前在pv中有密码,两者不一致,最简单的做法是删除pvc/pv,生产别这么干。

要注意一下pv用的sc,是default,没有问题:

部署后的组件和pv:

后续如果想增加节点,直接在kubesphere编辑对应的statefulset中的replica的值即可。

(3).kubesphere部署apisix与apisix-dashboard

kubesphere的应用商店里有apisix,是由kubesphere维护的,但是版本太老,所以使用第三方仓库。

1.创建运维用apisix

部署顺序:apisix -> apisix-controller -> apisix-dashboard

1.1.部署apisix-devops

修改etcd部分:使用前边部署的etcd,并修改prefix,访问etcd开启auth。

rootPassword:设置为etcd@P3d8UiA

apisix的replicaCount默认为1,不变。

1.2.部署apisix-devops-controller

修改apisix-admin的serviceName和serviceNamespace:

直至点到完成。

1.3.部署apisix-devops-dashboard

修改etcd相关配置:

rootPassword:设置为etcd@P3d8UiA

但是不支持修改前缀,需要手动修改对应的configmap:

kubectl edit cm -n apisix-devops apisix-devops-dashboard-apisix-dashboard

然后重启pod让其生效。

1.4.统一修改svc的nodeport端口

不支持指定nodeport,只能事后修改svc。apisix和dashboard都暴露nodeport并固定端口号。

apisix固定nodePort为31600。

kubectl edit svc -n apisix-devops apisix-devops-gateway。

修改apisix-devops-dashboard为nodeport,并固定端口号为31601。

kubectl edit -n apisix-devops svc apisix-devops-dashboard-apisix-dashboard

2.创建业务用apisix

2.1.部署apisix-biz

apisix的replicaCount默认为1,不变。

2.2.部署apisix-biz-controller

修改apisix-admin的serviceName和serviceNamespace:

直至点到完成。

2.3.部署apisix-biz-dashboard

修改etcd相关配置:

rootPassword:设置为etcd@P3d8UiA

但是不支持修改前缀,需要手动修改对应的configmap:

kubectl edit cm -n apisix-biz apisix-biz-dashboard-apisix-dashboard

然后重启pod让其生效。

2.4.统一修改svc的nodeport端口

不支持指定nodeport,只能事后修改svc。apisix和dashboard都暴露nodeport并固定端口号。

apisix固定nodePort为31700。

kubectl edit -n apisix-biz svc apisix-biz-gateway。

修改apisix-devops-dashboard为nodeport,并固定端口号为31701。

kubectl edit -n apisix-biz svc apisix-biz-dashboard-apisix-dashboard。

0 人点赞