mysql容器 kubernetes_Kubernetes创建mysql容器 互联网技术圈 互联网技术圈

2023-11-09 02:30

本文主要是介绍mysql容器 kubernetes_Kubernetes创建mysql容器 互联网技术圈 互联网技术圈,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

首先,创建mysql-rc.yaml,内容如下:

apiVersion: v1

kind: ReplicationController

metadata:

name: mysql5-7-v1

namespace: default

labels:

name: mysql5-7

version: v1

spec:

replicas: 1

selector:

name: mysql5-7

version: v1

template:

metadata:

labels:

name: mysql5-7

version: v1

spec:

containers:

- image: mysql:5.7

name: mysql5-7-v1

ports:

- containerPort: 3306

env:

- name: MYSQL_ROOT_PASSWORD

value: abcd123

volumeMounts:

- name: mysql-storage

mountPath: /var/lib/mysql

volumes:

- name: mysql-storage

hostPath:

path: /data/mysql

然后创建容器:

kubectl create -f mysql-rc.yaml

通过命令查看如下:

[root@k4152v /data/yaml]# kubectl get pods -o wide

NAME READY STATUS RESTARTS AGE IP NODE

mysql5-7-v1-rzz6j 1/1 Running 0 29m 10.244.2.6 k4614v.add.bjyt.qihoo.net

查看配置信息如下:

[root@k4152v /data/yaml]# kubectl describe pod mysql5-7-v1-rzz6j

Name: mysql5-7-v1-rzz6j

Namespace: default

Node: k4614v.add.bjyt.qihoo.net/10.209.5.35

Start Time: Mon, 09 Apr 2018 20:50:45 +0800

Labels: name=mysql5-7

version=v1

Annotations:

Status: Running

IP: 10.244.2.6

Controlled By: ReplicationController/mysql5-7-v1

Containers:

mysql5-7-v1:

Container ID: docker://6fa8bbc8148c585fa6613c82444cea1751a9063c366bd820d2ba2e959a5fd230

Image: mysql:5.7

Image ID: docker-pullable://mysql@sha256:691c55aabb3c4e3b89b953dd2f022f7ea845e5443954767d321d5f5fa394e28c

Port: 3306/TCP

State: Running

Started: Mon, 09 Apr 2018 20:51:47 +0800

Ready: True

Restart Count: 0

Environment:

MYSQL_ROOT_PASSWORD: abcd123

Mounts:

/var/lib/mysql from mysql-storage (rw)

/var/run/secrets/kubernetes.io/serviceaccount from default-token-8bsjw (ro)

Conditions:

Type Status

Initialized True

Ready True

PodScheduled True

Volumes:

mysql-storage:

Type: HostPath (bare host directory volume)

Path: /data/mysql

HostPathType:

default-token-8bsjw:

Type: Secret (a volume populated by a Secret)

SecretName: default-token-8bsjw

Optional: false

QoS Class: BestEffort

Node-Selectors:

Tolerations: node.kubernetes.io/not-ready:NoExecute for 300s

node.kubernetes.io/unreachable:NoExecute for 300s

Events:

Type Reason Age From Message

---- ------ ---- ---- -------

Normal Scheduled 30m default-scheduler Successfully assigned mysql5-7-v1-rzz6j to k4614v.add.bjyt.qihoo.net

Normal SuccessfulMountVolume 30m kubelet, k4614v.add.bjyt.qihoo.net MountVolume.SetUp succeeded for volume "mysql-storage"

Normal SuccessfulMountVolume 30m kubelet, k4614v.add.bjyt.qihoo.net MountVolume.SetUp succeeded for volume "default-token-8bsjw"

Normal Pulling 30m kubelet, k4614v.add.bjyt.qihoo.net pulling image "mysql:5.7"

Normal Pulled 29m kubelet, k4614v.add.bjyt.qihoo.net Successfully pulled image "mysql:5.7"

Normal Created 29m kubelet, k4614v.add.bjyt.qihoo.net Created container

Normal Started 29m kubelet, k4614v.add.bjyt.qihoo.net Started container

然后通过kubernetes管理端就可以看到,如下:

b921c49ca29cdd320cf4a7441d8b4160.png

通过管理端命令端登录进去,如图:

de7106bb4ca17c9da8967a9d9ea75bac.png

接下来,我们配置个mysql-svc.yaml,直接指定映射到宿主机ip,这样就可以对外访问了,内容如下:

apiVersion: v1

kind: Service

metadata:

name: mysql5-7

namespace: default

labels:

name: mysql5-7

spec:

externalIPs:

- 10.209.5.43

ports:

- port: 3306

targetPort: 3306

selector:

name: mysql5-7

创建容器:

kubectl create -f mysql-svc.yaml

