k8s使用helm部署mysql集群启动问题

在使用Helm在k8s中部署MySQL集群时遇到pod启动失败,原因是readiness probe检测到缺少mysql.sock文件。分析发现可能是MySQL启动时间超过readiness probe的初始延迟时间。解决方案是延长container的readiness probe延迟时间,确保MySQL完全启动后再进行检查,从而成功创建mysql.sock文件并使健康检查通过。
摘要由CSDN通过智能技术生成

我是用helm在k8s里面部署mysql集群时遇到了mysql.sock不存在的问题。具体的问题和解决方法如下。

我使用的环境

我通过helm部署在阿里提供的Mysql集群的chart,阿里云仓库地址
但是在启动的时候失败了。查看k8s的pod日志如下

mysql 07:52:12.87
mysql 07:52:12.88 Welcome to the Bitnami mysql container
mysql 07:52:12.88 Subscribe to project updates by watching https://github.com/bitnami/bitnami-docker-mysql
mysql 07:52:12.88 Submit issues and feature requests at https://github.com/bitnami/bitnami-docker-mysql/issues
mysql 07:52:12.88 Send us your feedback at containers@bitnami.com
mysql 07:52:12.89
mysql 07:52:12.89 INFO  ==> ** Starting MySQL setup **
mysql 07:52:13.03 INFO  ==> Validating settings in MYSQL_*/MARIADB_* env vars
mysql 07:52:13.04 INFO  ==> Initializing mysql database
mysql 07:52:14.50 INFO  ==>
### 使用 Nacos Operator 在 Kubernetes 上部署 Nacos 集群 #### 准备工作 为了简化操作流程,建议采用 `nacos-operator` 来管理 Nacos 的生命周期。这不仅能够减少手动配置的工作量,还能提高部署效率和稳定性。 #### 安装 Nacos Operator 安装前需确认已具备可正常工作的 Kubernetes 环境以及 Helm 工具。通过执行如下命令来设置 Nacos Operator: ```bash helm repo add nacos https://nacos.io/helm-charts helm install nacos-operator nacos/nacos-operator -n nacos-system --create-namespace ``` 此过程会自动完成必要的初始化工作[^1]。 #### 构建与推送 Docker 镜像 对于自定义版本或内部使用的场景,可能需要自行构建并上传 Nacos 的 Docker 镜像至私有仓库。具体步骤如下所示: ```bash cd /path/to/your/nacos-cluster/project docker build -t your-private-repo/nacos:nacos-version . docker push your-private-repo/nacos:nacos-version ``` 这里假设读者已经拥有合适的项目路径,并替换了相应的变量名以适应实际环境需求[^3]。 #### 创建 ConfigMap 和其他资源配置文件 创建名为 `nacos-configmap.yaml` 文件用于存储 Nacos 所需的基础配置项。接着利用 Kubectl 命令将其应用到目标命名空间内: ```yaml apiVersion: v1 kind: ConfigMap metadata: name: nacos-cm data: application.properties: | spring.datasource.platform=mysql db.num=1 ... --- # 更多配置... ``` 随后可以使用下面这条指令加载上述 YAML 文件中的定义: ```bash kubectl apply -f nacos-configmap.yaml -n <target_namespace> ``` 此外还需要准备无头服务(`headless service`)描述文档如 `nacos-headless.yaml` 并同样地提交给集群处理[^2]。 #### 启动 Nacos 实例 当所有前置条件都满足之后,则可以通过 CRD 方式轻松启动多个副本构成的高可用 Nacos 集群实例。此时只需编写对应的 CustomResource 对象即可实现自动化扩缩容等功能特性支持。 最后可通过以下命令检查整个系统的健康状况: ```bash kubectl get pod,svc,pvc -n nacos-test ``` 该命令有助于及时发现潜在问题并采取相应措施加以解决[^4]。
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值