当前位置: 首页 > wzjs >正文

博客网站模板自己怎么做网址开网站

博客网站模板,自己怎么做网址开网站,增加网站产品,中国十大杰出建筑师本文将详细介绍如何在 Kubernetes 1.26 上使用 StatefulSet 部署 MySQL 8,并使用 nfs-client 存储类。同时,我们将通过 ConfigMap 管理 MySQL 的配置文件,并为其添加一些优化参数。最后,我们还会配置一个 NodePort 类型的 Service…

本文将详细介绍如何在 Kubernetes 1.26 上使用 StatefulSet 部署 MySQL 8,并使用 nfs-client 存储类。同时,我们将通过 ConfigMap 管理 MySQL 的配置文件,并为其添加一些优化参数。最后,我们还会配置一个 NodePort 类型的 Service,以便外部访问 MySQL 服务。


前提条件

  1. 已安装 Kubernetes 1.26 集群。

  2. 已安装 Helm。

  3. 已配置 NFS 服务器,并确保 Kubernetes 集群可以访问。


步骤 1: 安装 NFS 客户端 Provisioner

首先,我们需要安装 NFS 客户端 Provisioner,以便 Kubernetes 能够动态创建 NFS 存储卷。

安装 NFS 客户端 Provisioner

运行以下命令:

helm repo add nfs-subdir-external-provisioner https://kubernetes-sigs.github.io/nfs-subdir-external-provisioner/
helm install nfs-subdir-external-provisioner nfs-subdir-external-provisioner/nfs-subdir-external-provisioner \--set nfs.server=<NFS_SERVER_IP> \--set nfs.path=<NFS_SHARE_PATH>

将 <NFS_SERVER_IP> 替换为你的 NFS 服务器 IP 地址,将 <NFS_SHARE_PATH> 替换为 NFS 共享路径。

验证 StorageClass

安装完成后,验证 nfs-client StorageClass 是否创建成功:

kubectl get storageclass

步骤 2: 创建 ConfigMap 保存 MySQL 配置文件

我们将使用 ConfigMap 来管理 MySQL 的配置文件,并为其添加一些优化参数。

创建 ConfigMap

创建一个名为 mysql-config.yaml 的文件,内容如下:

apiVersion: v1
kind: ConfigMap
metadata:name: mysql8-configlabels:app: mysql8
data:my.cnf: |[mysqld]# Basic Settingsbind-address = 0.0.0.0port = 3306datadir = /var/lib/mysqlsocket = /var/run/mysqld/mysqld.sock# Character Setcharacter-set-server = utf8mb4collation-server = utf8mb4_unicode_ci# Connection Settingsmax_connections = 1000max_user_connections = 500wait_timeout = 600interactive_timeout = 600# Buffer Settingsinnodb_buffer_pool_size = 1G  # Adjust based on available memory (e.g., 70% of total RAM)innodb_buffer_pool_instances = 8  # Recommended for high-concurrency workloadsinnodb_log_file_size = 512M  # Larger log files improve write performanceinnodb_log_buffer_size = 64M# Query Cache (Disabled by default in MySQL 8)query_cache_type = 0query_cache_size = 0# Table Open Cachetable_open_cache = 4000table_definition_cache = 2000# Threadingthread_cache_size = 100thread_stack = 256K# Logginglog_error = /var/log/mysql/error.logslow_query_log = 1slow_query_log_file = /var/log/mysql/slow.loglong_query_time = 2# Binary Logging (Enable for replication and point-in-time recovery)log_bin = /var/lib/mysql/mysql-binexpire_logs_days = 7binlog_format = ROW# InnoDB Settingsinnodb_file_per_table = 1  # Store each table in a separate fileinnodb_flush_log_at_trx_commit = 1  # Full ACID compliance (set to 2 for better performance)innodb_flush_method = O_DIRECT  # Avoid double bufferinginnodb_io_capacity = 2000  # Adjust based on disk performanceinnodb_io_capacity_max = 4000# Securityskip_symbolic_links = 1local_infile = 0[client]default-character-set = utf8mb4[mysql]default-character-set = utf8mb4

应用 ConfigMap:

kubectl apply -f mysql-config.yaml

步骤 3: 编写 StatefulSet 和 Service 的 YAML 文件

接下来,我们编写 StatefulSet 和 Service 的 YAML 文件。

创建 YAML 文件

创建一个名为 mysql-statefulset-nodeport-configmap.yaml 的文件,内容如下:

---
# Service for MySQL (NodePort)
apiVersion: v1
kind: Service
metadata:name: mysql8labels:app: mysql8
spec:type: NodePortports:- port: 3306targetPort: 3306nodePort: 31036  # Optional: Specify a NodePort between 30000-32767selector:app: mysql8
---
# StatefulSet for MySQL
apiVersion: apps/v1
kind: StatefulSet
metadata:name: mysql8labels:app: mysql8
spec:serviceName: mysql8replicas: 1selector:matchLabels:app: mysql8template:metadata:labels:app: mysql8spec:containers:- name: mysqlimage: mysql:8.0env:- name: MYSQL_ROOT_PASSWORDvalue: "your-root-password"  # Replace with your desired root passwordports:- containerPort: 3306name: mysqlvolumeMounts:- name: mysql8-datamountPath: /var/lib/mysql- name: mysql8-configmountPath: /etc/mysql/conf.dvolumes:- name: mysql8-configconfigMap:name: mysql8-configvolumeClaimTemplates:- metadata:name: mysql8-dataspec:accessModes: [ "ReadWriteOnce" ]storageClassName: "nfs-client"resources:requests:storage: 100Gi

