zoukankan      html  css  js  c++  java
  • k8s之一键部署docker及k8s脚本(适用于centos7,cnetos8及ubuntu)

    #!/bin/sh
    set -e
    COLOR="echo -e \E[1;32m"
    COLOR1="echo -e \E[1;31m"
    END="\E[0m"
    #ubuntu依赖包
    ubuntu_page="
    wget
    apt-transport-https
    ca-certificates
    curl
    software-properties-common
    "
    #centos依赖包
    centos_page="
    wget
    yum-utils
    device-mapper-persistent-data
    lvm2
    "
    
    #centos7安装
    install_docker_centos7() {
       . /etc/init.d/functions $> /dev/null
       ${COLOR}"开始安装 Docker....."${END}
       #安装依赖包
       for PAGE in ${centos_page};do
           rpm -q $PAGE &> /dev/null || yum -y -q install $PAGE
       done
    
       #添加源信息
       yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo && action "添加源信息成功!" || { action "添加源信息失败,请检查命令!" false ; exit; }
    
       #更新安装docker-ce
       yum makecache fast &> /dev/null
       ${COLOR}"正在安装Docker,请稍等!"${END}
       yum -y install docker-ce-19.03.9-3.el7.x86_64 containerd.io-1.3.7-3.1.el7.x86_64 docker-ce-cli-19.03.9-3.el7.x86_64 &> /dev/null
    
       #配置镜像加速器
       mkdir -p /etc/docker
       cat > /etc/docker/daemon.json <<EOF
    {
        "registry-mirrors": ["https://registry.docker-cn.com","http://hub-mirror.c.163.com","https://docker.mirrors.ustc.edu.cn"],
        "exec-opts": ["native.cgroupdriver=systemd"] 
    }
    EOF
    
       #重载配置文件
       systemctl daemon-reload
    
       #启动服务
       ${COLOR}"正在启动Docker,请稍等!"${END}
       sleep 2
       systemctl enable --now  docker && action "docker启动成功!" || action "docker启动失败,请检查配置文件!" false
    }
    
    #centos8安装
    install_docker_centos8() {
       . /etc/init.d/functions $> /dev/null
       ${COLOR}"开始安装Docker,请稍等!"${END} 
       #安装依赖包
       for PAGE in ${centos_page};do
           rpm -q $PAGE &> /dev/null || yum -y -q install $PAGE
       done
       yum -y install https://mirrors.aliyun.com/docker-ce/linux/centos/7/x86_64/stable/Packages/containerd.io-1.2.13-3.1.el7.x86_64.rpm &> /dev/null
       #添加源信息
       cat > /etc/yum.repos.d/docker.repo <<EOF
    [docker]
    name=docker
    gpgcheck=0
    baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/8/x86_64/stable/
    EOF
    
        #更新安装docker-ce
        yum clean all &> /dev/null 
        yum -y install docker-ce-19.03.9-3.el7.x86_64 containerd.io-1.3.7-3.1.el7.x86_64 docker-ce-cli-19.03.9-3.el7.x86_64 &> /dev/null && action "docker安装完成!" || action "docker按照失败!请检查网络及Yum源!" false
    
        #配置镜像加速器
        mkdir -p /etc/docker
        cat > /etc/docker/daemon.json <<EOF
    {
        "registry-mirrors": ["https://registry.docker-cn.com","http://hub-mirror.c.163.com","https://docker.mirrors.ustc.edu.cn"],
        "exec-opts": ["native.cgroupdriver=systemd"]
    } 
    EOF
    
        #重载配置文件
        systemctl daemon-reload
    
        #启动服务
        ${COLOR}"正在启动Docker,请稍等!"${END}
        sleep 2
        systemctl enable --now  docker && action "docker启动成功!" || action "docker启动失败,请检查配置文件!" false
    }
    
    #ubuntu安装
    install_docker_ubuntu() {
        ${COLOR}"开始安装 Docker....."${END}
        #更新源及安装依赖包
        apt-get update &> /dev/null
        for PAGE in ${ubuntu_page};do
            dpkg -s $PAGE &> /dev/null || apt -y install $PAGE &> /dev/null
        done
    
        #安装GPG证书
        curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
    
        #写入软件源信息
        echo 'deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu bionic stable' >> /etc/apt/sources.list
        #更新源信息
        apt -y update &> /dev/null
    
        #配置镜像加速器
        mkdir -p /etc/docker
        cat > /etc/docker/daemon.json <<EOF
    {
         "registry-mirrors": ["https://registry.docker-cn.com","http://hub-mirror.c.163.com","https://docker.mirrors.ustc.edu.cn"]
    }
    EOF
    
        #安装docker-ce
        ${COLOR}"正在安装Docker,请稍等...."${END}
        apt-get -y install docker-ce &> /dev/null && ${COLOR}"docker启动成功!"${END} || ${COLOR1}"docker启动失败,请检查配置文件!"${END}
    }
    
    install_k8s_centos() {
    
        #添加k8s源
        cat <<EOF > /etc/yum.repos.d/kubernetes.repo
    [kubernetes]
    name=Kubernetes
    baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
    enabled=1
    gpgcheck=1
    repo_gpgcheck=1
    gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
    EOF
        #关闭交换分区(临时),永久需注释掉/etc/fastb文件中与交换分区相关内容
            swapoff -a
        
        #设置selinux
        setenforce 0
    
        #安装
        ${COLOR}"正在安装k8s相关软件,请稍等!"$END
        yum install -y kubelet kubeadm kubectl && ${COLOR}"k8S相关软件已安装完成!"$END || ${COLOR1}"k8S相关软件安装失败,请检查!"$END
    
        #设置开机启动
        systemctl enable --now kubelet && ${COLOR}"k8S启动成功!"$END || ${COLOR}"k8S启动失败,请检查配置文件!"$END
    }
    
    install_k8s_ubuntu() {
        ${COLOR}"开始安装k8s,请稍等!"$END
    
        #关闭交换分区(临时),永久需注释掉/etc/fastb文件中与交换分区相关内容
            swapoff -a
    
        #添加k8s源
        apt-get update && apt-get install -y apt-transport-https
        curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | apt-key add - 
        cat <<EOF >/etc/apt/sources.list.d/kubernetes.list
    deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main
    EOF
        
        #更新源
        apt-get update
        
        #安装
        apt-get install -y kubelet kubeadm kubectl && ${COLOR}"k8S启动成功!"$END || ${COLOR}"k8S启动失败,请检查配置文件!"$END
    }
    
    
    #系统类型
    ostype1=`awk -F'"' '/^VERSION_ID/{print $2}' /etc/os-release` 
    ostype2=`awk -F'"' '/^NAME/{print $2}' /etc/os-release`
    if [[ $ostype2 == "CentOS Linux" ]];then
        if [ $ostype1 = 8 ];then
            rpm -q docker-ce &> /dev/null && { ${COLOR}"Docker已安装,开始安装k8s!"${END};install_k8s_centos; } || { install_docker_centos8;install_k8s_centos; }
        elif [ $ostype1 = 7 ];then
        rpm -q docker-ce &> /dev/null && { ${COLOR}"Docker已安装,开始安装k8s!"${END};install_k8s_centos; } || { install_docker_centos8;install_k8s_centos; }
        fi
    elif [[ $ostype2 == "Ubuntu" ]];then
        dpkg -s docker-ce &> /dev/null && { ${COLOR}"Docker已安装,开始安装k8s!"${END};install_k8s_ubuntu; } || { install_docker_ubuntu;install_k8s_ubuntu; }
    fi
  • 相关阅读:
    javaweb基础(33)_jdbc的crud操作
    javaweb基础(32)_jdbc学习入门
    javaweb基础(31)_国际化(i18n)
    javaweb基础(30)_EL函数库
    javaweb基础(29)_EL表达式
    javaweb基础(28)_jstl的核心标签
    javaweb基础(27)_jsp标签库实例
    javaweb基础(26)_jsp标签库开发二
    javaweb基础(25)_jsp标签实例一
    选择之难
  • 原文地址:https://www.cnblogs.com/nj-duzi/p/14069425.html
Copyright © 2011-2022 走看看