目次演示示例使用的是3.4.1,各版本著名字差异 功能是一样的 由于mysql必要做数据持久化所以必要挂载数据 1.创建mysql底子配置项目中-配置-配置字典 [code]mysql-conf [/code]添加键值对 [code][client] default-character-set=utf8mb4 [mysql] default-character-set=utf8mb4 [mysqld] init_connect='SET collation_connection = utf8mb4_unicode_ci' init_connect='SET NAMES utf8mb4' character-set-server=utf8mb4 collation-server=utf8mb4_unicode_ci skip-character-set-client-handshake skip-name-resolve[/code]贴一下yaml配置 [code]kind: ConfigMap apiVersion: v1 metadata: name: mysql-conf namespace: gitee annotations: kubesphere.io/creator: admin data: my.cnf: | [client] default-character-set=utf8mb4 [mysql] default-character-set=utf8mb4 [mysqld] init_connect='SET collation_connection = utf8mb4_unicode_ci' init_connect='SET NAMES utf8mb4' character-set-server=utf8mb4 collation-server=utf8mb4_unicode_ci skip-character-set-client-handshake skip-name-resolve[/code]2.创建pvc挂载项目-存储-持久卷声明 [code]mysql-pvc[/code]方式就选择默认 然后直接下一步创建即可 yaml配置 [code]kind: PersistentVolumeClaim apiVersion: v1 metadata: name: mysql-pvc namespace: gitee annotations: kubesphere.io/creator: admin finalizers: - kubernetes.io/pvc-protection spec: accessModes: - ReadWriteOnce resources: requests: storage: 1Gi storageClassName: local volumeMode: Filesystem[/code]3.创建工作负载应用负载-工作负载 添加容器使用的是本地私有镜像(私有镜像使用的是harbor,也可以使用其他镜像配置比力简单这里不详细说) 使用默认镜像端口并且同步主机时区 添加环境变量 起首挂载pvc做数据持久化 留意:路径要一致不能错!!! 挂载配置文件 留意:路径要一致不能错!!! 下一步直接创建即可(如果创建失败请检查镜像是否能正常拉取) yaml配置 [code]kind: Deployment apiVersion: apps/v1 metadata: name: mysql namespace: gitee labels: app: mysql annotations: deployment.kubernetes.io/revision: '1' kubesphere.io/creator: admin spec: replicas: 1 selector: matchLabels: app: mysql template: metadata: creationTimestamp: null labels: app: mysql annotations: kubesphere.io/creator: admin kubesphere.io/imagepullsecrets: '{"container-hrnhuh":"harbor"}' logging.kubesphere.io/logsidecar-config: '{}' spec: volumes: - name: host-time hostPath: path: /etc/localtime type: '' - name: volume-ve0oq2 persistentVolumeClaim: claimName: mysql-pvc - name: volume-lg3r9w configMap: name: mysql-conf defaultMode: 420 containers: - name: container-hrnhuh image: '192.168.21.234:81/tools/mysql:8.0.3' ports: - name: tcp-3306 containerPort: 3306 protocol: TCP env: - name: MYSQL_ROOT_PASSWORD value: '123456' resources: limits: cpu: '1' memory: 1Gi requests: cpu: '1' memory: 1Gi volumeMounts: - name: host-time readOnly: true mountPath: /etc/localtime - name: volume-ve0oq2 mountPath: /var/lib/mysql - name: volume-lg3r9w readOnly: true mountPath: /etc/mysql/conf.d terminationMessagePath: /dev/termination-log terminationMessagePolicy: File imagePullPolicy: IfNotPresent restartPolicy: Always terminationGracePeriodSeconds: 30 dnsPolicy: ClusterFirst serviceAccountName: default serviceAccount: default securityContext: {} imagePullSecrets: - name: harbor schedulerName: default-scheduler strategy: type: RollingUpdate rollingUpdate: maxUnavailable: 25% maxSurge: 25% revisionHistoryLimit: 10 progressDeadlineSeconds: 600[/code]4.创建服务(创建服务后才能进行外部访问)工作负载-服务-指定工作负载 访问模式:虚拟ip地址 勾选外部访问并且选择NodePort模式 创建成功后这里的端口数据库连接的时间会用到 5.测试mysql是否能正常访问服务器地址:集群ip 设置应用路由(ingress)然后用域名访问不知道为什么使用自界说域名:3306 连接不上数据库 所以直接用了NodePort 到此这篇关于KubeSphere摆设mysql的文章就先容到这了,更多相干KubeSphere摆设mysql内容请搜索脚本之家以前的文章或继承欣赏下面的相干文章希望各人以后多多支持脚本之家! 来源:https://www.jb51.net/database/328725btg.htm 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |
|手机版|小黑屋|梦想之都-俊月星空
( 粤ICP备18056059号 )|网站地图
GMT+8, 2025-7-2 00:53 , Processed in 0.028771 second(s), 19 queries .
Powered by Mxzdjyxk! X3.5
© 2001-2025 Discuz! Team.