一键部署 Kubernetes 组件

此脚本为Kubernetes组件的一键式部署方案,使用此脚本则无需部署后续的 Nginx Ingress Controller集群日志Metrics ServerPrometheus 和 Grafana分布式训练 operator

组件列表

  • Nginx Ingress Controller:kubernetes集群网关
  • 集群日志采集组件:Elasticsearch、Fluentd Bit、Kibana 采集展示集群容器日志
  • Metrics Server:kubernetes集群核心监控数据的聚合器
  • Prometheus、Grafana:kubernetes集群/容器监控信息的收集和展示
  • 分布式训练 operator:管理分布式训练容器

准备环境

安装如下软件环境

  • OpenJDK: 1.8+
  • Redis: 3.0+
  • Maven: 3.0+
  • Git: 2.0.0+
  • Docker: 18+
  • Kubernetes v1.16.2 (参考 部署 Kubernetes 集群)

快速部署

在k8s集群的master节点,执行如下命令后等待部署完成:

$ wget http://tianshu.org.cn/static/upload/file/dubheDeployScriptfile.zip
$ unzip dubheDeployScriptfile.zip
$ bash dubheDeployScriptfile/k8s-component/deploy_k8s_component.sh

部署完成后通过 kubectl get pod -A 查看运行的组件

如需卸载,执行如下脚本:

$ bash dubheDeployScriptfile/k8s-component/delete_k8s_component.sh
note

部署指南:

# 目录结构如下
$ tree dubheDeployScriptfile
dubheDeployScriptfile
├── k8s-component
│   │── distribute-train-operator
│   │ ├── delete_distribute_train_operator.sh
│   │ ├── deploy_distribute_train_operator.sh
│   │ ├── distribute-train-operator-deploy.yaml
│   │ └── Dockerfile
│   ├── efk
│   │ └── efk-deployment.yaml
│   ├── metrics-server
│   │ └── metrics-server-deployment.yaml
│   ├── monitor
│   │ └── monitor-pod.yaml
│   ├── nginx-ingress-controller
│   │ └── nginx-ingress-controller.yaml
│   ├── delete_k8s_component.sh
│   └── deploy_k8s_component.sh

执行过程需要输入如下信息

  • harbor服务器地址 示例:harbor.test.com
  • harbor 用户名 示例:admin
  • harbor 密码 示例:Harbor12345
  • redis ip (未设置则直接回车) 示例:192.168.16.5
  • redis 密码 示例:123456
  • reids 端口 示例:6379
  • (可选)聚码坊账号/码云账号
  • (可选)聚码坊密码/码云密码

配置 Elasticsearch

执行以下命令查看安装的 Service:

kubectl get svc -n kube-system

可以看到 Elasticsearch 和 Kibana 对外提供的节点端口 port,如下:

NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
elasticsearch-logging NodePort 10.110.110.73 <none> 9200:32321/TCP 22d
kibana-logging NodePort 10.111.13.38 <none> 5601:32680/TCP 22d

我们可以通过http://MASTER_IP:PORT 访问相关服务,MASTER_IP即为k8s主节点服务器IP地址。例如通过http://MASTER_IP:32680 访问Kibana。

ES 默认查询结果是 10000 条,需要自行配置来修改默认值,访问 Kibana,在控制台执行以下命令完成配置:

PUT _all/_settings
{
"index":{
"max_result_window": 2000000000
}
}
Last updated on