k8s -- 项目交付实战Dubbo微服务

一、了解Dubbo

在这里插入图片描述
理解dubbo架构:
在这里插入图片描述
在这里插入图片描述

  • zk为有状态服务,所以适合放在集群外部

二、架构部署

实验环境:
三台master,两台worker

[root@master01 ~]# kubectl get nodes -owide
NAME       STATUS   ROLES    AGE   VERSION    INTERNAL-IP   EXTERNAL-IP   OS-IMAGE                KERNEL-VERSION          CONTAINER-RUNTIME
master01   Ready    master   20h   v1.18.20   10.4.7.11     <none>        CentOS Linux 7 (Core)   3.10.0-957.el7.x86_64   docker://20.10.7
master02   Ready    master   20h   v1.18.20   10.4.7.12     <none>        CentOS Linux 7 (Core)   3.10.0-957.el7.x86_64   docker://20.10.7
master03   Ready    master   20h   v1.18.20   10.4.7.13     <none>        CentOS Linux 7 (Core)   3.10.0-957.el7.x86_64   docker://20.10.7
worker01   Ready    <none>   20h   v1.18.20   10.4.7.14     <none>        CentOS Linux 7 (Core)   3.10.0-957.el7.x86_64   docker://20.10.7
worker02   Ready    <none>   20h   v1.18.20   10.4.7.15     <none>        CentOS Linux 7 (Core)   3.10.0-957.el7.x86_64   docker://20.10.7

1. 部署zk集群

zk部署在三台master上

1、 创建安装目录

[root@master01 ~]# ansible all -m shell -a "mkdir -p /opt/src"

[root@master01 ~]# ansible all -m shell -a "mkdir -p /usr/java"

2、下载安装jdk
地址:https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html

[root@master01 ~]# ansible all -m copy -a "src=jdk-8u291-linux-x64.tar.gz dest=jdk-8u291-linux-x64.tar.gz"

[root@master01 ~]# ansible all -m shell -a "tar xf jdk-8u291-linux-x64.tar.gz -C /usr/java"


[root@master01 ~]# ansible all -m shell -a "ln -s /usr/java/jdk1.8.0_291/ /usr/java/jdk"

3、添加环境变量

[root@master01 ~]# vi /etc/profile
#JAVA HOME
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

[root@master01 ~]# source /etc/profile

查看java版本

[root@master01 ~]# java -version
java version "1.8.0_291"
Java(TM) SE Runtime Environment (build 1.8.0_291-b10)
Java HotSpot(TM) 64-Bit Server VM (build 25.291-b10, mixed mode)

4、下载zookpeer
地址:https://archive.apache.org/dist/zookeeper/

ansible master -m copy -a "src=zookeeper-3.4.14.tar.gz dest=~/zookeeper-3.4.14.tar.gz"

[root@master01 ~]# tar zxvf zookeeper-3.4.14.tar.gz -C /opt

[root@master01 ~]# ln -s /opt/zookeeper-3.4.14/ /opt/zookeeper

5、创建日志目录和数据存放目录

mkdir -pv /data/zookeeper/data /data/zookeeper/logs

6、创建zk的配置文件

[root@master03 ~]# vi /opt/zookeeper/conf/zoo.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/data/zookeeper/data
dataLogDir=/data/zookeeper/logs
clientPort=2181
server.1=zk1.prod.com:2888:3888        # 这里使用的是dns解析后的域名,也可以用ip地址
server.2=zk2.prod.com:2888:3888
server.3=zk3.prod.com:2888:3888

配置dns

$ORIGIN prod.com.
$TTL 600    ; 10 minutes
@       IN SOA    dns.prod.com. dnsadmin.host.com. (
                  2019111001 ; serial
                  10800      ; refresh (3 hours)
                  900        ; retry (15 minutes)
                  604800     ; expire (1 week)
                  86400      ; minimum (1 day)
                  )
              NS   dns.prod.com.
$TTL 60       ; 1 minute
harbor  A       10.4.7.11
nginx   A       10.4.7.253
dns     A       10.4.7.11
zk1     A       10.4.7.11
zk2     A       10.4.7.12
zk3     A       10.4.7.13

7、配置zk集群的myid文件(每个节点id不能一样)

# 在master01上
[root@master01 ~]# echo 1 > /data/zookeeper/data/myid

# 在master02上
[root@master02 ~]# echo 2 > /data/zookeeper/data/myid

# 在master03上
[root@master03 ~]# echo 3 > /data/zookeeper/data/myid

8、启动zookeeper

[root@master01 ~]# /opt/zookeeper/bin/zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED

# 查看zookper进程(默认监听2181端口ÿ
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值