步骤 4: 部署 MySQL StatefulSet 和 Service

部署 YAML 文件

运行以下命令部署 MySQL:

kubectl apply -f mysql-statefulset-nodeport-configmap.yaml

验证部署

  1. 检查 StatefulSet 和 Pod:

    kubectl get statefulset
    kubectl get pods -l app=mysql8

    你应该会看到一个名为 mysql8-0 的 Pod 正在运行。

  2. 检查 Service:

    kubectl get svc -l app=mysql8

    你应该会看到一个名为 mysql8 的 Service,类型为 NodePort,并且有一个分配的 NodePort(例如 31306)。


步骤 5: 验证 MySQL 服务

获取节点 IP

运行以下命令获取 Kubernetes 节点的 IP 地址:

kubectl get nodes -o wide

记录下其中一个节点的 INTERNAL-IP 或 EXTERNAL-IP

连接 MySQL

使用 MySQL 客户端连接到 MySQL 服务:

mysql -h <NODE_IP> -P 30036 -u root -p

将 <NODE_IP> 替换为你的节点 IP 地址,输入你在 YAML 文件中设置的 MYSQL_ROOT_PASSWORD


步骤 6: 验证配置文件

进入 Pod

进入 MySQL Pod:

kubectl exec -it mysql8-0 -- bash

查看配置文件

查看配置文件是否挂载到 /etc/mysql/conf.d

cat /etc/mysql/conf.d/my.cnf

你应该会看到 ConfigMap 中定义的 my.cnf 内容。


步骤 7: 清理资源(可选)

如果需要删除部署的资源,可以运行以下命令:

kubectl delete -f mysql-statefulset-nodeport-configmap.yaml
kubectl delete configmap mysql-config

总结

通过以上步骤,我们成功在 Kubernetes 1.26 上使用 StatefulSet 部署了 MySQL 8,并通过 NodePort 类型的 Service 暴露了 MySQL 服务。同时,使用 ConfigMap 管理了 MySQL 的配置文件,并为其添加了一些优化参数。你可以根据实际需求进一步调整配置。


希望本文对你有所帮助!如果有任何问题,欢迎在评论区留言讨论。


文章转载自:

http://LNNP7tiC.gczzm.cn
http://WyGSR2NO.gczzm.cn
http://1mPqFXdb.gczzm.cn
http://jnPk7m7T.gczzm.cn
http://pFa2eYe9.gczzm.cn
http://BvqYkwSL.gczzm.cn
http://PfjRvwLz.gczzm.cn
http://VdItKVvF.gczzm.cn
http://Ii09dDcP.gczzm.cn
http://x66bpF84.gczzm.cn
http://1XaJidyS.gczzm.cn
http://mZhLTUMT.gczzm.cn
http://65YKmlH8.gczzm.cn
http://PjqcyWdm.gczzm.cn
http://40DXtc6A.gczzm.cn
http://bv6jG0hw.gczzm.cn
http://9Ll43u4U.gczzm.cn
http://BNqD2qjF.gczzm.cn
http://2Rj4Pn2f.gczzm.cn
http://RBFPxAMY.gczzm.cn
http://cfiqFDED.gczzm.cn
http://bK9mGBau.gczzm.cn
http://FTreCO0N.gczzm.cn
http://i8nxBBIM.gczzm.cn
http://iNAYMTBR.gczzm.cn
http://eg7tydkn.gczzm.cn
http://wGqBYIBP.gczzm.cn
http://EOb848JV.gczzm.cn
http://tXuAaaNe.gczzm.cn
http://MaqXcJxy.gczzm.cn
http://www.dtcms.com/wzjs/745118.html

相关文章:

  • 安徽合肥建设厅网站官方在家做兼职的网站
  • 移动网站建站系统下载东莞招聘网站
  • 网站开发的收获体会网站开发语言分为几种
  • 拓客网站建设找人做网站!!! 网站定制开发
  • 做网站数据存在哪里怎样建立网站平台
  • 网站哪类业务建设投入会带来间接收益网站维护建设招标
  • 平和县建设局网站seo外链推广平台
  • 网站框架模板中山seo网络推广
  • 部队网站建设总结怎么做祝福网站
  • 个人展示网站模板网站突然掉排名了
  • 家具设计网站推荐网站项目建设方案
  • 济南市网站推广公司wordpress版本对应的php版本号
  • 东莞网站推广教程固安县城乡和住房建设局网站
  • php完整网站开发案例上海国企排名100强
  • 表格如何做网站小型手机网站建设哪家好
  • 海报模板免费下载网站如何重视企业网站的建设
  • 新网站怎样做外链深圳定制展会
  • wordpress 直接拖拽式建站怎样做网络销售平台
  • 衡阳网站建设开发价格typo3和wordpress
  • 关键词百度云seo01网站
  • 广州黄埔做网站的公司织梦动漫网站模版
  • uniapp怎么做淘客网站高级网站开发培训价格
  • 网站模板是怎么制作基于asp.net网站开发
  • 优秀网站建设哪家好企业营销型网站建设的可行性
  • 移动网站趋势山东网建设
  • 网站 服务 套餐厦门市建设局查询保障摇号网站
  • 网站轮播图片psd源码seo优化排名易下拉技巧
  • 品牌展示型网站有哪些网站宣传与推广的指导思想
  • 东莞wordpress建站企业系统集成
  • wordpress搬站流程贵阳学校网站建设