JumpServer

安装

nfs storageclass

Jumpserver需要持久化存储,使用了动态绑定的方案,所以我们需要创建StorageClass,这里我们使用nfs

  1. 所有节点安装nfs client:yum install nfs-utils
  2. 暴露NFS服务的机器开启nfs-serversudo systemctl start nfs-server; sudo systemctl enable nfs-server
  3. 修改/etc/exports,添加共享路径/mnt/vdb/nfs 172.31.0.0/16(rw,sync,no_root_squash,no_subtree_check) 127.0.0.1(rw,sync,no_root_squash,no_subtree_check),随后执行共享sudo exportfs
  4. 随后安装nfs-subdir-external-provisioner
helm repo add nfs-subdir-external-provisioner https://kubernetes-sigs.github.io/nfs-subdir-external-provisioner
helm repo update

# 安装,发现在火山云上没法拉下来,所以拉下来使用火山云镜像
# helm install nfs-subdir-external-provisioner nfs-subdir-external-provisioner/nfs-subdir-external-provisioner --set nfs.server=172.31.0.14 --set nfs.path=/mnt/vdb/nfs
helm pull nfs-subdir-external-provisioner/nfs-subdir-external-provisioner
# 然后解压,修改value.yaml,随后安装
helm install nfs-subdir-external-provisioner nfs-subdir-external-provisioner/nfs-subdir-external-provisioner -f values.yaml

环境要求

Centos使用yum安装的redis版本太低了,需要手动编译安装
sudo yum update -y
sudo yum install -y gcc make
sudo yum install -y tcl

wget https://download.redis.io/releases/redis-7.0.0.tar.gz
tar xzf redis-7.0.0.tar.gz
cd redis-7.0.0
make
# make test
make install

# 随后设置开机自启动
sudo tee /etc/systemd/system/redis.service <<EOF
[Unit]
Description=Redis In-Memory Data Store
After=network.target

[Service]
ExecStart=/usr/local/bin/redis-server /etc/redis.conf
ExecStop=/usr/local/bin/redis-cli shutdown
Restart=always

[Install]
WantedBy=multi-user.target
EOF
sudo systemctl enable redis
sudo systemctl start redis

# 配置文件/etc/redis.conf可以从工程目录拷过去,
# 记得修改bind为0.0.0.0,和requirepass为自己的密码

Helm

利用helm在kuberneters中安装jumpserver

# 添加jumpserver仓库
helm repo add jumpserver https://jumpserver.github.io/helm-charts

# 更新仓库
helm repo update

# 查看仓库中的软件
helm search repo

# 把charts下载到本地
helm pull jumpserver/jumpserver --version v4.7.0

# 随后修改values.yml
# 主要修改externalDatabase,externalRedis,ingress相关的
# 同时需要创建storageclass,可以使用nfs等
# 随后安装
helm install jms-k8s jumpserver/jumpserver -n default -f values.yaml