基础架构

主机名 角色 IP地址
mfyxw10.mfyxw.com K8S代理节点1,zk1 192.168.80.10
mfyxw20.mfyxw.com K8S代理节点2,zk2 192.168.80.20
mfyxw30.mfyxw.com K8S Node节点1,zk3 192.168.80.30
mfyxw40.mfyxw.com K8S Node节点2,jenkins 192.168.80.40
mfyxw50.mfyxw.com K8S运维节点(docker仓库) 192.168.80.50

Dubbo微服务概述

实验架构

1.安装JDK

需要在mfyxw10.mfyxw.com、mfyxw20.mfyxw.com及mfyxw30.mfyxw.com主机上分别安装jdk,建议使用jdk1.8及以上

JDK下载需要注册一个Oracle帐号才能允许下载

JDK1.8下载地址:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

先将jdk1.8的包分别上传到三台服务器

在mfyxw10.mfyxw.com主机上执行如下命令

[root@mfyxw10 ~]# mkdir -p /usr/java
[root@mfyxw10 ~]# tar xf jdk-8u221-linux-x64.tar.gz -C /usr/java
[root@mfyxw10 ~]# cd /usr/java
[root@mfyxw10 java]# ln -s jdk1.8.0_221 jdk

在mfyxw20.mfyxw.com主机上执行如下命令

[root@mfyxw20 ~]# mkdir -p /usr/java
[root@mfyxw20 ~]# tar xf jdk-8u221-linux-x64.tar.gz -C /usr/java
[root@mfyxw20 ~]# cd /usr/java
[root@mfyxw20 java]# ln -s jdk1.8.0_221 jdk

在mfyxw30.mfyxw.com主机上执行如下命令

[root@mfyxw30 ~]# mkdir -p /usr/java
[root@mfyxw30 ~]# tar xf jdk-8u221-linux-x64.tar.gz -C /usr/java
[root@mfyxw30 ~]# cd /usr/java
[root@mfyxw30 java]# ln -s jdk1.8.0_221 jdk

2.添加jdk的环境变量

需要在mfyxw10.mfyxw.com、mfyxw20.mfyxw.com及mfyxw30.mfyxw.com主机上分别添加jdk的环境变量,以下就以mfyxw10.mfyxw.com主机的操作为例,另二台的操作也类似

[root@mfyxw10 ~]# cat >> /etc/profile << EOF
export JAVA_HOME=/usr/java/jdk
export PATH=\$JAVA_HOME/bin:\$JAVA_HOME/bin:\$PATH
export CLASSPATH=\$CLASSPATH:\$JAVA_HOME/lib:\$JAVA_HOME/lib/tools.jar
EOF [root@mfyxw10 ~]# tail -4 /etc/profile
[root@mfyxw10 ~]# source /etc/profile
[root@mfyxw10 ~]# bash
[root@mfyxw10 ~]# java -version

3.安装zookeeper

zookeeper官方地址:https://zookeeper.apache.org/

zookeeper下载地址:https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.6.1/apache-zookeeper-3.6.1-bin.tar.gz

需要在mfyxw10.mfyxw.com、mfyxw20.mfyxw.com及mfyxw30.mfyxw.com主机上分别安装zookeeper

mfyxw10.mfyxw.com主机的操作为例,另二台的操作也类似

下载zookeeper软件

[root@mfyxw10 ~]# wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.6.1/apache-zookeeper-3.6.1-bin.tar.gz

解压zookeeper并创建软链接

[root@mfyxw10 ~]# tar xf apache-zookeeper-3.6.1-bin.tar.gz -C /opt
[root@mfyxw10 opt]# ln -s apache-zookeeper-3.6.1-bin zookeeper

创建存储zookeeper数据目录及日志文件目录,以及提供最简单的配置文件

[root@mfyxw10 ~]# mkdir -p /data/zookeeper/{data,logs}
[root@mfyxw10 ~]# cat > /opt/zookeeper/conf/zoo.cfg << EOF
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/data/zookeeper/data
dataLogDir=/data/zookeeper/logs
clientPort=2181
server.1=zk1.od.com:2888:3888
server.2=zk2.od.com:2888:3888
server.3=zk3.od.com:2888:3888
EOF

4.为zookeeper提供myid

在mfyxw10.mfyxw.com主机上执行