查看容器是否已经运行:

[root@k4152v /data/yaml]# kubectl get svc

NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE

kubernetes ClusterIP 10.96.0.1 443/TCP 10h

mysql5-7 ClusterIP 10.109.170.208 10.209.5.43 3306/TCP 29m

或者通过管理端查看,如下图:

f9e0ede7a6e246dbc6495273169f9c8a.png

详情如下:

6d99426810a19a6282e5055456643840.png

然后我们测试一下,看看是否可以外连,如下:

2010771901b83725724c4ecd38df7f06.png

ok了

这篇关于mysql容器 kubernetes_Kubernetes创建mysql容器 互联网技术圈 互联网技术圈的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/373633

相关文章

使用Python创建一个能够筛选文件的PDF合并工具

《使用Python创建一个能够筛选文件的PDF合并工具》这篇文章主要为大家详细介绍了如何使用Python创建一个能够筛选文件的PDF合并工具,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录背景主要功能全部代码代码解析1. 初始化 wx.Frame 窗口2. 创建工具栏3. 创建布局和界面控件4

MySQL zip安装包配置教程

《MySQLzip安装包配置教程》这篇文章详细介绍了如何使用zip安装包在Windows11上安装MySQL8.0,包括下载、解压、配置环境变量、初始化数据库、安装服务以及更改密码等步骤,感兴趣的朋... 目录mysql zip安装包配置教程1、下载zip安装包:2、安装2.1 解压zip包到安装目录2.2

MySQL安装时initializing database失败的问题解决

《MySQL安装时initializingdatabase失败的问题解决》本文主要介绍了MySQL安装时initializingdatabase失败的问题解决,文中通过图文介绍的非常详细,对大家的学... 目录问题页面:解决方法:问题页面:解决方法:1.勾选红框中的选项:2.将下图红框中全部改为英

MySQL 中的服务器配置和状态详解(MySQL Server Configuration and Status)

《MySQL中的服务器配置和状态详解(MySQLServerConfigurationandStatus)》MySQL服务器配置和状态设置包括服务器选项、系统变量和状态变量三个方面,可以通过... 目录mysql 之服务器配置和状态1 MySQL 架构和性能优化1.1 服务器配置和状态1.1.1 服务器选项

Java中对象的创建和销毁过程详析

《Java中对象的创建和销毁过程详析》:本文主要介绍Java中对象的创建和销毁过程,对象的创建过程包括类加载检查、内存分配、初始化零值内存、设置对象头和执行init方法,对象的销毁过程由垃圾回收机... 目录前言对象的创建过程1. 类加载检查2China编程. 分配内存3. 初始化零值4. 设置对象头5. 执行

MySQL8.0设置redo缓存大小的实现

《MySQL8.0设置redo缓存大小的实现》本文主要在MySQL8.0.30及之后版本中使用innodb_redo_log_capacity参数在线更改redo缓存文件大小,下面就来介绍一下,具有一... mysql 8.0.30及之后版本可以使用innodb_redo_log_capacity参数来更改

Android 悬浮窗开发示例((动态权限请求 | 前台服务和通知 | 悬浮窗创建 )

《Android悬浮窗开发示例((动态权限请求|前台服务和通知|悬浮窗创建)》本文介绍了Android悬浮窗的实现效果,包括动态权限请求、前台服务和通知的使用,悬浮窗权限需要动态申请并引导... 目录一、悬浮窗 动态权限请求1、动态请求权限2、悬浮窗权限说明3、检查动态权限4、申请动态权限5、权限设置完毕后

Springboot中分析SQL性能的两种方式详解

《Springboot中分析SQL性能的两种方式详解》文章介绍了SQL性能分析的两种方式:MyBatis-Plus性能分析插件和p6spy框架,MyBatis-Plus插件配置简单,适用于开发和测试环... 目录SQL性能分析的两种方式:功能介绍实现方式:实现步骤:SQL性能分析的两种方式:功能介绍记录

使用 sql-research-assistant进行 SQL 数据库研究的实战指南(代码实现演示)

《使用sql-research-assistant进行SQL数据库研究的实战指南(代码实现演示)》本文介绍了sql-research-assistant工具,该工具基于LangChain框架,集... 目录技术背景介绍核心原理解析代码实现演示安装和配置项目集成LangSmith 配置(可选)启动服务应用场景

oracle DBMS_SQL.PARSE的使用方法和示例

《oracleDBMS_SQL.PARSE的使用方法和示例》DBMS_SQL是Oracle数据库中的一个强大包,用于动态构建和执行SQL语句,DBMS_SQL.PARSE过程解析SQL语句或PL/S... 目录语法示例注意事项DBMS_SQL 是 oracle 数据库中的一个强大包,它允许动态地构建和执行