美文网首页设计方案云计算丶Docker丶K8s
Rancher安装k8s及K8S下tomcat\ELK场景应用

Rancher安装k8s及K8S下tomcat\ELK场景应用

作者: 张都尉 | 来源:发表于2019-05-30 16:12 被阅读0次

    一、K8S安装

    本次安装我们选择rancher安装k8s,对应支持版本请参考:

    https://rancher.com/docs/rancher/v1.6/zh/hosts/#docker

    Docker:1.12.3

    Kubernetetes:v1.8.3

    1.****准备前工作 3台centos6.7

    Master:192.168.3.41

    Node1:192.168.3.42

    Node2:192.168.3.43

    1.1修改各节点主机 hostname vi /etc/hostname

    1.2关闭seliunx:

    sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
    
    setenforce 0
    

    1.3关闭防火墙:

    systemctl stop firewalld
    systemctl disable firewalld
    

    1.4设置kubernetes阿里源(不再访问海外源,以节省时间)

    cat <<EOF > /etc/yum.repos.d/kubernetes.repo
    
    [kubernetes]
    name=Kubernetes
    baseurl=[https](https://www.centos.bz/tag/https/)://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
    enabled=1
    gpgcheck=0
    EOF
    

    1.5更新源:yum -y update
    1.6关闭swap交换分区执行命令 swapoff -a
    1.7 打开/etc/sysctl.conf
    检查是否有net.ipv4.ip_forward = x这样的配置;
    如果有就保证x等于1,如果没有就加一行:net.ipv4.ip_forward = 1
    修改并保存后,执行命令sysctl -p使配置生效;
    执行命令sysctl -a|grep “ip_forward”,查看最新的配置,应该有如下内容:

    net.ipv4.ip_forward = 1
    net.ipv4.ip_forward_use_pmtu = 0
    

    ##############################重启三台服务器###########################
    2.安装Docker1.2.3**
    2.1 三台主机均执行docker安装命令

    mkdir -p ~/docker && cd ~/docker && wget http://yum.dockerproject.org/repo/main/centos/7/Packages/docker-engine-selinux-1.12.3-1.el7.centos.noarch.rpm && wget http://yum.dockerproject.org/repo/main/centos/7/Packages/docker-engine-1.12.3-1.el7.centos.x86_64.rpm && wget http://yum.dockerproject.org/repo/main/centos/7/Packages/docker-engine-debuginfo-1.12.3-1.el7.centos.x86_64.rpm && yum localinstall -y docker-engine-selinux-1.12.3-1.el7.centos.noarch.rpm docker-engine-1.12.3-1.el7.centos.x86_64.rpm docker-engine-debuginfo-1.12.3-1.el7.centos.x86_64.rpm
    

    2.2设置docker开机启动 systemctl enable docker

    2.3启动docker systemctl start docker

    2.4查看docker版本 docker version

    3.设置Docker镜像加速
    查看docker此时如果用docker pull命令下载镜像,本地会连接hub.docker.com网站去下载,耗时较长,因此我们可以设置docker镜像加速,使得本地连接去国内镜像仓库下载,镜像加速的设置有很多种,本章以阿里云的设置为例,步骤如下:
    3.1 建立目录:mkdir -p /etc/docker
    3.2 设置国内镜像

    tee /etc/docker/daemon.json <<-'EOF'
    {
      "registry-mirrors": ["https://xwx6wxd1.mirror.aliyuncs.com"]
    }
    EOF
    

    3.3 重新加载配置后重启服务

    systemctl daemon-reload
    systemctl restart docker
    

    4.安装rancher
    4.1 执行安装代码

    docker run -d --restart always --name rancher-server -p 8080:8080 rancher/server:v1.6.11-rc3 && docker logs -f rancher-server
    

    或安装2.X版本

    sudo docker run -d --restart=unless-stopped -p 80:80 -p 443:443 rancher/rancher
    

    执行后,下载rancher镜像后会再启动容器,同时输出日志,待日志不再滚动时,打开浏览器 192.168.3.41:8080进入初始化界面,如图:



    在搭建kubernetes之前,我们先创建一个环境模板来给环境配置基本的信息
    4.2 配置面板在环境“default“下拉菜单中选择”环境管理“



    添加模板名称后,选择“kebuernetes“---编辑

    选择“rancher”版本



    弹出配置界面

    这里注意的填写的地址和名称为:
    Private Registry for Add-Ons and Pod Infra Container Image ------------- --registry.cn-shenzhen.aliyuncs.com
    Image namespace for Add-Ons and Pod Infra Container Image-------------rancher_cn
    Image namespace for kubernetes-helm Image -------------------------------rancher_cn
    Pod Infra Container Image -----------------------------------------------------rancher_cn/pause-amd64:3.0
    

    下拉后点击“设置”完成配置“



    回到主菜单 –点击创建

    完成面板配置
    4.3 创建kubernetes 点击“添加环境”



    选择k8s模板后创建



    4.4 如下图所示,在左上解选择刚创建的环境,可以看到正在设置环境,待就绪后,kebernets master节点服务设置完成

    4.5 添加主在页面上确认红框中的IP地址是不是你的master机器对外暴露的地址(多网卡的机器要关注),确认无误后点击“保存”

    4.6 拷贝脚本代码,安装node节点主机 加入两台node主机


    2.X版本 如下图



    选择master为etcd+contrl 其他node节点为work
    复制到每台并执行安装



    系统会缓慢加载主机信息

    进入UI配置界面



    ############################踩坑#####################################

    访问:http://192.168.3.41:8080/r/projects/1a8/kubernetes-dashboard:9090/# 服务不可用 可偿试更换docker 更高版本1.12.6


    /usr/lib/systemd/system/docker.service

    [service]后面添加

    ExecStartPost=/sbin/iptables -I FORWARD -s 0.0.0.0/0 -j ACCEPT

    环境清理:

    ###################### 环境清理(可选)#################################

    1)请检查有没有/var/lib/rancher/state/这个文件夹,如果有则删除;

    2)如果以前有通过Rancher安装过kubernetes,请执行命令:

    删除正在运行的容器
    docker rm -f -v $(docker ps -aq)

    删除存储卷

    ```docker volume rm $(docker volume ls)``
    删除遗留的目录

    rm -rf  /etc/kubernetes/ssl /var/lib/etcd /etc/cni /opt/cni  /var/run/calico /var/lib/rancher/state/
    rm -rf /etc/kubernetes/ssl
     rm -rf /var/lib/etcd
     rm -rf /etc/cni
     rm -rf /opt/cni
     rm -rf /var/run/calico
    

    下载1.12.6

    wget http://yum.dockerproject.org/repo/main/centos/7/Packages/docker-engine-selinux-1.12.6-1.el7.centos.noarch.rpm
    
     wget http://yum.dockerproject.org/repo/main/centos/7/Packages/docker-engine-1.12.6-1.el7.centos.x86_64.rpm
    wget http://yum.dockerproject.org/repo/main/centos/7/Packages/docker-engine-debuginfo-1.12.6-1.el7.centos.x86_64.rpm
    

    安装

    yum localinstall -y docker-engine-selinux-1.12.6-1.el7.centos.noarch.rpm docker-engine-1.12.6-1.el7.centos.x86_64.rpm docker-engine-debuginfo-1.12.6-1.el7.centos.x86_64.rpm
    

    启动

    systemctl enable docker
    systemctl start docker 
    

    查看版本

     docker version
    

    4.7 打开kubernetes UI



    4.8 创建tomcat.yml配置文件

    apiVersion: v1
    kind: Service
    metadata:
      name: tomcat001
    spec:
      type: NodePort
      ports:
           - port: 8080
             nodePort: 30018
      selector:
        name: tomcat01
    

    打开ui界面 新建



    上传tomcat.yml配置文件
    打开UI界面 –服务



    等部署完成后状态为绿色

    再建立个文件 tomcat-svc.yaml 内容如下:

    apiVersion: v1
    kind: Service
    metadata:
      name: tomcat001
    spec:
      type: NodePort
      ports:
           - port: 8080
             nodePort: 30018
      selector:
        name: tomcat001
    

    上传后查看服务



    通过node节点IP访问 192.168.3.42:30018 访问到tomcat页面



    5.安装kubectl工具

    5.1kubectl工具安装在哪里?

    kubectl是个客户端工具,可以安装在任意一台Linux、windows或者Mac电脑上,只要这个电脑能够连接master节点,本次实战我们将kubectl安装在一台全新的CentOS7机器上;我们安装在node2机器中

    5.2 下载kubctl工具

    方式1:GitHub下载,地址

    https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG-1.9.md#downloads-for-v195 下载https://dl.k8s.io/v1.9.5/kubernetes-client-linux-amd64.tar.gz

    https://github.com/zq2599/blog_demos/blob/master/k8s_tools/kubectl/linux/kubectl.zip

    方式2: curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl/bin/linux/amd64/kubectl)

    5.3设置工具 chmod +x kubectl mv ./kubectl /usr/local/bin移动到全局访问目录下

    5.4 任意目录运行kubectl


    5.5 配置参数 如图

    复制代码

    5.6 创建目录及配置文件。复制上面的代码
    mkdir ~/.kube    
    cd ~/.kube 
    vi config
    

    5.7 查看进程服务

    kubectl get service -a -o wide --all-namespaces
    
    kubectl get service
    

    二、****K8S****部署****ELK**

    1.部署前准备 因为elasticsearch运行要求vm.max_map_count内核参数必需大于262114,确认系统调过

    sysctl -w vm.max_map_count=262144
    

    镜像可以参考es官方docker镜像地址:https://www.docker.elastic.co/#

    2. ES的配置方式

    · 使用Cluster Update Setting API动态修改配置

    · 使用配置文件的方式,配置文件默认在 config 文件夹下,具体位置取决于安装方式。

    o elasticsearch.yml 配置Elasticsearch

    o jvm.options 配置ES JVM参数

    o log4j.properties 配置ES logging参数

    · 使用Prompt方式在启动时输入

    最常使用的配置方式为使用配置文件,ES的配置文件为yaml格式,格式要求和Kubernetes的编排文件一样。配置文件中可以引用环境变量,例如node.name: ${HOSTNAME}

    ES的节点

    ES的节点Node可以分为几种角色:

    · Master-eligible node,是指有资格被选为Master节点的Node,可以统称为Master节点。设置node.master: true

    · Data node,存储数据的节点,设置方式为node.data: true。

    · Ingest node,进行数据处理的节点,设置方式为node.ingest: true。

    · Trible node,为了做集群整合用的。

    对于单节点的Node,默认是master-eligible和data,对于多节点的集群,就要仔细规划每个节点的角色。

    3.单实例方式部署ELK

    单实例部署,整体创建一个ES,创建一个kibana,创建一个ES的headless服务,创建一个kibana的节点port服务,访问时通过节点port访问kibana

    如使用rancher下载yaml文件导入即可 :

    https://raw.githubusercontent.com/cocowool/k8s-go/master/elk/elk-single.yaml

    如使用k8s的kubectl节点主机导入 :

    kubectl apply -f elk-single.yaml
    

    打开K8S ui界面,等待k8创建

    完成后为打开UI的overview:


    本次介绍简单应用部署,和应用场景,k8s应用多业务场景及软件的CI\CD(如使用jenkins持续集成等)后续再进一步更新内容

    相关文章

      网友评论

        本文标题:Rancher安装k8s及K8S下tomcat\ELK场景应用

        本文链接:https://www.haomeiwen.com/subject/lpcdzqtx.html