阿里云k8s部署zookeeper集群
1. 阿里云k8s创建有状态应用 StatefulSet , 选择使用模板创建
可以创建自定义模板
apiVersion: apps/v1
kind: StatefulSet
metadata:
creationTimestamp: '2019-09-09T08:45:12Z'
generation: 1
labels:
app: zookeeper
chart: zookeeper-0.4.2
heritage: Tiller
release: zk-test02
name: zk-test02-zookeeper
namespace: weifeng-qa spec:
podManagementPolicy: OrderedReady
replicas: 3
revisionHistoryLimit: 10
selector:
matchLabels:
app: zookeeper
release: zk-test02
serviceName: zk-test02-zookeeper-headless
template:
metadata:
labels:
app: zookeeper
release: zk-test02
spec:
affinity:
podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchLabels:
app: zookeeper
release: zk-test02
topologyKey: kubernetes.io/hostname
containers:
- command:
- sh
- '-c'
- zkGenConfig.sh && exec zkServer.sh start-foreground
env:
- name: ZK_REPLICAS
value: '3'
- name: ZK_HEAP_SIZE
value: 2G
- name: ZK_TICK_TIME
value: '2000'
- name: ZK_INIT_LIMIT
value: '10'
- name: ZK_SYNC_LIMIT
value: '5'
- name: ZK_MAX_CLIENT_CNXNS
value: '60'
- name: ZK_SNAP_RETAIN_COUNT
value: '3'
- name: ZK_PURGE_INTERVAL
value: '1'
- name: ZK_LOG_LEVEL
value: INFO
- name: ZK_CLIENT_PORT
value: '2181'
- name: ZK_SERVER_PORT
value: '2888'
- name: ZK_ELECTION_PORT
value: '3888'
image: 'registry.cn-hangzhou.aliyuncs.com/xianlu/k8szk:v2'
imagePullPolicy: Always
livenessProbe:
exec:
command:
- zkOk.sh
failureThreshold: 3
initialDelaySeconds: 15
periodSeconds: 10
successThreshold: 1
timeoutSeconds: 5
name: zookeeper-server
ports:
- containerPort: 2181
name: client
protocol: TCP
- containerPort: 2888
name: server
protocol: TCP
- containerPort: 3888
name: leader-election
protocol: TCP
readinessProbe:
exec:
command:
- zkOk.sh
failureThreshold: 3
initialDelaySeconds: 15
periodSeconds: 10
successThreshold: 1
timeoutSeconds: 5
resources:
limits:
cpu: '1'
memory: 4Gi
requests:
cpu: 500m
memory: 2Gi
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
volumeMounts:
- mountPath: /var/lib/zookeeper
name: datadir
subPath: data
dnsPolicy: ClusterFirst
restartPolicy: Always
schedulerName: default-scheduler
securityContext: {}
terminationGracePeriodSeconds: 30
updateStrategy:
type: OnDelete
volumeClaimTemplates:
- metadata:
name: datadir
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 20Gi
storageClassName: alicloud-disk-efficiency
status:
phase: Pending
使用模板创建应用后, 阿里云会自动使用高效云盘创建pv,pvc 挂载到pod 目录 /var/lib/zookeeper

创建有状态应用后 再创建服务 svc和 headless service


再创建可让外部访问的slb

