跳转至

安装部署

Hummerrisk helm-chart⚓︎

环境要求

  • Kubernetes 1.20 +
  • Helm 3.0

1.快速安装⚓︎

1. 添加 helm 仓库源

helm repo add hummerrisk https://hummerrisk.github.io/helm-repo

2. 更新 helm 仓库

helm repo list
helm repo update

3. 安装 hummerrisk

# 查询 hummerrisk 安装包
helm search repo hummerrisk

# 安装
helm install hummerrisk hummerrisk/hummerrisk -n hummer --create-namespace \
--set hummerrisk.serviceType="NodePort" \
--set trivyServer.serviceType="NodePort" \
--set trivyServer.servicePort=4975 \
--set global.storageClass="<StorageClass Name>"

4. 使用外部的 MySQL 安装 hummerrisk

# 查询 hummerrisk 安装包
helm search repo hummerrisk

# 使用 --set 设置外部数据库配置信息,存储信息
helm install hummerrisk hummerrisk/hummerrisk -n hummer --create-namespace  \
--set hummerrisk.serviceType="NodePort" \
--set trivyServer.serviceType="NodePort" \
--set trivyServer.servicePort=4975 \
--set global.storageClass="cfs"  \                # 你的存储类名称
--set storage.accessModes={"ReadWriteOnce"}  \    # 存储类的访问模式,ReadWriteOnce、ReadWriteMany等
--set mysql.enabled=false   \                     # 关闭创建 MySQL 实例
--set externalMySQL.enabled=true  \               # 开启使用外部 MySQL 数据库
--set externalMySQL.host="172.21.0.7"   \
--set externalMySQL.username="root"   \
--set externalMySQL.port=3306   \
--set externalMySQL.password="Your password"  \
--set externalMySQL.databases="hummerrisk"

2.自定义配置参数说明⚓︎

通过修改 vales.yaml 文件或者 helm --set 可以修改 HummerRisk 安装参数,例如:端口、存储信息等,以下为默认配置项,可根据实际环境修改。

通过 --set 配置参数

全局配置:
--set global.imageRegistry=""           # 设置镜像仓库地址
--set global.imagePullPolicy="Always"   # 设置镜像拉取策略
--set global.storageClass="nfs"         # 设置存储类
--set hummerrisk.serviceType="NodePort" # 设置 service 类型,例如:CLusterIP/NodePort
--set hummerrisk.replicas=2             # 设置 hummerrisk 副本数量
--set hummerrisk.image.tag="v0.4.0"     # 设置 hummerrisk 版本
trivy Server部分:
--set trivyServer.trivyDBVersion="2022122008"  # 漏洞库版本
--set trivyServer.servicePort=4975             # service 端口号
--set trivyServer.serviceType=ClusterIP        # service 类型
内部数据库部分:
--set mysql.enabled=true                # 开启后会在 k8s 集群启动一个 MySQL
--set mysql.rootPassword="password"     # 设置数据库密码
--set mysql.persistence.enable=true     # 开启持久化存储
外部数据库部分:
--set externalMySQL.enabled=true        # 开启后直接连接外部数据库
--set externalMySQL.host="192.168.10.100"     # 设置数据库地址,IP 或者域名
--set externalMySQL.port=3306           # 设置数据库端口,默认 3306
--set externalMySQL.username="root"     # 设置数据库用户名,默认 root
--set externalMySQL.password="pass"     # 设置数据库密码
--set externalMySQL.databases="hummerrisk"    # 设置数据库名称
持久化存储配置:
--set storage.logSize="20Gi"            # 设置 hummerrisk 日志存储卷大小
--set storage.imageSize="30Gi"          # 设置 hummerrisk 镜像存储卷大小
--set storage.fileSize="30Gi"           # 设置 hummerrisk 文件存储卷大小
--set storage.dbSize="50Gi"             # 设置 hummerrisk 数据库存储卷大小,如果使用内部数据需要设置
ingress配置:
--set ingress.enabled=false             # ture 启用 ingress,false 不启用 ingress
--set ingress.hosts.host="hr.example.local" # 设置访问域名

通过 value.yaml 配置参数

# 全局配置
global:
  imageRegistry: "registry.cn-beijing.aliyuncs.com"
  ## E.g.
  ## imagePullSecrets:
  ##   - myRegistryKeySecretName
  ##
  imageTag: v0.3.1
  imagePullSecrets: []
  imagePullPolicy: Always
  ## 指定存储类
  storageClass: "nfs"

# hummerrisk 配置项
hummerrisk:
  image:
    repository: nginx
    pullPolicy: IfNotPresent
    # Overrides the image tag whose default is the chart appVersion.
    tag: v0.4.0
  replicas: 1
  # servicePort is the HTTP listener port for the webserver
  servicePort: 80
  serviceType: ClusterIP
  sessionAffinity: ClientIP

# 外部数据库信息
externalMySQL:
  enabled: false
  host: mysql.local
  port: 3306
  username: root
  password: ""
  database: ""

#  trivy Server 配置
trivyServer:
  trivyDBVersion: "2022122008"
  servicePort: 4975
  serviceType: ClusterIP

# 存储卷配置
storage:
  logSize: 20Gi
  imageSize: 30Gi
  fileSize: 10Gi
  dbSize: 50Gi
  accessModes:
    - ReadWriteMany