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

相关文章

SQL中的外键约束

外键约束用于表示两张表中的指标连接关系。外键约束的作用主要有以下三点: 1.确保子表中的某个字段(外键)只能引用父表中的有效记录2.主表中的列被删除时,子表中的关联列也会被删除3.主表中的列更新时,子表中的关联元素也会被更新 子表中的元素指向主表 以下是一个外键约束的实例展示

基于MySQL Binlog的Elasticsearch数据同步实践

一、为什么要做 随着马蜂窝的逐渐发展,我们的业务数据越来越多,单纯使用 MySQL 已经不能满足我们的数据查询需求,例如对于商品、订单等数据的多维度检索。 使用 Elasticsearch 存储业务数据可以很好的解决我们业务中的搜索需求。而数据进行异构存储后,随之而来的就是数据同步的问题。 二、现有方法及问题 对于数据同步,我们目前的解决方案是建立数据中间表。把需要检索的业务数据,统一放到一张M

如何去写一手好SQL

MySQL性能 最大数据量 抛开数据量和并发数,谈性能都是耍流氓。MySQL没有限制单表最大记录数,它取决于操作系统对文件大小的限制。 《阿里巴巴Java开发手册》提出单表行数超过500万行或者单表容量超过2GB,才推荐分库分表。性能由综合因素决定,抛开业务复杂度,影响程度依次是硬件配置、MySQL配置、数据表设计、索引优化。500万这个值仅供参考,并非铁律。 博主曾经操作过超过4亿行数据

性能分析之MySQL索引实战案例

文章目录 一、前言二、准备三、MySQL索引优化四、MySQL 索引知识回顾五、总结 一、前言 在上一讲性能工具之 JProfiler 简单登录案例分析实战中已经发现SQL没有建立索引问题,本文将一起从代码层去分析为什么没有建立索引? 开源ERP项目地址:https://gitee.com/jishenghua/JSH_ERP 二、准备 打开IDEA找到登录请求资源路径位置

MySQL数据库宕机,启动不起来,教你一招搞定!

作者介绍:老苏,10余年DBA工作运维经验,擅长Oracle、MySQL、PG、Mongodb数据库运维(如安装迁移,性能优化、故障应急处理等)公众号:老苏畅谈运维欢迎关注本人公众号,更多精彩与您分享。 MySQL数据库宕机,数据页损坏问题,启动不起来,该如何排查和解决,本文将为你说明具体的排查过程。 查看MySQL error日志 查看 MySQL error日志,排查哪个表(表空间

【Python编程】Linux创建虚拟环境并配置与notebook相连接

1.创建 使用 venv 创建虚拟环境。例如,在当前目录下创建一个名为 myenv 的虚拟环境: python3 -m venv myenv 2.激活 激活虚拟环境使其成为当前终端会话的活动环境。运行: source myenv/bin/activate 3.与notebook连接 在虚拟环境中,使用 pip 安装 Jupyter 和 ipykernel: pip instal

MySQL高性能优化规范

前言:      笔者最近上班途中突然想丰富下自己的数据库优化技能。于是在查阅了多篇文章后,总结出了这篇! 数据库命令规范 所有数据库对象名称必须使用小写字母并用下划线分割 所有数据库对象名称禁止使用mysql保留关键字(如果表名中包含关键字查询时,需要将其用单引号括起来) 数据库对象的命名要能做到见名识意,并且最后不要超过32个字符 临时库表必须以tmp_为前缀并以日期为后缀,备份

在cscode中通过maven创建java项目

在cscode中创建java项目 可以通过博客完成maven的导入 建立maven项目 使用快捷键 Ctrl + Shift + P 建立一个 Maven 项目 1 Ctrl + Shift + P 打开输入框2 输入 "> java create"3 选择 maven4 选择 No Archetype5 输入 域名6 输入项目名称7 建立一个文件目录存放项目,文件名一般为项目名8 确定

Kubernetes PodSecurityPolicy:PSP能实现的5种主要安全策略

Kubernetes PodSecurityPolicy:PSP能实现的5种主要安全策略 1. 特权模式限制2. 宿主机资源隔离3. 用户和组管理4. 权限提升控制5. SELinux配置 💖The Begin💖点点关注,收藏不迷路💖 Kubernetes的PodSecurityPolicy(PSP)是一个关键的安全特性,它在Pod创建之前实施安全策略,确保P

Java 创建图形用户界面(GUI)入门指南(Swing库 JFrame 类)概述

概述 基本概念 Java Swing 的架构 Java Swing 是一个为 Java 设计的 GUI 工具包,是 JAVA 基础类的一部分,基于 Java AWT 构建,提供了一系列轻量级、可定制的图形用户界面(GUI)组件。 与 AWT 相比,Swing 提供了许多比 AWT 更好的屏幕显示元素,更加灵活和可定制,具有更好的跨平台性能。 组件和容器 Java Swing 提供了许多