测试创建的应用是否正常运行
[root@test-master03 ~]# kubectl get pod -n weifeng-qa|grep -i "zk-test02"
zk-test02-zookeeper-0 1/1 Running 0 57m
zk-test02-zookeeper-1 1/1 Running 0 56m
zk-test02-zookeeper-2 1/1 Running 0 55m
[root@test-master03 ~]# kubectl exec -it zk-test02-zookeeper-0 sh -n xitu-qa
# zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /usr/bin/../etc/zookeeper/zoo.cfg
Mode: follower kubectl exec -it zk-test02-zookeeper-1 sh -n xitu-qa
# zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /usr/bin/../etc/zookeeper/zoo.cfg
Mode: follower kubectl exec -it zk-test02-zookeeper-2 sh -n xitu-qa # zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /usr/bin/../etc/zookeeper/zoo.cfg
Mode: leader
本地客户端连接slb:2181 测试是否正常运行
[root@centos01 ~]# zkCli.sh -server 192.168.7.225:2181 WatchedEvent state:SyncConnected type:None path:null [zk: 192.168.7.225:2181(CONNECTED) 0] create /renwoledb 'weifeng01'
Created /renwoledb
[zk: 192.168.7.225:2181(CONNECTED) 1] get /renwoledb
weifeng01
cZxid = 0x100000002
ctime = Sat Oct 05 16:02:02 CST 2019
mZxid = 0x100000002
mtime = Sat Oct 05 16:02:02 CST 2019
pZxid = 0x100000002
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 9
numChildren = 0
阿里云k8s部署zookeeper集群的更多相关文章
- 阿里云服务器 进行zookeeper集群时候的肯!
首先我本地虚拟机 部署过N次没什么问题! 擦,上了云就启动后不能正常节点之间连接和发现! 这上面有手误 擦,吧编号的2 打成22 了,这个看下日志就解决了 重点是zoo.conf 中的IP进行配置时候 ...
- k8s 上使用 StatefulSet 部署 zookeeper 集群
目录 StatefulSet 部署 zookeeper 集群 创建pv StatefulSet 测试 StatefulSet 部署 zookeeper 集群 参考 k8s官网zookeeper集群的部 ...
- 配置阿里云SLB全站HTTPS集群
配置阿里云SLB全站HTTPS集群(以下内容仅为流程,信息可能有些对应不上) 1 登录阿里云购买两台实例 1.1 按量付费购买两台实例 1.2 配置网络可以不选择分配外网 1.3 自定义密码 1.4 ...
- 第十五章 部署zookeeper集群
1.集群规划 主机名 角色 IP hdss7-11.host.com k8s代理节点1.zk1 10.4.7.11 hdss7-12.host.com k8s代理节点2.zk2 10.4.7.12 h ...
- Linux环境快速部署Zookeeper集群
一.部署前准备: 1.下载ZooKeeper的安装包: http://zookeeper.apache.org/releases.html 我下载的版本是zookeeper-3.4.9. 2.将下载的 ...
- 在CentOS7部署zookeeper集群以及简单API使用
一.部署zookeeper集群 zookeeper是一个针对大型分布式系统的协调系统,提供的功能有统一名称服务.分布式同步等. 1.上传zk安装包 2.解压 tar -xzvf zookeep ...
- ZooKeeper 01 - 什么是ZooKeeper + 部署ZooKeeper集群
目录 1 什么是ZooKeeper 2 ZooKeeper的功能 2.1 配置管理 2.2 命名服务 2.3 分布式锁 2.4 集群管理 3 部署ZooKeeper集群 3.1 下载并解压安装包 3. ...
- Docker部署zookeeper集群和kafka集群,实现互联
本文介绍在单机上通过docker部署zookeeper集群和kafka集群的可操作方案. 0.准备工作 创建zk目录,在该目录下创建生成zookeeper集群和kafka集群的yml文件,以及用于在该 ...
- 日志分析系统 - k8s部署ElasticSearch集群
K8s部署ElasticSearch集群 1.前提准备工作 1.1 创建elastic的命名空间 namespace编排文件如下: elastic.namespace.yaml --- apiVers ...
随机推荐
- Kotlin反射实践操作详解
继续对反射进行实战. 获取构造方法: 先定义一个主构造方法,2个次构造方法,接下来咱们用反射来获取一下构造方法: 其结果: [fun <init>(kotlin.Int, kotlin.S ...
- 《BUG创造队》第六次作业:团队项目系统设计改进与详细设计
项目 内容 这个作业属于哪个课程 2016级软件工程 这个作业的要求在哪里 实验十 团队作业6:团队项目系统设计改进与详细设计 团队名称 BUG创造队 作业学习目标 1.编写完整<软件系统设计说 ...
- Unity点击播放卡死问题的解决
Unity项目使用了github for unity 插件,用来管理项目,结果安装完后Unity卡死在播放的界面,任务管理器中显示无响应. 经过排查后发现是 git for windows这个程序引起 ...
- HTML——MP4视频不能播放
前言 HTML5中提供了video标签,但是为什么有的MP4视频可以播放,有的不能播放呢? 简介 当然是因为编码的问题咯~ 视频格式 标签属性 DOM参考 HTML 5 视频/音频参考手册 使用 &l ...
- maven的目录
maven目录主要分为: src/main/java:项目主体源代码目录 src/main/resources:项目主体源代码所需资源目录 src/test/java:测试代码目录(测试代码不会被打包 ...
- vue+elementUI完成注册及登陆
1. vue怎么引入和配置使用element-ui框架 1.1 使用vue-cli脚手架工具创建一个vue项目 vue init webpack pro01 1.2 npm安装elementUI cd ...
- fio 文件系统io 性能测试安装使用
备注: 使用的是yum 进行的安装,大家可以使用源码编译安装(centos 7) 安装 yum install -y fio 命令行参数 fio-2.2.8 fio [options] [job op ...
- tldr/cheat
tldr 比man好用的查询命令查询工具, man很强大,但是 TLDR,too long dont read 安装 npm install -g tldr 使用说明 其他版本下载 https://g ...
- 3-微信小程序开发(小程序的目录结构说明)
https://www.cnblogs.com/yangfengwu/p/10050784.html 源码下载链接: 或者 这节先说一下小程序的目录结构 自行根据 https://www.cnblo ...
- javascript根据两点和底角,计算等腰三角形的顶点坐标
参考图: 代码如下: var x1 = 0; var y1 = 100; var x2 = -100; var y2 = 0; var angle = 30; var PI = Math.PI; // ...