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集群的更多相关文章

  1. 阿里云服务器 进行zookeeper集群时候的肯!

    首先我本地虚拟机 部署过N次没什么问题! 擦,上了云就启动后不能正常节点之间连接和发现! 这上面有手误 擦,吧编号的2 打成22 了,这个看下日志就解决了 重点是zoo.conf 中的IP进行配置时候 ...

  2. k8s 上使用 StatefulSet 部署 zookeeper 集群

    目录 StatefulSet 部署 zookeeper 集群 创建pv StatefulSet 测试 StatefulSet 部署 zookeeper 集群 参考 k8s官网zookeeper集群的部 ...

  3. 配置阿里云SLB全站HTTPS集群

    配置阿里云SLB全站HTTPS集群(以下内容仅为流程,信息可能有些对应不上) 1 登录阿里云购买两台实例 1.1 按量付费购买两台实例 1.2 配置网络可以不选择分配外网 1.3 自定义密码 1.4 ...

  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 ...

  5. Linux环境快速部署Zookeeper集群

    一.部署前准备: 1.下载ZooKeeper的安装包: http://zookeeper.apache.org/releases.html 我下载的版本是zookeeper-3.4.9. 2.将下载的 ...

  6. 在CentOS7部署zookeeper集群以及简单API使用

    一.部署zookeeper集群 zookeeper是一个针对大型分布式系统的协调系统,提供的功能有统一名称服务.分布式同步等. 1.上传zk安装包 2.解压     tar -xzvf zookeep ...

  7. ZooKeeper 01 - 什么是ZooKeeper + 部署ZooKeeper集群

    目录 1 什么是ZooKeeper 2 ZooKeeper的功能 2.1 配置管理 2.2 命名服务 2.3 分布式锁 2.4 集群管理 3 部署ZooKeeper集群 3.1 下载并解压安装包 3. ...

  8. Docker部署zookeeper集群和kafka集群,实现互联

    本文介绍在单机上通过docker部署zookeeper集群和kafka集群的可操作方案. 0.准备工作 创建zk目录,在该目录下创建生成zookeeper集群和kafka集群的yml文件,以及用于在该 ...

  9. 日志分析系统 - k8s部署ElasticSearch集群

    K8s部署ElasticSearch集群 1.前提准备工作 1.1 创建elastic的命名空间 namespace编排文件如下: elastic.namespace.yaml --- apiVers ...

随机推荐

  1. 微信小程序-数组操作

    Page({ data: { list:[{ id:, name:'芒果', count: },{ id:, name:'香蕉', count: }, }] } }) 向前插入数据 //要增加的数组 ...

  2. monkey+shell命令解析总结

    结束monkey方法 Linux下: adb shell top | grep monkey windows下: 1.adb shell top | find "monkey" 5 ...

  3. keyword (this and arguments) in function --- 涉及递归

    arguments 就像一个数组一样,包含了传递给这个函数的参数 , 以上部分为this的介绍,注意arguments.callee  属性 ,可用于递归调用,其代表的是  : 当前正在运行函数的引用 ...

  4. 各大公司Java面试题收录含答案(整理版)持续中....

    本文分为17个模块,分别是:Java基础.容器.多线程.反射.对象拷贝.Java web.异常.网络.设计模式.算法.Spring/Spring MVC.Spring Boot/Spring Clou ...

  5. django-用户中心订单页面

    提交订单页面place_order.html,创建订单成功后跳转到用户订单页面 {% block bottomfiles %} <script type="text/javascrip ...

  6. CF622F——自然数幂和模板&&拉格朗日插值

    题意 求 $ \displaystyle \sum_{i=1}^n i^k \ mod (1e9+7), n \leq 10^9, k \leq 10^6$. CF622F 分析 易知答案是一个 $k ...

  7. LeetCode 923. 3Sum With Multiplicity

    原题链接在这里:https://leetcode.com/problems/3sum-with-multiplicity/ 题目: Given an integer array A, and an i ...

  8. 过滤器的API

    1.API a.生命周期(和servletcontext相似): (1)创建:服务器启动的时候创建(执行init方法). (2)销毁:服务器关闭的时候销毁(执行destory方法). b.filter ...

  9. gerrit配置跳过审核直接push到gitlab

    项目中有存放项目相关的文档,这些项目需要配置跳过审核再提交的操作.现在需要给某些组配置不审核直接提交的权限 方法: 使用管理员账号,到 projects -> access 页面下配置 refe ...

  10. mysql 根据日期时间查询数据

    mysql> select * from table1; +----------+------------+-----+---------------------+ | name_new | t ...