[root@mfyxw10 ~]# cat > /data/zookeeper/data/myid << EOF
1
EOF

在mfyxw20.mfyxw.com主机上执行

[root@mfyxw20 ~]# cat > /data/zookeeper/data/myid << EOF
2
EOF

在mfyxw30.mfyxw.com主机上执行

[root@mfyxw30 ~]# cat > /data/zookeeper/data/myid << EOF
3
EOF

5.在DNS服务器上做域名解析并重启DNS服务

在mfyxw10.mfyxw.com主机上执行即可

[root@mfyxw10 ~]# cat > /var/named/od.com.zone <<EOF
\$ORIGIN od.com.
\$TTL 600 ; 10 minutes
@ IN SOA dns.od.com. dnsadmin.od.com. (
;序号请加1,表示比之前版本要新
2020031307 ; serial
10800 ; refresh (3 hours)
900 ; retry (15 minutes)
604800 ; expire (1 week)
86400 ; minimum (1 day)
)
NS dns.od.com.
\$TTL 60 ; 1 minute
dns A 192.168.80.10
harbor A 192.168.80.50 ;添加harbor记录
k8s-yaml A 192.168.80.50
traefik A 192.168.80.100
dashboard A 192.168.80.100
zk1 A 192.168.80.10
zk2 A 192.168.80.20
zk3 A 192.168.80.30
EOF

重启DNS服务

[root@mfyxw10 ~]# systemctl restart named

6.启动zookeeper服务

需要在mfyxw10.mfyxw.com、mfyxw20.mfyxw.com及mfyxw30.mfyxw.com主机上分别启动zookeeper服务

在mfyxw10.mfyxw.com上执行,其它二台主机的操作类似

[root@mfyxw10 ~]# /opt/zookeeper/bin/zkServer.sh start

7.分别查看zookeeper状态信息

需要在mfyxw10.mfyxw.com、mfyxw20.mfyxw.com及mfyxw30.mfyxw.com主机上分别启动zookeeper服务

~]# /opt/zookeeper/bin/zkServer.sh status

8.设置zookeeper开机启动

在安装有zookeeper的主机(mfyxw10.mfyxw.com,mfyxw20.mfyxw.com,mfyxw30.mfyxw.com)都要分别操作,教程以mfyxw10.mfyxw.com操作为例,其它二台类似

在mfyxw10.mfyxw.com主机上执行如下操作

添加zookeeper开机启动脚本

[root@mfyxw10 ~]# cat > /etc/init.d/zookeeper << EOF
#!/bin/bash
#chkconfig:2345 20 90
#description:zookeeper
#processname:zookeeper
export JAVA_HOME=/usr/java/jdk
export PATH=\$JAVA_HOME/bin:\$PATH
case \$1 in
start) su root /opt/zookeeper/bin/zkServer.sh start;;
stop) su root /opt/zookeeper/bin/zkServer.sh stop;;
status) su root /opt/zookeeper/bin/zkServer.sh status;;
restart) su root /opt/zookeeper/bin/zkServer.sh restart;;
*) echo "require start|stop|status|restart" ;;
esac
EOF

添加执行权限

[root@mfyxw10 ~]# chmod +x /etc/init.d/zookeeper

添加到启动服务

[root@mfyxw10 ~]# chkconfig --add zookeeper

