基础设施部署
持久卷的建立
请参考:《持久卷的建立》
elasticsearch部署
一、设置远程扩展字典
不使用自定义字典请忽略此步骤
首先更改ES中IK插件的配置:
vi/opt/kubernetes/es/IKAnalyzer.cfg.xml
按您的实际设置的秘钥配置secret_value:
http://base-api-service.ns-javashop/load-customwords?secret_key=secret_value
然后在master节点执行如下命令:
kubectlcreateconfigmapik-config--from-file=/opt/kubernetes/es/IKAnalyzer.cfg.xml--namespace=ns-elasticsearch
记录secret_key设置的值,在API和UI部署完成后,需要在管理端进行保存,否则自定义分词加载失败
二、elasticsearch使用的持久化存储卷声明
kubectlcreate-f/opt/kubernetes/es/elasticsearch-pvc.yaml
三、部署
kubectlcreate-f/opt/kubernetes/es/elasticsearch.yaml
四、验证
curlhttp://:32000/_cluster/health
将mastr-ip换为k8s集群中任意一个节点的ip
{
"cluster_name":"elasticsearch-cluster",
"status":"green",
"timed_out":false,
"number_of_nodes":5,
"number_of_data_nodes":2,
...
}
- 确认status是green
- 确认nodes数量正确
RabbitMq部署
一、持久化存储卷声明
kubectlcreate-f/opt/kubernetes/rabbitmq/rabbitmq-pvc.yaml
一、安装
kubectlcreate-f/opt/kubernetes/rabbitmq/configmap.yaml
kubectlcreate-f/opt/kubernetes/rabbitmq/rabbitmq-rbac.yaml
kubectlcreate-f/opt/kubernetes/rabbitmq/rabbitmq-service.yaml
kubectlcreate-f/opt/kubernetes/rabbitmq/rabbitmq.yaml
二、验证
访问:
http://:31672
- 请记得修改guest密码,注意安全
- 建议建立自己的vhost和用户
数据的部署
在本步骤我们将会初始化数据库和elasticsearch
数据库准备
在这之前,请先确定在您的数据库中已经创建了如下数据库:
- 考虑成本和docker的特性,数据库采用云服务(如阿里云)
您需要创建如下数据库:
--创建数据库
CREATEDATABASEIFNOTEXISTSdefault_databaseDEFAULTCHARSETutf8COLLATEutf8_bin;
--xxl-job库
CREATEDATABASEIFNOTEXISTSxxl_jobDEFAULTCHARSETutf8COLLATEutf8_bin;
- 如果您要使用其它数据库的名字,请修改数据库名
- 说明:如果使用mysql5.7版本,则在数据库配置中sql_model的值不能包含NO_BACKSLASH_ESCAPES,当sql_mode中包涵no_backslash_escapes时,反斜杠"\"为普通字符而不是转义字符。
部署deploy工具
在master上执行:
kubectlcreate-f/opt/kubernetes/data-install.yaml
然后打开如下界面:
http://ip:30075
默认账号为:admin/admin
初始化数据
1、按配置好数据库的连接和elasticsearc连接
2、执行依次"数据库部署""、"地区数据部署"和"elasticsearch部署"
- 因为地区的记录数比较多,地区数据默认没有被安装
- 您可以选择手动执行这个脚本来初始化地区数据:deploy/resoruce/scheme/regions.sql
- 如果您采用的阿里云数据库,请注意填写内网地址会比较快
elasticsearch的链接配置:
- 因为通过k8s来运行的deploy工具,所以我们可以使用内网地址来部署elasticsearch数据:
- elasticsearch-api-service.ns-elasticsearch:9300
移除工具
最后移除部署工具防止被恶意利用:
kubectldelete-f/opt/kubernetes/data-install.yaml
上述就是关于技术方面的内容了,想了解更多详情,可以持续关注易族智汇javashop,有任何问题,欢迎一起探讨。