k8s系列~mgr的应用
一 简介:今天咱们大体介绍下 这两者是如何联系的
二 概念解析
pod:说下我的理解
1 pod通过yaml文件来封装docker本身+启动形式
2 pod可以运行多个docker容器
3 pod可以自动销毁和重建,通过apiserver来进行管理
yaml文件
使用yaml文件的好处
1 便捷性:不必添加大量的参数到命令行中执行命令
2 可维护性:YAML文件可以通过源头控制,跟踪每次操作
3 灵活性:YAML可以创建比命令行更加复杂的结构
yaml文件编写要点
1 要严格注意缩减,否则无法创建成功
2 挂载目录要先声明挂载动作外,还要声明挂载卷,分别对应容器和宿主对应目录
3 yaml内部一些关键点(image,namespace,hostname,vloumes,vlomesmount,configMap)
三 实现要点
1 挂载方面
1 数据目录 2 配置文件 3 时区文件
2 数据初始化方面
1 数据初始化 2 创建复制账户 3 安装插件
3 配置方面
1 通过report_host参数绑定IP,因为MGR本身是通过hostname访问的,容器重启后hostname会变化,索性绑定IP
2 mgr内部集群的声明采用预先定制的配置文件,配置文件写死域名,成员之间通过解析DNS通信(未来会采用固定IP方式)
3 mgr启动采用系统变量判断是主还是从,如果是主会先进行声明再开启复制,如果是从会直接开启复制
4 mgr集群声明名字uuid采用写死策略
4 监控方面
1 将proxysql的视图导入数据文件中,利用apiserver取值进行判断主从
四 目前进度
1 已基本实现pod的MGR群组运行,属于基本成功状态,未来会继续完善
五 常用命令
kubectl create -f pod.yaml 创建容器
kubectl get pods 查看运行容器
kubectl delete pod <pod名称> -n <pod所在的namespace> 删除过程中可能有些慢,要注意观察
kubectl get node -a 获得所有node节点标签
六 补充:随着K8S的技术越来越成熟和完善,有理由相信技术会应用起来,不说应用在线上环境,代替测试环境还是压力不大的.数据库也可以与之结合