Skip to content
目录

HELM安装

概述

本章节介绍如何使用HELM包管理工具在Kubernetes集群中安装HIS系统的各个组件。

1. 上传HELM包

1.1 上传ht-his-helm.zip

将下载的ht-his-helm.zip文件上传至控制平台服务器的/home目录下。

bash
# 使用SCP上传文件
scp ht-his-helm.zip user@control-plane-ip:/home/
# 使用SCP上传文件
scp ht-his-helm.zip user@control-plane-ip:/home/
1
2

或使用SFTP:

bash
sftp user@control-plane-ip
put ht-his-helm.zip /home/
sftp user@control-plane-ip
put ht-his-helm.zip /home/
1
2

1.2 验证上传

登录控制平台服务器验证文件上传成功:

bash
ssh user@control-plane-ip
ls -la /home/ht-his-helm.zip
ssh user@control-plane-ip
ls -la /home/ht-his-helm.zip
1
2

2. 解压HELM包

2.1 进入目录并解压

bash
# 进入home目录
cd /home

# 解压文件
unzip ht-his-helm.zip
# 进入home目录
cd /home

# 解压文件
unzip ht-his-helm.zip
1
2
3
4
5

2.2 检查解压结果

bash
# 查看解压后的目录结构
ls -la ht-his-helm/
# 查看解压后的目录结构
ls -la ht-his-helm/
1
2

解压后的目录应包含:

  • 0-install-ht-his.sh - 主安装脚本
  • 2-uninstall-ht-his.sh - 卸载脚本
  • charts/ - HELM Chart文件
  • values/ - 配置文件

3. 修改镜像仓库地址

重要提醒

在执行安装前,必须修改启动文件中的镜像仓库地址,改成当前环境实际在用的镜像仓库地址。

镜像仓库地址配置

3.1 编辑安装脚本

bash
# 编辑主安装脚本
vi /home/ht-his-helm/0-install-ht-his.sh
# 编辑主安装脚本
vi /home/ht-his-helm/0-install-ht-his.sh
1
2

查找并修改镜像仓库地址相关配置,将示例地址替换为实际环境的地址:

bash
# 原配置示例
REGISTRY="121.229.190.104:30080"

# 修改为实际地址
REGISTRY="your-actual-registry:port"
# 原配置示例
REGISTRY="121.229.190.104:30080"

# 修改为实际地址
REGISTRY="your-actual-registry:port"
1
2
3
4
5

3.2 检查配置文件

检查相关的values文件中的镜像配置:

bash
# 查看配置文件
find /home/ht-his-helm -name "*.yaml" -exec grep -l "image:" {} \;

