zoukankan      html  css  js  c++  java
  • 实战交付一套dubbo微服务到k8s集群(1)之Zookeeper部署

    基础架构

    主机名 角色 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微服务概述

    image-20200517215336491

    实验架构

    image-20200517225240290

    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
    

    image-20200517232221957

    在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
    

    image-20200517232321137

    在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
    

    image-20200517232332749

    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
    

    image-20200517233456962

    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
    

    image-20200518002523608

    解压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
    

    image-20200518002651681

    创建存储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
    

    image-20200517235315856

    4.为zookeeper提供myid

    在mfyxw10.mfyxw.com主机上执行

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

    image-20200517235545585

    在mfyxw20.mfyxw.com主机上执行

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

    image-20200517235629498

    在mfyxw30.mfyxw.com主机上执行

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

    image-20200517235644959

    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
    

    image-20200518000004533

    6.启动zookeeper服务

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

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

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

    image-20200518002917954

    7.分别查看zookeeper状态信息

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

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

    image-20200518003847708

    image-20200518003857570

    image-20200518003914059

    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
    
  • 相关阅读:
    昨晚值班将发dla的程序改好后放入正式环境
    本来今天打算不带电脑去值班
    有时候你会觉得,你的不真实让人怀疑,自己却非常尴尬
    其实对于公司的事情分布,我是昨天没有干什么
    异常处理
    反射及内置方法
    绑定方法与非绑定方法
    面向对象之多态
    面向对象之封装
    面向对象三大特性
  • 原文地址:https://www.cnblogs.com/Heroge/p/12907948.html
Copyright © 2011-2022 走看看