实战交付一套dubbo微服务到k8s集群(1)之Zookeeper部署的更多相关文章

  1. 8.实战交付一套dubbo微服务到k8s集群(1)之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 ...

  2. 9.实战交付一套dubbo微服务到k8s集群(2)之Jenkins部署

    1.下载Jenkins镜像打包上传harbor上 [root@hdss7- ~]# docker pull jenkins/jenkins:2.190. [root@hdss7- ~]# docker ...

  3. 实战交付一套dubbo微服务到k8s集群(2)之Jenkins部署

    Jenkins官网:https://www.jenkins.io/zh/ Jenkins 2.190.3 镜像地址:docker pull jenkins/jenkins:2.190.3 1.下载Je ...

  4. 实战交付一套dubbo微服务到k8s集群(6)之交付dubbo-monitor到K8S集群

    dubbo-monitor官方源码地址:https://github.com/Jeromefromcn/dubbo-monitor 1.下载dubbo-monitor源码 在运维主机(mfyxw50. ...

  5. 12.实战交付一套dubbo微服务到k8s集群(5)之交付dubbo-monitor到K8S集群

    dubbo-monitor官方源码地址:https://github.com/Jeromefromcn/dubbo-monitor 1.下载dubbo-monitor源码并解压 [root@hdss7 ...

  6. 11.实战交付一套dubbo微服务到k8s集群(4)之使用Jenkins进行持续构建交付dubo服务的提供者

    1.登录到jenkins,新建一个项目 2.新建流水线 3.设置保留的天数及份数 4. 添加参数 # 参数 . name: git_repo type: string description: 项目在 ...

  7. 实战交付一套dubbo微服务到k8s集群(8)之configmap使用

    使用ConfigMap管理应用配置 拆分环境 主机名 角色 IP地址 mfyxw10.mfyxw.com zk1.od.com(Test环境) 192.168.80.10 mfyxw20.mfyxw. ...

  8. 实战交付一套dubbo微服务到k8s集群(7)之交付dubbo服务的消费者集群到K8S

    构建dubbo-demo-consumer,可以使用和dubbo-demo-service的流水线来构建 1.登录jenkins构建dubbo-demo-consumer 2.填写构建dubbo-de ...

  9. 实战交付一套dubbo微服务到k8s集群(5)之使用Jenkins进行持续构建交付dubo服务的提供者

    1.登录到jenkins,新建一个项目 2.新建流水线 3.设置保留的天数及份数 4.添加第一个参数:设置项目的名称 5.添加第二个参数:docker镜像名称 6.添加第三个参数:项目所在的git中央 ...

随机推荐

  1. UNDO表空间切换步骤

    1.新建UNDO表空间 create undo tablespace UNDOTBS2 datafile '/data01/testdb/undotbs01.dbf' size 1G; alter d ...

  2. IP2723T中文规格书PDF

    IP2723T 是一款集成多种协议.用于 USB 输出端口的快充协议 IC.支持多种快充协议,包括 USBTypeC DFP,PD2.0/PD3.0/PPS,HVDCPQC4/QC4+/QC3.0/Q ...

  3. Flask源码流程分析(一)

    Flask源码流程分析: 1.项目启动: 1.实例化Flask对象 1. 重要的加载项: * url_rule_class = Rule * url_map_class = Map * session ...

  4. 2020 CSP&NOIP 游记

    CSP初赛 CSP初赛 Day -1 早上打了模拟赛,T2寒假正好做过,然而还是还是被踩Orz,郑外NB!.中午出校吃了大盘鸡和拉面,还带回来了三瓶可乐. 初赛知识点看了两页不(看)想(不)看(懂)了 ...

  5. Kubernetes 存储简介

    存储分类结构图 半持久化存储 1.EmptyDir EmptyDir是一个空目录,生命周期和所属的 Pod 是完全一致的,EmptyDir的用处是,可以在同一 Pod 内的不同容器之间共享工作过程中产 ...

  6. jmeter-命令行执行及测试报告导出

    问题1:GUI方式能够进行测试报告导出? 回答:目前找了很多资料,没有找到采用GUI方式测试完成,然后命令方式导出测试报告: 问题2:命令行导出测试报告的前提都有啥?---- 这里参考了老_张大大的博 ...

  7. C语言中使用类似awk的功能

    awk实在是太强大了, 非常复杂的任务,几行代码就可以解决, awk经常需要用到, 但是在c语言里面, 调用system不太优雅, 能不能直接在c语言中直接调用呢,简单实现了一些功能, 但大多数情况, ...

  8. luogu p2622

    题目描述 现有n盏灯,以及m个按钮.每个按钮可以同时控制这n盏灯--按下了第i个按钮,对于所有的灯都有一个效果.按下i按钮对于第j盏灯,是下面3中效果之一:如果a[i][j]为1,那么当这盏灯开了的时 ...

  9. 急~为啥我指定的的maven依赖版本没有生效?不是最短路径原则吗?

    女朋友他们项目用了 spring-boot,以 spring-boot-parent 作为 parent: <parent> <groupId>org.springframew ...

  10. Linux内核poll/select机制简析

    0 I/O多路复用机制 I/O多路复用 (I/O multiplexing),提供了同时监测若干个文件描述符是否可以执行IO操作的能力. select/poll/epoll 函数都提供了这样的机制,能 ...