# 批量替换镜像仓库地址
sed -i 's/121.229.190.104:30080/your-actual-registry:port/g' /home/ht-his-helm/values/*.yaml
# 查看配置文件
find /home/ht-his-helm -name "*.yaml" -exec grep -l "image:" {} \;

# 批量替换镜像仓库地址
sed -i 's/121.229.190.104:30080/your-actual-registry:port/g' /home/ht-his-helm/values/*.yaml
1
2
3
4
5

4. 启动安装

4.1 启动安装

bash
cd /data/nfs/ht-his-helm
sh 0-install-ht-his.sh
cd /data/nfs/ht-his-helm
sh 0-install-ht-his.sh
1
2

根据提示输入序号安装对应的模块。演示环境一般只需要安装his、jf-view、plumelog这三个。先安装plumelog,再安装his

5. 安装状态检查

5.1 检查Pod状态

bash
# 查看所有Pod状态
kubectl get pods -n ht-his

# 查看特定服务的Pod
kubectl get pod -n ht-his | grep his
kubectl get pod -n ht-his | grep jf-view
kubectl get pod -n ht-his | grep plumelog
# 查看所有Pod状态
kubectl get pods -n ht-his

# 查看特定服务的Pod
kubectl get pod -n ht-his | grep his
kubectl get pod -n ht-his | grep jf-view
kubectl get pod -n ht-his | grep plumelog
1
2
3
4
5
6
7

5.2 检查Service状态

bash
# 查看服务状态
kubectl get svc -n ht-his

# 查看服务详细信息
kubectl describe svc <service-name> -n ht-his
# 查看服务状态
kubectl get svc -n ht-his

# 查看服务详细信息
kubectl describe svc <service-name> -n ht-his
1
2
3
4
5

5.3 检查Deployment状态

bash
# 查看部署状态
kubectl get deployment -n ht-his

# 查看部署详细信息
kubectl describe deployment <deployment-name> -n ht-his
# 查看部署状态
kubectl get deployment -n ht-his

# 查看部署详细信息
kubectl describe deployment <deployment-name> -n ht-his
1
2
3
4
5

6. 查看安装日志

6.1 实时查看Pod日志

bash
# 查看特定Pod的日志
kubectl logs -f <pod-name> -n ht-his

# 查看最近的日志
kubectl logs --tail=100 <pod-name> -n ht-his
# 查看特定Pod的日志
kubectl logs -f <pod-name> -n ht-his

# 查看最近的日志
kubectl logs --tail=100 <pod-name> -n ht-his
1
2
3
4
5

6.2 查看安装事件

bash
# 查看命名空间事件
kubectl get events -n ht-his --sort-by=.metadata.creationTimestamp

# 查看最近的事件
kubectl get events -n ht-his --sort-by=.metadata.creationTimestamp | tail -20
# 查看命名空间事件
kubectl get events -n ht-his --sort-by=.metadata.creationTimestamp

# 查看最近的事件
kubectl get events -n ht-his --sort-by=.metadata.creationTimestamp | tail -20
1
2
3
4
5

7. 卸载系统

如果需要卸载的话,使用 sh 2-install-ht-his.sh命令

8. 常见问题处理

8.1 镜像拉取失败

bash
# 检查镜像拉取策略
kubectl describe pod <pod-name> -n ht-his

# 手动拉取镜像测试
docker pull <image-name>

# 检查镜像仓库连接
telnet <registry-host> <registry-port>
# 检查镜像拉取策略
kubectl describe pod <pod-name> -n ht-his

# 手动拉取镜像测试
docker pull <image-name>

# 检查镜像仓库连接
telnet <registry-host> <registry-port>
1
2
3
4
5
6
7
8

8.2 Pod启动失败

bash
# 查看Pod详细状态
kubectl describe pod <pod-name> -n ht-his

# 查看Pod日志
kubectl logs <pod-name> -n ht-his

# 检查资源限制
kubectl top pod -n ht-his
# 查看Pod详细状态
kubectl describe pod <pod-name> -n ht-his

# 查看Pod日志
kubectl logs <pod-name> -n ht-his

# 检查资源限制
kubectl top pod -n ht-his
1
2
3
4
5
6
7
8

8.3 服务无法访问

bash
# 检查服务端点
kubectl get endpoints -n ht-his

# 测试服务连通性
kubectl exec -it <pod-name> -n ht-his -- curl <service-name>:<port>

# 检查NodePort服务
kubectl get svc -n ht-his | grep NodePort
# 检查服务端点
kubectl get endpoints -n ht-his

# 测试服务连通性
kubectl exec -it <pod-name> -n ht-his -- curl <service-name>:<port>

# 检查NodePort服务
kubectl get svc -n ht-his | grep NodePort
1
2
3
4
5
6
7
8

9. 安装验证脚本

创建验证脚本来检查安装状态:

bash
#!/bin/bash
# check-installation.sh - 检查安装状态

echo "=== HIS系统安装状态检查 ==="

# 检查命名空间
echo "检查ht-his命名空间..."
kubectl get namespace ht-his

# 检查Pod状态
echo "检查Pod状态..."
kubectl get pods -n ht-his

# 检查服务状态
echo "检查服务状态..."
kubectl get svc -n ht-his

# 检查部署状态
echo "检查部署状态..."
kubectl get deployment -n ht-his

# 检查持久卷
echo "检查持久卷..."
kubectl get pv | grep ht-his

# 检查配置映射
echo "检查配置映射..."
kubectl get configmap -n ht-his

echo "=== 检查完成 ==="
#!/bin/bash
# check-installation.sh - 检查安装状态

echo "=== HIS系统安装状态检查 ==="

# 检查命名空间
echo "检查ht-his命名空间..."
kubectl get namespace ht-his

# 检查Pod状态
echo "检查Pod状态..."
kubectl get pods -n ht-his

# 检查服务状态
echo "检查服务状态..."
kubectl get svc -n ht-his

# 检查部署状态
echo "检查部署状态..."
kubectl get deployment -n ht-his

# 检查持久卷
echo "检查持久卷..."
kubectl get pv | grep ht-his

# 检查配置映射
echo "检查配置映射..."
kubectl get configmap -n ht-his

echo "=== 检查完成 ==="
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30

10. 注意事项

重要提醒

  1. 安装顺序:建议按照plumelog → his → jf-view的顺序安装
  2. 镜像地址:确保镜像仓库地址已正确修改
  3. 资源要求:确保集群有足够的计算和存储资源
  4. 网络策略:检查网络策略是否影响Pod间通信

建议

  1. 安装前先在测试环境验证完整流程
  2. 安装过程中注意观察Pod启动状态
  3. 保留安装日志便于问题排查
  4. 建议在业务低峰期进行安装

下一步

完成HELM安装后,请继续进行 配置修改 步骤。


最后更新时间:2024年1月15日