1.概述 无状态应用更关注群体,任何一个成员都可以被取代,有状态应用关注的是个体.用deployment控制器管理的nginx.myapp等都属于无状态应用,像mysql.redis.zookeeper等都属于有状态应用,他们有的还有主从之分.先后顺序之分. statefulset控制器能实现有状态应用的管理,但实现起来也是非常麻烦,需要把运维管理过程写成脚本并注入到statefulset中才能使用,虽然互联网上有人做好了stateful的脚本,但是还是建议大家不要轻易的把redis.mysql…
http://blog.itpub.net/28916011/viewspace-2215046/ 在应用程序中,可以分为有状态应用和无状态应用. 无状态的应用更关注于群体,任何一个成员都可以被取代. 对有状态的应用是关注个体. 像我们前面用deployment控制器管理的nginx.myapp等都属于无状态应用. 像mysql.redis,zookeeper等都属于有状态应用,他们有的还有主从之分.先后顺序之分. statefulset控制器能实现有状态应用的管理,但实现起来也是非常麻烦的.需…
mongodb副本集模式由如下几部分组成: 1.路由实例mongos 2.配置实例configsvr 3.副本集集群replset(一主多从) tips: 1.以上实例都是mongod守护进程 2.以上实例应在同一网段 配置一个集群分两步:启动和配置. 1.启动 对于下面实例的管理,你可以将各个实例都创建一个目录,然后将数据和配置还有log都放在实例的目录下,启动脚本可以仿照下面的方式编写. 路由实例:10.94.99.53:29017 tips:--configdb为路由实例的ip:port,…
目录 一.mongo副本集配置 二.查看副本集状态 三.副本集权重调整 四.创建节点 五.仲裁节点 六.mongo备份与恢复 七.准备测试数据 一.mongo副本集配置 1.创建节点目录和数据目录 #先进到普通用户 su - mongo #关机 [mongo@db01 ~]$ mongod -f /opt/mongo_27017/conf/mongodb.conf --shutdown killing process with pid: 17656 [mongo@db01 ~]$ mkdir -…
共享存储 docker默认是无状态,当有状态服务时需要用到共享存储 为什么需要共享存储: 1.最常见有状态服务,本地存储有些程序会把文件保存在服务器目录中,如果容器重新启停则会丢失. 2.如果使用volume将目录挂载到容器中,涉及到备份及高可用问题.如果宿主机出现问题则会造成不可用状态. kubernetes中提供了共享存储 1.pv(PresistentVolume持久卷) 2.pvc (PresistentVolumeClaim持久卷声明) PV pv中定义了: pv的容量 pv的访问模式…
k8s初面考点ReplicaSet副本集极限9连击你懂了吗? k8s考点灵魂拷问9连击 考点之简单描述一下k8s副本集ReplicaSet有什么作用? 考点之为什么ReplicaSet将取代ReplicationController控制器? 考点之编写 ReplicaSet 的 spec 有什么需要注意的点? 考点之k8s集群中创建非模板 Pod 为什么可能会被副本集自动收纳? 考点之线上预警k8s集群循环创建.删除Pod副本,一直无法稳定指定目标副本数量? 如果排除了是Pod内部发生了故障,从…
既有的Telegraf 关于MongoDB的输入插件很难实现对副本集节点状态的监控,副本集节点状态有 PRIMARY.SECONDARY.RECOVERYING.ARBITER 等.现在我们尝试通过 Exec Input Plugin 来实现对MongoDB状态的的监控. 第一部分 简单回顾下Zabbix的监控实现 1. Zabbix 执行的文件脚本如下: #!/bin/bash command_linebin="mongodb可执行文件路径/bin/mongo" replstatus…
前文我们聊到了k8s的configmap和secret资源的说明和相关使用示例,回顾请参考:https://www.cnblogs.com/qiuhom-1874/p/14194944.html:今天我们来了解下k8s上的statefulSet控制器的相关话题: 1.statefulset控制器的作用 简单讲statefulset控制器主要用来在k8s上管理有状态应用pod:我们经常运维的一些应用主要可以分为4类,分别从是否有状态和是否有存储两个维度去描述,我们可以将应用分为有状态无存储,有状态…
一.安装部署: 想直接一步创建集群的小伙伴直接按以下步骤安装(再往后是记录自己出过的错): 1.生成docker镜像: docker build -t 144.202.127.156/library/mongodb:3.4.10 . docker push 144.202.127.156/library/mongodb:3.4.10     注:记得把地址换成自己的镜像仓库 FROM alpine:edge MAINTAINER chengcuichao RUN apk update &&…
复制有状态的Pod replicaSet通过一个pod模版创建多个pod副本.这些副本除了它们的名字和IP地址不同外,没有别的差异.如果pod模版里描述了一个关联到特定持久卷声明的数据卷,那么ReplicaSet的所有副本都将共享这个持久卷声明,也就是绑定到同一个持久卷声明. 因为是在pod模版里关联持久卷声明的,又会依据pod模版创建多个副本,则不能对每个副本都指定独立的持久卷声明.所以也不能通过一个ReplicaSet来运行一个每个实例都需要独立存储的分布式数据存储服务,至少通过单个Repl…