云原生比较🔥,但是之前从未接触过,最近的项目就是上云上云再上云,再陌生也要了解了解多了解
先附上文档大概了解一下
官方文档参考:Kubernetes 文档 云原生开源社区文档:云原生新手入门指北 以及阿里云开发者社区相关文章:K8s 应用管理之道 - 有状态服务、云原生时代消息中间件的演进路线
接下来就进入正题,可能描述性文字偏多,也有一些踩坑总结
搭建ZK集群
一、购买机器(ZK)
k8s不可以选择跨Region(地区)的机器,但是支持跨可用区,为了稳定可靠,每个可用区都要有机器
先上购买ECS链接
ECS基础配置:
- 付费模式- 包年包月
- 地域- 华北3张家口-可用区ABC
- 实例规格- 自行决定
- 镜像- 自行决定
- 存储- 系统盘- 自行决定
- 数据盘-(数据量不是很大的可以不买数据盘,买大一点的系统盘)
- 快照服务- 没有选择
- 没有选择共享nas(这里没有买,但要实现云原生持久化存储还是需要的)
网络和安全组:
- 网络- 选择当前可用区的专有网络和交换机
- 公网Ip- 无选择
- 安全组- 这里都可以看介绍自行选择
- 弹性网卡- 没有选择
系统配置
- 登录凭证- 选择自定义密码
登录名:***
登录密码:****** - 实例名称自定义- 类似可参考- aaa-zk-A[0,3]ecs、bbb-zk-B[0,3]ecs、ccc-zk-C[0,3]ecs 对应ABC区的机器
- 主机名自定义- 类似可参考- aaa-zk-A[0,3]ecs、bbb-zk-B[0,3]ecs、ccc-zk-C[0,3]ecs 对应ABC区的机器
- 其他没有设置选择
分组设置
由于是选填,所以没有进行选择
二、创建ZK镜像
Docker商店地址:https://store.docker.com/editions/community/docker-ce-desktop-mac 下载安装
打开终端输入docker info命令,出现类似下面信息说明安装并启动成功
1.创建Dockerfile文件
这里把需要的一些命令也安装进去
FROM hyperledger/fabric-zookeeper:latest
COPY zookeeper-entrypoint.sh /
#给zookeeper-entrypoint.sh加上执行权限
RUN chmod +x /zookeeper-entrypoint.sh
RUN apt update
RUN apt-get -y install netcat
RUN apt install net-tools
RUN apt install wget
RUN apt-get install procps
#安装下面三个命令需要对话判断y/n,不加-y会导致对话没有回复,无法安装命令导致失败
RUN apt install yum -y
RUN apt install iputils-ping -y
RUN apt-get install vim -y
ENTRYPOINT ["/zookeeper-entrypoint.sh"]
命令需要对话判断y/n的,不加-y会导致对话没有回复,无法安装命令导致失败,失败如下图
2.创建zookeeper-entrypoint.sh文件
⚠️:zookeeper-entrypoint.sh和Dockerfile需要处于同一路径
#!/bin/bash
INIT_FILE="/external/bin/init.sh"
if [[ -f "$INIT_FILE" ]]; then
sh ${INIT_FILE}
fi
/docker-entrypoint.sh "zkServer.sh" "start-foreground"
3.构建镜像
在终端执行命令
docker build -t 镜像仓库地址/-zookeeper:1.0.0 .
看到类似如下图,即为构建成功
查看现有镜像
docker images
一般上面构建咩有问题,这里就会看到我们创建的镜像
镜像上传
开通容器镜像服务:https://cr.console.aliyun.com/cn-zhangjiakou/instances/repositories 初次开通会看到👇图:
容器镜像服务设置Registry登录密码:******
地域选择华北3(张家口)
创建命名空间-创建镜像仓库-创建的镜像仓库右侧点击管理
登录阿里云Docker Registry
这里具体看操作指南中username的值
docker login --username=具体看操作指南中username的值 registry.cn-zhangjiakou.aliyuncs.com
输入密码为容器镜像服务设置Registry登录密码:******
首次不需要拉取镜像,只要push即可
查看[ImageId]和[镜像版本号]
是否需要sudo看个人情况
sudo docker images
将镜像推送到Registry
$ sudo docker tag [ImageId] 仓库地址/zk:[镜像版本号]
$ sudo docker push 仓库地址/zk:[镜像版本号]
类似下图即为镜像上传成功:
也可以在页面-镜像版本看到上传的版本镜像:
创建ZK集群
ECS节点登录密码:***
其中添加ECS节点选择默认系统镜像并且使用数据盘(这里需要确认一下,是否需要使用数据盘,看需要存储的数据量,或者可以把系统盘买大一些,就不用数据盘了)
接下来就是部署ZK应用,这里没什么好讲的
然后是为应用挂载持久化存储卷NAS
但是
。
。
。
。
。
。
。
。
。
先写到这里,0点了,下班!!!
接下篇:云原生-云应用挂载持久化存储卷NAS及通过NAS实现批量机器并发查找日志