safety-eval-service/docs/gbs/GBS底座部署.md

740 lines
47 KiB
Markdown
Raw Permalink Blame History

This file contains invisible Unicode characters!

This file contains invisible Unicode characters that may be processed differently from what appears below. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to reveal hidden characters.

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# GBS底座部署
## 安装前准备
每台服务器都需要进行此操作
服务器规划 最低三台服务
| 主机名/域名 | ip | |
| --- | --- | --- |
| k8s-master | x.x.x.x | 应用服务器Master安装nginx数据库mqredis等<br>安装 docker安装 Kubernetes |
| k8s-work01 | x.x.x.x | 应用服务器work安装 Kubernetes<br>安装 docker |
| k8s-work02 | x.x.x.x | 应用服务器work安装 Kubernetes<br>安装 docker |
基础准备:
1、yum源变更每台服务器都需要变更
centos
[https://blog.csdn.net/m0\_74007708/article/details/141276668](https://blog.csdn.net/m0_74007708/article/details/141276668)
rockylinux
[https://developer.aliyun.com/article/1074889](https://developer.aliyun.com/article/1074889)
2、服务器主从节点配置
每台服务器的/etc/hosts文件下都写入
x.x.x.x k8s-master x.x.x.x  k8s-work01 x.x.x.x  k8s-work02 x.x.x.x  k8s-work03
![image.png](https://alidocs.oss-cn-zhangjiakou.aliyuncs.com/res/4jKqm0bQMz18Gnw1/img/13361ecd-2572-400c-a91b-020e702c467c.png)
```shell
cd /
cat /config/hosts | while read hostdata;do echo ${hostdata} >> /etc/hosts;done
```
3、每台服务器都进行同步时间
```shell
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
yum install ntpdate -y
crontab -e
*/5 * * * * ntpdate -u time.pool.aliyun.com
```
```shell
# 安装chrony
sudo dnf install -y chrony
sudo vi /etc/chrony.conf
# 注释原有默认的服务器地址,添加以下阿里云 NTP 服务器地址
server ntp1.aliyun.com iburst
server ntp2.aliyun.com iburst
server ntp3.aliyun.com iburst
#启动并设置开机自启
sudo systemctl start chronyd
sudo systemctl enable chronyd
#立即同步时间
sudo chronyc makestep
# 验证
date
chronyc sources
# 查看是否同步NTP synchronized: yes
timedatectl
# 如果有其他服务需要同步时钟但是其他服务器互通但是其他服务器连不到外网
# 主服务器 允许x.x.x.0/24网段的服务器向本服务器同步时间
sudo vi /etc/chrony.conf
# 添加allow x.x.x.0/24
# 从服务器 把主服务加入进去
# 1、先安装chrony 2、编辑chrony.conf
# 仅同步本地主服务器替换为实际主服务器IP
server 192.168.1.100 iburst
```
4、每台服务器防火墙配置
```shell
cat /config/hosts | awk '{print $1}' | while read rich_ip; do sudo firewall-cmd --permanent --zone=trusted --add-source=${rich_ip}; firewall-cmd --reload; done
```
```shell
sudo sh -c 'cat /config/hosts | awk "{print \$1}" | while read rich_ip; do
firewall-cmd --permanent --zone=trusted --add-source=${rich_ip};
done;
firewall-cmd --reload'
```
```shell
# 允许 kube-proxy 重定向流量
sudo firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT 1 -j ACCEPT -m comment --comment "kube-proxy redirects"
# 允许 Docker 容器子网之间的流量通信
sudo firewall-cmd --permanent --direct --add-rule ipv4 filter FORWARD 1 -j ACCEPT -m comment --comment "docker subnet"
# 设置防火墙伪装IP打开NAT
sudo firewall-cmd --add-masquerade --permanent
# 添加防火墙端口
sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent
# 最后重载防火墙使配置生效
sudo firewall-cmd --reload
# 验证
sudo firewall-cmd --list-all --zone=trusted
```
4、关闭swap分区&selinux
```shell
sudo swapoff -a
sudo sed -i 's/.*swap.*/#&/' /etc/fstab
sudo setenforce 0
sudo sed -i 's@=enforcing@=disabled@g' /etc/selinux/config
```
5、加载overlay和br\_netfilter内核模块
```shell
sudo cat <<EOF | sudo tee /etc/modules-load.d/k8s.conf
overlay
br_netfilter
EOF
sudo modprobe overlay
sudo modprobe br_netfilter
```
6、设置所需的 sysctl 参数参数在重新启动后保持不变
```shell
sudo cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-iptables  = 1
net.bridge.bridge-nf-call-ip6tables = 1
net.ipv4.ip_forward                 = 1
EOF
```
7、应用刚刚的配置
```shell
sudo sysctl --system
```
8、检查 overlay和br\_netfilter 模块
```shell
sudo lsmod | grep br_netfilter
sudo lsmod | grep overlay
# centos结果
br_netfilter           22256  0
bridge                151336  1 br_netfilter
overlay                91659  0
# Rocky Linux
br_netfilter 28672 0
bridge 294912 1 br_netfilter
overlay 139264 0
```
## 中间件安装
### 安装ngxin
```shell
cd /home/data
# 下载nginx
sudo wget https://nginx.org/download/nginx-1.27.2.tar.gz
sudo tar -zxvf nginx-1.27.2.tar.gz
# 安装c编译器
sudo dnf install -y gcc gcc-c++ make pcre-devel zlib-devel openssl-devel
sudo ./configure --prefix=/usr/local/nginx --with-http_ssl_module
sudo make && sudo make install
# 配置系统服务
sudo tee /etc/systemd/system/nginx.service <<EOF
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true
[Install]
WantedBy=multi-user.target
EOF
# 重新加载 systemd 配置使服务生效
sudo systemctl daemon-reload
sudo systemctl enable nginx
sudo systemctl start nginx
```
### 安装docker
```shell
# 安装必要的一些系统工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# 添加软件源信息
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 更新并安装Docker-CE
sudo yum -y install docker-ce
sudo service docker start
```
```shell
# 安装必要的一些系统工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# 添加软件源信息
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
#安装docker
sudo dnf install -y docker-ce docker-ce-cli containerd.io --allowerasing
sudo service docker start
```
### 安装CRI-Dockerd
```shell
"$(uname -m)" = "aarch64"
wget https://github.com/Mirantis/cri-dockerd/releases/download/v0.3.4/cri-dockerd-0.3.4.arm64.tgz
"$(uname -m)" = "loongarch64"
wget https://mirror.loongnix.cn/cri-dockerd/v0.3.4/cri-dockerd-0.3.4.loongarch64.tgz
"$(uname -m)" = "x86_64"
wget https://github.com/Mirantis/cri-dockerd/releases/download/v0.3.4/cri-dockerd-0.3.4.amd64.tgz
```
[请至钉钉文档查看附件《cri-dockerd-0.3.4.amd64.tgz》。](https://alidocs.dingtalk.com/document/preview?chInfo=im&cid=130587771:1935297177&dentryKey=g08Ok5gnh0MaBZlL&docKey=4jKqm0bQMz18Gnw1&dontjump=true&iframeQuery=anchorId%3DX02mhygfz56bxlrmbfezb4&type=d&utm_medium=im_card&utm_source=im)
```shell
sudo mv cri-dockerd/cri-dockerd /usr/local/bin/
sudo chmod +x /usr/local/bin/cri-dockerd
# 创建systemd服务文件
sudo tee /usr/lib/systemd/system/cri-docker.service <<'EOF'
[Unit]
Description=CRI Interface for Docker Application Container Engine
Documentation=https://docs.mirantis.com
After=network-online.target firewalld.service docker.service
Wants=network-online.target
Requires=docker.service
[Service]
Type=notify
ExecStart=/usr/local/bin/cri-dockerd --network-plugin=cni --pod-infra-container-image=registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.9
ExecReload=/bin/kill -s HUP $MAINPID
TimeoutSec=0
RestartSec=2
Restart=always
StartLimitBurst=3
StartLimitInterval=60s
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
TasksMax=infinity
Delegate=yes
KillMode=process
[Install]
WantedBy=multi-user.target
EOF
# 启动服务
sudo systemctl daemon-reload
sudo systemctl enable cri-docker && sudo systemctl start cri-docker
```
### 安装Kubernetes
```shell
sudo tee /etc/yum.repos.d/kubernetes.repo <<EOF
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-$(uname -m)/
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF
#  清理并更新yum缓存
sudo yum clean all
sudo yum makecache
```
```shell
# 安装指定版本 k8s
sudo yum install -y  kubelet-1.27.6-0  kubeadm-1.27.6-0  kubectl-1.27.6-0
```
```shell
sudo dnf install -y kubelet-1.27.6-0 kubeadm-1.27.6-0 kubectl-1.27.6-0 --disableexcludes=kubernetes
```
配置Kubelet使用CRI-Dockerd
```shell
sudo mkdir -p /var/lib/kubelet/
#  生成基础配置
sudo tee /var/lib/kubelet/config.yaml <<EOF
apiVersion: kubelet.config.k8s.io/v1beta1
kind: KubeletConfiguration
cgroupDriver: systemd
clusterDNS:
- 10.96.0.10
clusterDomain: cluster.local
containerLogMaxSize: 50Mi
containerLogMaxFiles: 3
cpuManagerReconcilePeriod: 10s
evictionHard:
  memory.available: "200Mi"
  nodefs.available: "10%"
  nodefs.inodesFree: "5%"
  imagefs.available: "15%"
failSwapOn: false
hairpinMode: hairpin-veth
serializeImagePulls: false
logging:
  format: json
EOF
```
```shell
# 修改systemd服务文件
sudo tee /etc/systemd/system/kubelet.service.d/10-cri-docker.conf <<EOF
[Service]
Environment="KUBELET_KUBECONFIG_ARGS=--bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf --kubeconfig=/etc/kubernetes/kubelet.conf"
Environment="KUBELET_CONFIG_ARGS=--config=/var/lib/kubelet/config.yaml"
Environment="KUBELET_EXTRA_ARGS=--container-runtime=remote --container-runtime-endpoint=unix:///run/cri-dockerd.sock --node-ip=<NODE_IP> --hostname-override=<HOSTNAME>"
ExecStart=
ExecStart=/usr/bin/kubelet $KUBELET_KUBECONFIG_ARGS $KUBELET_CONFIG_ARGS $KUBELET_EXTRA_ARGS
EOF
sudo systemctl daemon-reload
sudo systemctl enable kubelet
```
**主节点初始化(不要在工作节点使用)**
```shell
sudo tee kubeadm-config.yaml <<EOF
apiVersion: kubeadm.k8s.io/v1beta3
kind: InitConfiguration
nodeRegistration:
  criSocket: unix:///run/cri-dockerd.sock
  kubeletExtraArgs:
    node-ip: <替换为实际主节点ip>
    hostname-override: <替换为实际主节点hostname>
---
apiVersion: kubeadm.k8s.io/v1beta3
kind: ClusterConfiguration
kubernetesVersion: 1.27.6
imageRepository: registry.cn-hangzhou.aliyuncs.com/google_containers
controlPlaneEndpoint: "<替换为实际主节点ip>:6443"
networking:
  podSubnet: "10.244.0.0/16"
  serviceSubnet: "10.96.0.0/12"
  dnsDomain: "cluster.local"
apiServer:
  extraArgs: {}
controllerManager:
  extraArgs:
    bind-address: "0.0.0.0"
scheduler:
  extraArgs:
    bind-address: "0.0.0.0"
EOF
```
[请至钉钉文档查看附件《kubeadm-config.yaml》。](https://alidocs.dingtalk.com/document/preview?chInfo=im&cid=130587771:1935297177&dentryKey=g08Ok5gnh0MaBZlL&docKey=4jKqm0bQMz18Gnw1&dontjump=true&iframeQuery=anchorId%3DX02mhyj8glhoxq16bkm6o&type=d&utm_medium=im_card&utm_source=im)
然后配置证书
```plaintext
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
# 验证配置
kubectl cluster-info
# 检查 kubelet 状态
sudo systemctl status kubelet
# 查看 kubelet 日志
sudo journalctl -u kubelet -n 50 --no-pager
```
```shell
一、优先检查 kubelet 状态(最常见原因)
kubelet 是节点上的核心组件,若它未运行或异常,控制平面组件(如 kube-apiserver无法启动。
查看 kubelet 状态:
bash
sudo systemctl status kubelet
若显示 inactive未运行启动并设置开机自启
bash
sudo systemctl enable --now kubelet
若显示 active (running) 但有错误,查看详细日志:
bash
sudo journalctl -xeu kubelet # 重点看 ERROR 级别的日志
二、常见 kubelet 错误及解决
1. cgroup 驱动不匹配
kubelet 与容器运行时cri-dockerd/Docker的 cgroup 驱动必须一致,否则会导致启动失败。
查看 Docker 的 cgroup 驱动:
bash
docker info | grep "Cgroup Driver"
# 输出通常为Cgroup Driver: systemd
查看 kubelet 的 cgroup 驱动配置:
bash
cat /var/lib/kubelet/config.yaml | grep cgroupDriver
若不一致(如 Docker 是 systemdkubelet 是 cgroupfs修改 kubelet 配置:
bash
sudo vi /var/lib/kubelet/config.yaml
# 将 cgroupDriver: "cgroupfs" 改为 cgroupDriver: "systemd"
重启 kubelet
bash
sudo systemctl daemon-reload
sudo systemctl restart kubelet
2. Swap 未关闭
Kubernetes 要求禁用 Swap否则 kubelet 会启动失败。
临时关闭 Swap
bash
sudo swapoff -a
永久关闭 Swap重启生效
bash
sudo sed -i '/swap/s/^/#/' /etc/fstab # 注释 /etc/fstab 中的 Swap 行
三、检查控制平面容器状态
若 kubelet 运行正常需检查控制平面组件kube-apiserver、kube-controller-manager、kube-scheduler的容器是否启动失败。
列出所有 Kubernetes 相关容器:
bash
# 使用 cri-dockerd 的 runtime-endpoint 查看
crictl --runtime-endpoint unix:///run/cri-dockerd.sock ps -a | grep kube | grep -v pause
若某个容器状态为 Exited 或 CrashLoopBackOff记录其 CONTAINER ID。
查看失败容器的日志(以 kube-apiserver 为例):
bash
crictl --runtime-endpoint unix:///run/cri-dockerd.sock logs <CONTAINER_ID>
常见错误:
端口占用6443apiserver、2379etcd等端口被占用需关闭占用进程如 sudo lsof -i :6443 查找并 kill
镜像拉取失败:检查 imageRepository 配置是否正确(如阿里云镜像是否可用),手动拉取镜像:
bash
sudo docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-apiserver:v1.27.6
证书错误:删除旧证书重新初始化(谨慎操作,会重置集群):
bash
sudo kubeadm reset
sudo rm -rf /etc/cni/net.d # 清理网络配置
sudo kubeadm init --config=kubeadm-config.yaml --upload-certs # 重新初始化
四、其他可能原因
SELinux 或防火墙限制:
临时关闭 SELinuxsudo setenforce 0
开放必要端口6443、2379、2380、10250 等):
bash
sudo firewall-cmd --permanent --add-port=6443/tcp
sudo firewall-cmd --permanent --add-port=2379-2380/tcp
sudo firewall-cmd --permanent --add-port=10250/tcp
sudo firewall-cmd --reload
kubelet 配置文件错误:若之前修改过 /var/lib/kubelet/config.yaml可删除后重新生成
bash
sudo rm -f /var/lib/kubelet/config.yaml
sudo kubeadm reset
sudo kubeadm init --config=kubeadm-config.yaml --upload-certs
```
配置集群环境网络插件
```shell
sudo mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
# 网络插件安装Calico v3.26
curl -O https://raw.githubusercontent.com/projectcalico/calico/v3.26.1/manifests/calico.yaml
sudo sed -i -e 's|docker.io/calico/|quay.io/calico/|g' -e 's|path: /var/lib/calico|path: /var/lib/uros/calico|g' calico.yaml
# 验证安装进度
kubectl get pods -n kube-system | grep calico-node
# 看描述
kubectl describe pod calico-node-《节点》 -n kube-system
# 如果镜像下载太慢 直接用docker安装
# sudo docker pull quay.io/calico/node:v3.26.1
```
集群加入主节点
```shell
# 如果丢失这个信息了以后 执行这个
# 生成新的 token有效期 24 小时)
kubeadm token create --print-join-command
# 此次应该要确认 主节点的 6443 端口是否放开。
#https://blog.csdn.net/weixin_47872288/article/details/120188576
# 子节点 按刚刚的命令 执行下 子节点注入
# 验证子节点是否注入成功
kubectl get nodes -o wide
# 如果加入不成功( Kubernetes API Server 失败把主节点admin.conf 改名成 config 复制到从节点的/home/admin/.kube 下重新执行命令。
```
```shell
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME
k8s-master Ready control-plane 2d19h v1.27.6 192.168.198.8 <none> Rocky Linux 8.10 (Green Obsidian) 4.18.0-553.el8_10.x86_64 docker://26.1.3
k8s-work01 Ready <none> 34m v1.27.6 192.168.198.6 <none> Rocky Linux 8.10 (Green Obsidian) 4.18.0-553.el8_10.x86_64 docker://26.1.3
k8s-work02 Ready <none> 23m v1.27.6 192.168.198.7 <none> Rocky Linux 8.10 (Green Obsidian) 4.18.0-553.el8_10.x86_64 docker://26.1.3
```
集群中删除某个节点
```shell
# 替换 <节点名称> 为实际节点名(如 k8s-work01
kubectl cordon <节点名称>
# 驱逐非 DaemonSet 的 Pod--ignore-daemonsets 是关键参数
kubectl drain <节点名称> --ignore-daemonsets
# 从集群中删除节点
kubectl delete node <节点名称>
# 在被删除的节点上重置 kubeadm 配置
sudo kubeadm reset
```
 [https://get.helm.sh/helm-v3.12.3-linux-amd64.tar.gz](https://get.helm.sh/helm-v3.12.3-linux-amd64.tar.gz)
[请至钉钉文档查看附件《helm-v3.12.3-linux-amd64.tar.gz》。](https://alidocs.dingtalk.com/document/preview?chInfo=im&cid=130587771:1935297177&dentryKey=g08Ok5gnh0MaBZlL&docKey=4jKqm0bQMz18Gnw1&dontjump=true&iframeQuery=anchorId%3DX02mhym64msa3zc1ny0vn&type=d&utm_medium=im_card&utm_source=im)
安装helm
```shell
sudo mv linux-amd64/helm /usr/local/bin/helm
sudo chmod +x /usr/local/bin/helm
helm version
# 添加仓库
helm repo add jjb-prod http://charts.jjbedu.cn:81/prod
# 更新仓库
helm repo update
# 安装dashboard
```
### 安装dashboard
[请至钉钉文档查看附件《dashboard-value.yaml》。](https://alidocs.dingtalk.com/document/preview?chInfo=im&cid=130587771:1935297177&dentryKey=g08Ok5gnh0MaBZlL&docKey=4jKqm0bQMz18Gnw1&dontjump=true&iframeQuery=anchorId%3DX02mi2q49ngbo4puel18u4&type=d&utm_medium=im_card&utm_source=im)
[请至钉钉文档查看附件《metrics-server.yaml》。](https://alidocs.dingtalk.com/document/preview?chInfo=im&cid=130587771:1935297177&dentryKey=g08Ok5gnh0MaBZlL&docKey=4jKqm0bQMz18Gnw1&dontjump=true&iframeQuery=anchorId%3DX02mi2lp5hdv7cg3dfeen&type=d&utm_medium=im_card&utm_source=im)
```shell
# 主节点执行
kubectl apply -f metrics-server.yaml
# 部署dashboard
helm install kubernetes-dashboard k8s-dashboard/kubernetes-dashboard --version 6.0.6 -f dashboard-value.yaml
```
```shell
# 主节点执行
kubectl apply -f metrics-server.yaml
# 部署dashboard
helm install kubernetes-dashboard k8s-dashboard/kubernetes-dashboard --version 6.0.6 -n kube-system -f dashboard-value.yaml
# 创建用户
kubectl create clusterrolebinding kube-dashboard-admin-binding \
--clusterrole=cluster-admin \
--serviceaccount=kube-system:kube-dashboard-admin-sa
# 生成token
kubectl create token kube-dashboard-admin-sa -n kube-system --duration=87600h | tee ~/dashboard_log_token
# 已生成token
eyJhbGciOiJSUzI1NiIsImtpZCI6IklJcHoySHJTeUw1bmJweGtZdkNYVUJiUkk0VlMwSDBfRnN5Z0ZPWlhHeHcifQ.eyJhdWQiOlsiaHR0cHM6Ly9rdWJlcm5ldGVzLmRlZmF1bHQuc3ZjLmNsdXN0ZXIubG9jYWwiXSwiZXhwIjoyMDc4NzIwNzM1LCJpYXQiOjE3NjMzNjA3MzUsImlzcyI6Imh0dHBzOi8va3ViZXJuZXRlcy5kZWZhdWx0LnN2Yy5jbHVzdGVyLmxvY2FsIiwia3ViZXJuZXRlcy5pbyI6eyJuYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsInNlcnZpY2VhY2NvdW50Ijp7Im5hbWUiOiJrdWJlLWRhc2hib2FyZC1hZG1pbi1zYSIsInVpZCI6ImQ2MmFjYTllLTY5YTktNGY4Ny1iY2Y5LWE0MGE3ZGJkN2NjMiJ9fSwibmJmIjoxNzYzMzYwNzM1LCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6a3ViZS1zeXN0ZW06a3ViZS1kYXNoYm9hcmQtYWRtaW4tc2EifQ.hLGSbs_gob8SBkYRQeoY3nBZXsslYmAkxndAt7qMvEkRLVkl8miOuoj5iYbvKsMSzxazP-6H4arCi3k3eR9xLCvmLfte2P0JDCvKr-0FapGevV7uQusKzQTKfIag8CkIs5JN17tsCU5dDAvrwJ6g7hAoPTIccmDcZV6P5AhZrlO0JfXhDBgHyP2n_QFshM-wj_5YwETfJbOnDwEjYEXHviUfGpQQ03LIChKU-vwaG8yrIm7CodnHIE_Bu-9k1Bm2KyDFdVYCpTU_iP2A16zV0590Z9pphSKBbCcxvHCAlkosFE3O-aI9e6SrxieSA02zt-vnoU84li9a6eoLzrbNaA
```
启动命令
```shell
kubectl get svc -n kube-system
```
![image.png](https://alidocs.oss-cn-zhangjiakou.aliyuncs.com/res/4jKqm0bQMz18Gnw1/img/9d8d4d6f-7360-4daa-a83d-fb4e4936162d.png)
访问对应的这个地址
### 安装mysql
```shell
版本8+
使用docker 安装 步骤略
```
```mysql
CREATE DATABASE `nacos_config` CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_0900_ai_ci';
CREATE DATABASE `basic-application` CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_0900_ai_ci';
CREATE DATABASE `jjb-saas-application` CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_0900_ai_ci';
CREATE DATABASE `jjb-saas-application-ota` CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_0900_ai_ci';
CREATE DATABASE `jjb-saas-attachment` CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_0900_ai_ci';
CREATE DATABASE `jjb-saas-auth` CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_0900_ai_ci';
CREATE DATABASE `jjb-saas-base` CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_0900_ai_ci';
CREATE DATABASE `jjb-saas-component-design` CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_0900_ai_ci';
CREATE DATABASE `jjb-saas-config` CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_0900_ai_ci';
CREATE DATABASE `jjb-saas-desk` CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_0900_ai_ci';
CREATE DATABASE `jjb-saas-events` CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_0900_ai_ci';
CREATE DATABASE `jjb-saas-facade` CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_0900_ai_ci';
CREATE DATABASE `jjb-saas-formily-design` CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_0900_ai_ci';
CREATE DATABASE `jjb-saas-gateway` CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_0900_ai_ci';
CREATE DATABASE `jjb-saas-login` CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_0900_ai_ci';
CREATE DATABASE `jjb-saas-message` CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_0900_ai_ci';
CREATE DATABASE `jjb-saas-open-platform` CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_0900_ai_ci';
CREATE DATABASE `jjb-saas-process-layout` CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_0900_ai_ci';
CREATE DATABASE `jjb-saas-risk` CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_0900_ai_ci';
CREATE DATABASE `jjb-saas-security` CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_0900_ai_ci';
CREATE DATABASE `jjb-saas-system` CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_0900_ai_ci';
CREATE DATABASE `jjb-saas-user` CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_0900_ai_ci';
CREATE DATABASE `jjb-saas-view` CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_0900_ai_ci';
CREATE DATABASE `xxl_job` CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_0900_ai_ci';
```
### 安装redis
```shell
版本6.2
使用docker 安装步骤略
```
### 安装minio
```shell
版本 RELEASE.2023-09-04T19-57-37Z
使用docker 安装步骤略
```
### 安装rocketmq
[请至钉钉文档查看附件《rocketmq\_install\_for\_k8s.sh》。](https://alidocs.dingtalk.com/document/preview?chInfo=im&cid=130587771:1935297177&dentryKey=g08Ok5gnh0MaBZlL&docKey=4jKqm0bQMz18Gnw1&dontjump=true&iframeQuery=anchorId%3DX02mi2v18z1w5j7bcw6raj&type=d&utm_medium=im_card&utm_source=im)
### 安装nacos
初始库
[请至钉钉文档查看附件《config\_info.sql》。](https://alidocs.dingtalk.com/document/preview?chInfo=im&cid=130587771:1935297177&dentryKey=g08Ok5gnh0MaBZlL&docKey=4jKqm0bQMz18Gnw1&dontjump=true&iframeQuery=anchorId%3DX02mi3zdnnrlxfb4gh01i&type=d&utm_medium=im_card&utm_source=im)
[请至钉钉文档查看附件《nacos.yml》。](https://alidocs.dingtalk.com/document/preview?chInfo=im&cid=130587771:1935297177&dentryKey=g08Ok5gnh0MaBZlL&docKey=4jKqm0bQMz18Gnw1&dontjump=true&iframeQuery=anchorId%3DX02mi3zdxg68r1npwfsah4&type=d&utm_medium=im_card&utm_source=im)
[请至钉钉文档查看附件《ns.yml》。](https://alidocs.dingtalk.com/document/preview?chInfo=im&cid=130587771:1935297177&dentryKey=g08Ok5gnh0MaBZlL&docKey=4jKqm0bQMz18Gnw1&dontjump=true&iframeQuery=anchorId%3DX02mi3zdxh83vezy07zqx7&type=d&utm_medium=im_card&utm_source=im)
[请至钉钉文档查看附件《cm.yml》。](https://alidocs.dingtalk.com/document/preview?chInfo=im&cid=130587771:1935297177&dentryKey=g08Ok5gnh0MaBZlL&docKey=4jKqm0bQMz18Gnw1&dontjump=true&iframeQuery=anchorId%3DX02mi3zdxicg8ozc5vz9yr&type=d&utm_medium=im_card&utm_source=im)
[请至钉钉文档查看附件《cm-1.yml》。](https://alidocs.dingtalk.com/document/preview?chInfo=im&cid=130587771:1935297177&dentryKey=g08Ok5gnh0MaBZlL&docKey=4jKqm0bQMz18Gnw1&dontjump=true&iframeQuery=anchorId%3DX02mi3zdxjlfb29uvxq9z&type=d&utm_medium=im_card&utm_source=im)
四个配置文件放到服务器上
先执行 
```bash
# 初始化配置文件
kubectl apply -f ns.yml
kubectl apply -f cm.yml
kubectl apply -f cm-1.yml
kubectl apply -f nacos.yml
# 查看pod 节点
kubectl get pods -A
# 查看日志
kubectl logs -f -n jjb-dragon <新的prod-nacos-pod-name>
# 修改 pod配置
# 删除 pod节点
kubectl delete pod <pod-name> -n <namespace>
```
安装xxljob
### 部署底座应用
```shell
kubectl create secret docker-registry image-pull-secret \
--docker-server=jjb-registry-registry.cn-hangzhou.cr.aliyuncs.com \
--docker-username=gbs镜像仓库账号 \
--docker-password='gbs镜像仓库密码' \
-n jjb-dragon
```
现有镜像地址有问题,不可信,待更新。
插入链接
```shell
helm upgrade -i jjb-saas-gateway --set Replicas=1 --set Cmd_args[0]='-Dnacos.namespace=jjb-dragon' --set Cmd_args[1]='-Dnacos.url=prod-nacos:8848' --set Cmd_args[2]='-Dspring.profiles.active=prod' --set Image=jjb-registry-registry.cn-hangzhou.cr.aliyuncs.com/ali_img_ns/prod-aly-ota-dragon-jjb-saas-gateway:oat-20251015-1 --set LimitsCpu=1 --set LimitsMemory=1024M --set RequestsCpu=0.3 --set RequestsMemory=128M --set nodeportOn=true --set ServicePortMap[0].name=app --set ServicePortMap[0].port=80 --set ServicePortMap[0].nodePortNum=30140 --set HealthyCheck=false --set HeathycheckPort=80 --set HealthyCheckpath=/heartbeat --set hpaON=false --set hpaMinRelicas=1 --set hpaMaxRelicas=3 --set hpacpulimit=85 --set hpamemlimit=85 --set logsidecarOn=false --set esHost=127.0.0.1 --set sidecarLimitsCpu=0.3 --set sidecarLimitsMemory=128M --set sidecarRequestsCpu=0.1 --set sidecarRequestsMemory=56M --set logPathdir=/opt/logs --set logfileRegex=*all_log.log --set nodeSelectorOn=false --set nodeLS.kubernetes.io/hostname=k8s-work01 jjb-prod/jjb-java-app -n jjb-dragon
```
```shell
helm upgrade -i jjb-saas-user --set Replicas=1 --set Cmd_args[0]='-Dnacos.namespace=jjb-dragon' --set Cmd_args[1]='-Dnacos.url=prod-nacos:8848' --set Cmd_args[2]='-Dspring.profiles.active=prod' --set Image=jjb-registry-registry.cn-hangzhou.cr.aliyuncs.com/ali_img_ns/wbyw-dragon-jjb-saas-user:wbyw-20251010-1 --set LimitsCpu=1 --set LimitsMemory=1024M --set RequestsCpu=0.3 --set RequestsMemory=128M --set nodeportOn=false --set ServicePortMap[0].name=app --set ServicePortMap[0].port=80 --set ServicePortMap[0].nodePortNum=30080 --set HealthyCheck=false --set HeathycheckPort=80 --set HealthyCheckpath=/heartbeat --set hpaON=false --set hpaMinRelicas=1 --set hpaMaxRelicas=3 --set hpacpulimit=85 --set hpamemlimit=85 --set logsidecarOn=false --set esHost=127.0.0.1 --set sidecarLimitsCpu=0.3 --set sidecarLimitsMemory=128M --set sidecarRequestsCpu=0.1 --set sidecarRequestsMemory=56M --set logPathdir=/opt/logs --set logfileRegex=*all_log.log --set nodeSelectorOn=false --set nodeLS.kubernetes.io/hostname=k8s-work01 jjb-prod/jjb-java-app -n jjb-dragon
```
```shell
helm upgrade -i jjb-saas-system --set Replicas=1 --set Cmd_args[0]='-Dnacos.namespace=jjb-dragon' --set Cmd_args[1]='-Dnacos.url=prod-nacos:8848' --set Cmd_args[2]='-Dspring.profiles.active=prod' --set Image=jjb-registry-registry.cn-hangzhou.cr.aliyuncs.com/ali_img_ns/wbyw-dragon-jjb-saas-system:wb-20250904-4 --set LimitsCpu=1 --set LimitsMemory=1024M --set RequestsCpu=0.3 --set RequestsMemory=128M --set nodeportOn=false --set ServicePortMap[0].name=app --set ServicePortMap[0].port=80 --set ServicePortMap[0].nodePortNum=30080 --set HealthyCheck=false --set HeathycheckPort=80 --set HealthyCheckpath=/heartbeat --set hpaON=false --set hpaMinRelicas=1 --set hpaMaxRelicas=3 --set hpacpulimit=85 --set hpamemlimit=85 --set logsidecarOn=false --set esHost=127.0.0.1 --set sidecarLimitsCpu=0.3 --set sidecarLimitsMemory=128M --set sidecarRequestsCpu=0.1 --set sidecarRequestsMemory=56M --set logPathdir=/opt/logs --set logfileRegex=*all_log.log --set nodeSelectorOn=false --set nodeLS.kubernetes.io/hostname=k8s-work01 jjb-prod/jjb-java-app -n jjb-dragon
```
```shell
helm upgrade -i jjb-saas-config --set Replicas=1 --set Cmd_args[0]='-Dnacos.namespace=jjb-dragon' --set Cmd_args[1]='-Dnacos.url=prod-nacos:8848' --set Cmd_args[2]='-Dspring.profiles.active=prod' --set Image=jjb-registry-registry.cn-hangzhou.cr.aliyuncs.com/ali_img_ns/wbyw-dragon-jjb-saas-config:wb-20250904-4 --set LimitsCpu=1 --set LimitsMemory=1024M --set RequestsCpu=0.3 --set RequestsMemory=128M --set nodeportOn=false --set ServicePortMap[0].name=app --set ServicePortMap[0].port=80 --set ServicePortMap[0].nodePortNum=30080 --set HealthyCheck=false --set HeathycheckPort=80 --set HealthyCheckpath=/heartbeat --set hpaON=false --set hpaMinRelicas=1 --set hpaMaxRelicas=3 --set hpacpulimit=85 --set hpamemlimit=85 --set logsidecarOn=false --set esHost=127.0.0.1 --set sidecarLimitsCpu=0.3 --set sidecarLimitsMemory=128M --set sidecarRequestsCpu=0.1 --set sidecarRequestsMemory=56M --set logPathdir=/opt/logs --set logfileRegex=*all_log.log --set nodeSelectorOn=false --set nodeLS.kubernetes.io/hostname=k8s-work01 jjb-prod/jjb-java-app -n jjb-dragon
```
```shell
helm upgrade -i jjb-saas-auth --set Replicas=1 --set Cmd_args[0]='-Dnacos.namespace=jjb-dragon' --set Cmd_args[1]='-Dnacos.url=prod-nacos:8848' --set Cmd_args[2]='-Dspring.profiles.active=prod' --set Image=jjb-registry-registry.cn-hangzhou.cr.aliyuncs.com/ali_img_ns/prod-aly-ota-dragon-jjb-saas-auth:ota-20251118-2 --set LimitsCpu=1 --set LimitsMemory=1024M --set RequestsCpu=0.3 --set RequestsMemory=128M --set nodeportOn=false --set ServicePortMap[0].name=app --set ServicePortMap[0].port=80 --set ServicePortMap[0].nodePortNum=30080 --set HealthyCheck=false --set HeathycheckPort=80 --set HealthyCheckpath=/heartbeat --set hpaON=false --set hpaMinRelicas=1 --set hpaMaxRelicas=3 --set hpacpulimit=85 --set hpamemlimit=85 --set logsidecarOn=false --set esHost=127.0.0.1 --set sidecarLimitsCpu=0.3 --set sidecarLimitsMemory=128M --set sidecarRequestsCpu=0.1 --set sidecarRequestsMemory=56M --set logPathdir=/opt/logs --set logfileRegex=*all_log.log --set nodeSelectorOn=false --set nodeLS.kubernetes.io/hostname=k8s-work01 jjb-prod/jjb-java-app -n jjb-dragon
```
```shell
helm upgrade -i jjb-saas-attachment --set Replicas=1 --set Cmd_args[0]='-Dnacos.namespace=jjb-dragon' --set Cmd_args[1]='-Dnacos.url=prod-nacos:8848' --set Cmd_args[2]='-Dspring.profiles.active=prod' --set Image=jjb-registry-registry.cn-hangzhou.cr.aliyuncs.com/ali_img_ns/wbyw-dragon-jjb-saas-attachment:wb-20250904-2 --set LimitsCpu=1 --set LimitsMemory=1024M --set RequestsCpu=0.3 --set RequestsMemory=128M --set nodeportOn=false --set ServicePortMap[0].name=app --set ServicePortMap[0].port=80 --set ServicePortMap[0].nodePortNum=30080 --set HealthyCheck=false --set HeathycheckPort=80 --set HealthyCheckpath=/heartbeat --set hpaON=false --set hpaMinRelicas=1 --set hpaMaxRelicas=3 --set hpacpulimit=85 --set hpamemlimit=85 --set logsidecarOn=false --set esHost=127.0.0.1 --set sidecarLimitsCpu=0.3 --set sidecarLimitsMemory=128M --set sidecarRequestsCpu=0.1 --set sidecarRequestsMemory=56M --set logPathdir=/opt/logs --set logfileRegex=*all_log.log --set nodeSelectorOn=false --set nodeLS.kubernetes.io/hostname=k8s-work01 jjb-prod/jjb-java-app -n jjb-dragon
```
```shell
helm upgrade -i jjb-saas-desk --set Replicas=1 --set Cmd_args[0]='-Dnacos.namespace=jjb-dragon' --set Cmd_args[1]='-Dnacos.url=prod-nacos:8848' --set Cmd_args[2]='-Dspring.profiles.active=prod' --set Image=jjb-registry-registry.cn-hangzhou.cr.aliyuncs.com/ali_img_ns/wbyw-dragon-jjb-saas-desk:wb-20250904-1 --set LimitsCpu=1 --set LimitsMemory=1024M --set RequestsCpu=0.3 --set RequestsMemory=128M --set nodeportOn=false --set ServicePortMap[0].name=app --set ServicePortMap[0].port=80 --set ServicePortMap[0].nodePortNum=30080 --set HealthyCheck=false --set HeathycheckPort=80 --set HealthyCheckpath=/heartbeat --set hpaON=false --set hpaMinRelicas=1 --set hpaMaxRelicas=3 --set hpacpulimit=85 --set hpamemlimit=85 --set logsidecarOn=false --set esHost=127.0.0.1 --set sidecarLimitsCpu=0.3 --set sidecarLimitsMemory=128M --set sidecarRequestsCpu=0.1 --set sidecarRequestsMemory=56M --set logPathdir=/opt/logs --set logfileRegex=*all_log.log --set nodeSelectorOn=false --set nodeLS.kubernetes.io/hostname=k8s-work01 jjb-prod/jjb-java-app -n jjb-dragon
```
```shell
helm upgrade -i jjb-saas-application --set Replicas=1 --set Cmd_args[0]='-Dnacos.namespace=jjb-dragon' --set Cmd_args[1]='-Dnacos.url=prod-nacos:8848' --set Cmd_args[2]='-Dspring.profiles.active=prod' --set Image=jjb-registry-registry.cn-hangzhou.cr.aliyuncs.com/ali_img_ns/wbyw-dragon-jjb-saas-application:wb-20251011-1 --set LimitsCpu=1 --set LimitsMemory=1024M --set RequestsCpu=0.3 --set RequestsMemory=128M --set nodeportOn=false --set ServicePortMap[0].name=app --set ServicePortMap[0].port=80 --set ServicePortMap[0].nodePortNum=30080 --set HealthyCheck=false --set HeathycheckPort=80 --set HealthyCheckpath=/heartbeat --set hpaON=false --set hpaMinRelicas=1 --set hpaMaxRelicas=3 --set hpacpulimit=85 --set hpamemlimit=85 --set logsidecarOn=false --set esHost=127.0.0.1 --set sidecarLimitsCpu=0.3 --set sidecarLimitsMemory=128M --set sidecarRequestsCpu=0.1 --set sidecarRequestsMemory=56M --set logPathdir=/opt/logs --set logfileRegex=*all_log.log --set nodeSelectorOn=false --set nodeLS.kubernetes.io/hostname=k8s-work01 jjb-prod/jjb-java-app -n jjb-dragon
```
```shell
helm upgrade -i jjb-saas-facade --set Replicas=1 --set Cmd_args[0]='-Dnacos.namespace=jjb-dragon' --set Cmd_args[1]='-Dnacos.url=prod-nacos:8848' --set Cmd_args[2]='-Dspring.profiles.active=prod' --set Image=jjb-registry-registry.cn-hangzhou.cr.aliyuncs.com/ali_img_ns/wbyw-dragon-jjb-saas-facade:wb-20250904-1 --set LimitsCpu=1 --set LimitsMemory=1024M --set RequestsCpu=0.3 --set RequestsMemory=128M --set nodeportOn=false --set ServicePortMap[0].name=app --set ServicePortMap[0].port=80 --set ServicePortMap[0].nodePortNum=30080 --set HealthyCheck=false --set HeathycheckPort=80 --set HealthyCheckpath=/heartbeat --set hpaON=false --set hpaMinRelicas=1 --set hpaMaxRelicas=3 --set hpacpulimit=85 --set hpamemlimit=85 --set logsidecarOn=false --set esHost=127.0.0.1 --set sidecarLimitsCpu=0.3 --set sidecarLimitsMemory=128M --set sidecarRequestsCpu=0.1 --set sidecarRequestsMemory=56M --set logPathdir=/opt/logs --set logfileRegex=*all_log.log --set nodeSelectorOn=false --set nodeLS.kubernetes.io/hostname=k8s-work01 jjb-prod/jjb-java-app -n jjb-dragon
```
```shell
helm upgrade -i jjb-saas-message --set Replicas=1 --set Cmd_args[0]='-Dnacos.namespace=jjb-dragon' --set Cmd_args[1]='-Dnacos.url=prod-nacos:8848' --set Cmd_args[2]='-Dspring.profiles.active=prod' --set Image=jjb-registry-registry.cn-hangzhou.cr.aliyuncs.com/ali_img_ns/wbyw-dragon-jjb-saas-message:wb-20251021-1 --set LimitsCpu=1 --set LimitsMemory=1024M --set RequestsCpu=0.3 --set RequestsMemory=128M --set nodeportOn=false --set ServicePortMap[0].name=app --set ServicePortMap[0].port=80 --set ServicePortMap[0].nodePortNum=30080 --set HealthyCheck=false --set HeathycheckPort=80 --set HealthyCheckpath=/heartbeat --set hpaON=false --set hpaMinRelicas=1 --set hpaMaxRelicas=3 --set hpacpulimit=85 --set hpamemlimit=85 --set logsidecarOn=false --set esHost=127.0.0.1 --set sidecarLimitsCpu=0.3 --set sidecarLimitsMemory=128M --set sidecarRequestsCpu=0.1 --set sidecarRequestsMemory=56M --set logPathdir=/opt/logs --set logfileRegex=*all_log.log --set nodeSelectorOn=false --set nodeLS.kubernetes.io/hostname=k8s-work01 jjb-prod/jjb-java-app -n jjb-dragon
```
```shell
helm upgrade -i jjb-saas-base --set Replicas=1 --set Cmd_args[0]='-Dnacos.namespace=jjb-dragon' --set Cmd_args[1]='-Dnacos.url=prod-nacos:8848' --set Cmd_args[2]='-Dspring.profiles.active=prod' --set Image=jjb-registry-registry.cn-hangzhou.cr.aliyuncs.com/ali_img_ns/wbyw-dragon-jjb-saas-base:wb-20251016-1 --set LimitsCpu=1 --set LimitsMemory=1024M --set RequestsCpu=0.3 --set RequestsMemory=128M --set nodeportOn=false --set ServicePortMap[0].name=app --set ServicePortMap[0].port=80 --set ServicePortMap[0].nodePortNum=30080 --set HealthyCheck=false --set HeathycheckPort=80 --set HealthyCheckpath=/heartbeat --set hpaON=false --set hpaMinRelicas=1 --set hpaMaxRelicas=3 --set hpacpulimit=85 --set hpamemlimit=85 --set logsidecarOn=false --set esHost=127.0.0.1 --set sidecarLimitsCpu=0.3 --set sidecarLimitsMemory=128M --set sidecarRequestsCpu=0.1 --set sidecarRequestsMemory=56M --set logPathdir=/opt/logs --set logfileRegex=*all_log.log --set nodeSelectorOn=false --set nodeLS.kubernetes.io/hostname=k8s-work01 jjb-prod/jjb-java-app -n jjb-dragon
```
```shell
helm upgrade -i jjb-saas-formily-design --set Replicas=1 --set Cmd_args[0]='-Dnacos.namespace=jjb-dragon' --set Cmd_args[1]='-Dnacos.url=prod-nacos:8848' --set Cmd_args[2]='-Dspring.profiles.active=prod' --set Image=jjb-registry-registry.cn-hangzhou.cr.aliyuncs.com/ali_img_ns/wbyw-dragon-jjb-saas-formily-design:wb-20250904-1 --set LimitsCpu=1 --set LimitsMemory=1024M --set RequestsCpu=0.3 --set RequestsMemory=128M --set nodeportOn=false --set ServicePortMap[0].name=app --set ServicePortMap[0].port=80 --set ServicePortMap[0].nodePortNum=30080 --set HealthyCheck=false --set HeathycheckPort=80 --set HealthyCheckpath=/heartbeat --set hpaON=false --set hpaMinRelicas=1 --set hpaMaxRelicas=3 --set hpacpulimit=85 --set hpamemlimit=85 --set logsidecarOn=false --set esHost=127.0.0.1 --set sidecarLimitsCpu=0.3 --set sidecarLimitsMemory=128M --set sidecarRequestsCpu=0.1 --set sidecarRequestsMemory=56M --set logPathdir=/opt/logs --set logfileRegex=*all_log.log --set nodeSelectorOn=false --set nodeLS.kubernetes.io/hostname=k8s-work01 jjb-prod/jjb-java-app -n jjb-dragon
```
```shell
helm upgrade -i jjb-saas-login --set Replicas=1 --set Cmd_args[0]='-Dnacos.namespace=jjb-dragon' --set Cmd_args[1]='-Dnacos.url=prod-nacos:8848' --set Cmd_args[2]='-Dspring.profiles.active=prod' --set Image=jjb-registry-registry.cn-hangzhou.cr.aliyuncs.com/ali_img_ns/wbyw-dragon-jjb-saas-login:wb-20250904-1 --set LimitsCpu=1 --set LimitsMemory=1024M --set RequestsCpu=0.3 --set RequestsMemory=128M --set nodeportOn=false --set ServicePortMap[0].name=app --set ServicePortMap[0].port=80 --set ServicePortMap[0].nodePortNum=30080 --set HealthyCheck=false --set HeathycheckPort=80 --set HealthyCheckpath=/heartbeat --set hpaON=false --set hpaMinRelicas=1 --set hpaMaxRelicas=3 --set hpacpulimit=85 --set hpamemlimit=85 --set logsidecarOn=false --set esHost=127.0.0.1 --set sidecarLimitsCpu=0.3 --set sidecarLimitsMemory=128M --set sidecarRequestsCpu=0.1 --set sidecarRequestsMemory=56M --set logPathdir=/opt/logs --set logfileRegex=*all_log.log --set nodeSelectorOn=false --set nodeLS.kubernetes.io/hostname=k8s-work01 jjb-prod/jjb-java-app -n jjb-dragon
```
```shell
helm upgrade -i jjb-saas-official --set Replicas=1 --set Cmd_args[0]='-Dnacos.namespace=jjb-dragon' --set Cmd_args[1]='-Dnacos.url=prod-nacos:8848' --set Cmd_args[2]='-Dspring.profiles.active=prod' --set Image=jjb-registry-registry.cn-hangzhou.cr.aliyuncs.com/ali_img_ns/wbyw-dragon-jjb-saas-official:wb-20250904-1 --set LimitsCpu=1 --set LimitsMemory=1024M --set RequestsCpu=0.3 --set RequestsMemory=128M --set nodeportOn=false --set ServicePortMap[0].name=app --set ServicePortMap[0].port=80 --set ServicePortMap[0].nodePortNum=30080 --set HealthyCheck=false --set HeathycheckPort=80 --set HealthyCheckpath=/heartbeat --set hpaON=false --set hpaMinRelicas=1 --set hpaMaxRelicas=3 --set hpacpulimit=85 --set hpamemlimit=85 --set logsidecarOn=false --set esHost=127.0.0.1 --set sidecarLimitsCpu=0.3 --set sidecarLimitsMemory=128M --set sidecarRequestsCpu=0.1 --set sidecarRequestsMemory=56M --set logPathdir=/opt/logs --set logfileRegex=*all_log.log --set nodeSelectorOn=false --set nodeLS.kubernetes.io/hostname=k8s-work01 jjb-prod/jjb-java-app -n jjb-dragon
```
```shell
helm upgrade -i jjb-saas-security --set Replicas=1 --set Cmd_args[0]='-Dnacos.namespace=jjb-dragon' --set Cmd_args[1]='-Dnacos.url=prod-nacos:8848' --set Cmd_args[2]='-Dspring.profiles.active=prod' --set Image=jjb-registry-registry.cn-hangzhou.cr.aliyuncs.com/ali_img_ns/wbyw-dragon-jjb-saas-security:wb-20250904-1 --set LimitsCpu=1 --set LimitsMemory=1024M --set RequestsCpu=0.3 --set RequestsMemory=128M --set nodeportOn=false --set ServicePortMap[0].name=app --set ServicePortMap[0].port=80 --set ServicePortMap[0].nodePortNum=30080 --set HealthyCheck=false --set HeathycheckPort=80 --set HealthyCheckpath=/heartbeat --set hpaON=false --set hpaMinRelicas=1 --set hpaMaxRelicas=3 --set hpacpulimit=85 --set hpamemlimit=85 --set logsidecarOn=false --set esHost=127.0.0.1 --set sidecarLimitsCpu=0.3 --set sidecarLimitsMemory=128M --set sidecarRequestsCpu=0.1 --set sidecarRequestsMemory=56M --set logPathdir=/opt/logs --set logfileRegex=*all_log.log --set nodeSelectorOn=false --set nodeLS.kubernetes.io/hostname=k8s-work01 jjb-prod/jjb-java-app -n jjb-dragon
```
```shell
helm upgrade -i jjb-saas-open-platform --set Replicas=1 --set Cmd_args[0]='-Dnacos.namespace=jjb-dragon' --set Cmd_args[1]='-Dnacos.url=prod-nacos:8848' --set Cmd_args[2]='-Dspring.profiles.active=prod' --set Image=jjb-registry-registry.cn-hangzhou.cr.aliyuncs.com/ali_img_ns/wbyw-dragon-jjb-saas-open-platform:wb-20250904-1 --set LimitsCpu=1 --set LimitsMemory=1024M --set RequestsCpu=0.3 --set RequestsMemory=128M --set nodeportOn=false --set ServicePortMap[0].name=app --set ServicePortMap[0].port=80 --set ServicePortMap[0].nodePortNum=30080 --set HealthyCheck=false --set HeathycheckPort=80 --set HealthyCheckpath=/heartbeat --set hpaON=false --set hpaMinRelicas=1 --set hpaMaxRelicas=3 --set hpacpulimit=85 --set hpamemlimit=85 --set logsidecarOn=false --set esHost=127.0.0.1 --set sidecarLimitsCpu=0.3 --set sidecarLimitsMemory=128M --set sidecarRequestsCpu=0.1 --set sidecarRequestsMemory=56M --set logPathdir=/opt/logs --set logfileRegex=*all_log.log --set nodeSelectorOn=false --set nodeLS.kubernetes.io/hostname=k8s-work01 jjb-prod/jjb-java-app -n jjb-dragon
```
```shell
helm upgrade -i jjb-saas-netty-server --set Replicas=1 --set Cmd_args[0]='-Dnacos.namespace=jjb-dragon' --set Cmd_args[1]='-Dnacos.url=prod-nacos:8848' --set Cmd_args[2]='-Dspring.profiles.active=prod' --set Image=jjb-registry-registry.cn-hangzhou.cr.aliyuncs.com/ali_img_ns/wbyw-dragon-jjb-saas-netty-server:wb-20251010-1 --set LimitsCpu=1 --set LimitsMemory=1024M --set RequestsCpu=0.3 --set RequestsMemory=128M --set nodeportOn=false --set ServicePortMap[0].name=app --set ServicePortMap[0].port=80 --set ServicePortMap[0].nodePortNum=30080 --set HealthyCheck=false --set HeathycheckPort=80 --set HealthyCheckpath=/heartbeat --set hpaON=false --set hpaMinRelicas=1 --set hpaMaxRelicas=3 --set hpacpulimit=85 --set hpamemlimit=85 --set logsidecarOn=false --set esHost=127.0.0.1 --set sidecarLimitsCpu=0.3 --set sidecarLimitsMemory=128M --set sidecarRequestsCpu=0.1 --set sidecarRequestsMemory=56M --set logPathdir=/opt/logs --set logfileRegex=*all_log.log --set nodeSelectorOn=false --set nodeLS.kubernetes.io/hostname=k8s-work01 jjb-prod/jjb-java-app -n jjb-dragon
```
```shell
helm upgrade -i jjb-saas-events --set Replicas=1 --set Cmd_args[0]='-Dnacos.namespace=jjb-dragon' --set Cmd_args[1]='-Dnacos.url=prod-nacos:8848' --set Cmd_args[2]='-Dspring.profiles.active=prod' --set Image=jjb-registry-registry.cn-hangzhou.cr.aliyuncs.com/ali_img_ns/prod-aly-ota-dragon-jjb-saas-events:ota-20251017-2 --set LimitsCpu=1 --set LimitsMemory=1024M --set RequestsCpu=0.3 --set RequestsMemory=128M --set nodeportOn=false --set ServicePortMap[0].name=app --set ServicePortMap[0].port=80 --set ServicePortMap[0].nodePortNum=30080 --set HealthyCheck=false --set HeathycheckPort=80 --set HealthyCheckpath=/heartbeat --set hpaON=false --set hpaMinRelicas=1 --set hpaMaxRelicas=3 --set hpacpulimit=85 --set hpamemlimit=85 --set logsidecarOn=false --set esHost=127.0.0.1 --set sidecarLimitsCpu=0.3 --set sidecarLimitsMemory=128M --set sidecarRequestsCpu=0.1 --set sidecarRequestsMemory=56M --set logPathdir=/opt/logs --set logfileRegex=*all_log.log --set nodeSelectorOn=false --set nodeLS.kubernetes.io/hostname=k8s-work01 jjb-prod/jjb-java-app -n jjb-dragon
```
```shell
helm upgrade -i jjb-saas-process-layout --set Replicas=1 --set Cmd_args[0]='-Dnacos.namespace=jjb-dragon' --set Cmd_args[1]='-Dnacos.url=prod-nacos:8848' --set Cmd_args[2]='-Dspring.profiles.active=prod' --set Image=jjb-registry-registry.cn-hangzhou.cr.aliyuncs.com/ali_img_ns/prod-aly-ota-dragon-jjb-saas-process-layout:ota-20250926-1 --set LimitsCpu=1 --set LimitsMemory=1024M --set RequestsCpu=0.3 --set RequestsMemory=128M --set nodeportOn=false --set ServicePortMap[0].name=app --set ServicePortMap[0].port=80 --set ServicePortMap[0].nodePortNum=30080 --set HealthyCheck=false --set HeathycheckPort=80 --set HealthyCheckpath=/heartbeat --set hpaON=false --set hpaMinRelicas=1 --set hpaMaxRelicas=3 --set hpacpulimit=85 --set hpamemlimit=85 --set logsidecarOn=false --set esHost=127.0.0.1 --set sidecarLimitsCpu=0.3 --set sidecarLimitsMemory=128M --set sidecarRequestsCpu=0.1 --set sidecarRequestsMemory=56M --set logPathdir=/opt/logs --set logfileRegex=*all_log.log --set nodeSelectorOn=false --set nodeLS.kubernetes.io/hostname=k8s-work01 jjb-prod/jjb-java-app -n jjb-dragon
```
```shell
helm upgrade -i jjb-saas-data-center --set Replicas=1 --set Cmd_args[0]='-Dnacos.namespace=jjb-dragon' --set Cmd_args[1]='-Dnacos.url=prod-nacos:8848' --set Cmd_args[2]='-Dspring.profiles.active=prod' --set Image=jjb-registry-registry.cn-hangzhou.cr.aliyuncs.com/ali_img_ns/prod-aly-ota-dragon-jjb-saas-data-center:ota-20251111-1 --set LimitsCpu=1 --set LimitsMemory=1024M --set RequestsCpu=0.3 --set RequestsMemory=128M --set nodeportOn=false --set ServicePortMap[0].name=app --set ServicePortMap[0].port=80 --set ServicePortMap[0].nodePortNum=30080 --set HealthyCheck=false --set HeathycheckPort=80 --set HealthyCheckpath=/heartbeat --set hpaON=false --set hpaMinRelicas=1 --set hpaMaxRelicas=3 --set hpacpulimit=85 --set hpamemlimit=85 --set logsidecarOn=false --set esHost=127.0.0.1 --set sidecarLimitsCpu=0.3 --set sidecarLimitsMemory=128M --set sidecarRequestsCpu=0.1 --set sidecarRequestsMemory=56M --set logPathdir=/opt/logs --set logfileRegex=*all_log.log --set nodeSelectorOn=false --set nodeLS.kubernetes.io/hostname=k8s-work01 jjb-prod/jjb-java-app -n jjb-dragon
```
```shell
helm upgrade -i jjb-saas-bpm --set Replicas=1 --set Cmd_args[0]='-Dnacos.namespace=jjb-dragon' --set Cmd_args[1]='-Dnacos.url=prod-nacos:8848' --set Cmd_args[2]='-Dspring.profiles.active=prod' --set Image=jjb-registry-registry.cn-hangzhou.cr.aliyuncs.com/ali_img_ns/prod-aly-ota-dragon-jjb-saas-bpm:ota-20251111-2 --set LimitsCpu=1 --set LimitsMemory=1024M --set RequestsCpu=0.3 --set RequestsMemory=128M --set nodeportOn=false --set ServicePortMap[0].name=app --set ServicePortMap[0].port=80 --set ServicePortMap[0].nodePortNum=30080 --set HealthyCheck=false --set HeathycheckPort=80 --set HealthyCheckpath=/heartbeat --set hpaON=false --set hpaMinRelicas=1 --set hpaMaxRelicas=3 --set hpacpulimit=85 --set hpamemlimit=85 --set logsidecarOn=false --set esHost=127.0.0.1 --set sidecarLimitsCpu=0.3 --set sidecarLimitsMemory=128M --set sidecarRequestsCpu=0.1 --set sidecarRequestsMemory=56M --set logPathdir=/opt/logs --set logfileRegex=*all_log.log --set nodeSelectorOn=false --set nodeLS.kubernetes.io/hostname=k8s-work01 jjb-prod/jjb-java-app -n jjb-dragon
```
```shell
helm upgrade -i jjb-saas-component-design --set Replicas=1 --set Cmd_args[0]='-Dnacos.namespace=jjb-dragon' --set Cmd_args[1]='-Dnacos.url=prod-nacos:8848' --set Cmd_args[2]='-Dspring.profiles.active=prod' --set Image=jjb-registry-registry.cn-hangzhou.cr.aliyuncs.com/ali_img_ns/prod-aly-ota-dragon-jjb-saas-component-design:ota-20251111-1 --set LimitsCpu=1 --set LimitsMemory=1024M --set RequestsCpu=0.3 --set RequestsMemory=128M --set nodeportOn=false --set ServicePortMap[0].name=app --set ServicePortMap[0].port=80 --set ServicePortMap[0].nodePortNum=30080 --set HealthyCheck=false --set HeathycheckPort=80 --set HealthyCheckpath=/heartbeat --set hpaON=false --set hpaMinRelicas=1 --set hpaMaxRelicas=3 --set hpacpulimit=85 --set hpamemlimit=85 --set logsidecarOn=false --set esHost=127.0.0.1 --set sidecarLimitsCpu=0.3 --set sidecarLimitsMemory=128M --set sidecarRequestsCpu=0.1 --set sidecarRequestsMemory=56M --set logPathdir=/opt/logs --set logfileRegex=*all_log.log --set nodeSelectorOn=false --set nodeLS.kubernetes.io/hostname=k8s-work01 jjb-prod/jjb-java-app -n jjb-dragon
```
```shell
auth_terminal_login_page_config
终端地址配置表
```
```java
kubectl create secret docker-registry image-pull-secret1 \
--docker-server=registry.cn-zhangjiakou.aliyuncs.com \
--docker-username=gbs镜像仓库账号 \
--docker-password='gbs镜像仓库密码' \
-n jjb-dragon
```