栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

自动化工具-设置k8s安装前的计算机环境

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

自动化工具-设置k8s安装前的计算机环境

博客主页:https://tomcat.blog.csdn.net
博主昵称:农民工老王
主要领域:Java、Linux、K8S
期待大家的关注点赞收藏⭐留言

目录
  • 代码
  • 使用方式

最近部署数个K8S集群,角色部署前的环境设置比较麻烦。于是自己写了个自动化脚本,此脚本仅适用于Centos 或Red Hat系统。

代码
#!/bin/bash

# hosts配置文件的路径,相对路径和绝对路径都可以
hostsPath="host.txt"
# 默认的hostName=hostNameStrPrefix+ip地址最后一部分+点号+全限定域名后缀
# 全限定域名前缀,用于生成默认hostname,如果确定hosts配置文件中包含本机的ip和hostname,则可以填写为空字符串
hostNameStrPrefix="k8s"
# 全限定域名后缀,用于生成默认hostname,如果确定hosts配置文件中包含本机的ip和hostname,则可以填写为空字符串
hostNameStrSuffix="laowang.cn"
# 当前最新内核的主版本号
kernelVersion="5"
# docker镜像仓库地址
# 如果没有,则为空字符串;如果填写,则需要提供证书文件,证书文件名为"${registryHost}.crt",且放置在与脚本相同的文件夹中
registryHost="registry.laowang-dev.cn"
# 仓库用户名,如果没有,则为空字符串
registryUser="laowang"
# 仓库密码,如果没有,则为空字符串
registryPassWord="laowang"

output_red() {
  echo -e "33[31m$1 33[0m"
}
output_yellow() {
  echo -e "33[33m$1 33[0m"
}
output_green() {
  echo -e "33[32m$1 33[0m"
}
output_blue() {
  echo -e "33[36m$1 33[0m"
}
output_flicker() {
  echo -e "33[5m$1 33[0m"
}
# 不需要设置
ipStr=""
hostNameStr=""
getDefaultHostName(){
 local ifconfigStr=$(ifconfig | grep 192.168)
 local ifconfigArray=(${ifconfigStr})
 ipStr="${ifconfigArray[1]}"
 echo "检测到本机ip地址为:${ipStr}"
 local catStr=$(cat ${hostsPath}|grep "${ipStr}")
 if [ "ja${catStr}" = "ja" ]; then
   local ipArray=(${ipStr//./ })
   hostNameStr="${hostNameStrPrefix}${ipArray[3]}.${hostNameStrSuffix}"
   echo "${ipStr}    $hostNameStr" >> ${hostsPath}
   output_yellow "警告:hosts配置文件中未包含本机IP,现已经设置默认的hostname(${hostNameStr}),请注意将此信息同步到其他计算机中。"
 else
   local catArray=($catStr)
   hostNameStr=${catArray[1]}
 fi

}
if [  -f "${hostsPath}"  ]; then
  getDefaultHostName
else
  output_red "缺失hosts配置文件。"
  echo "退出中..."
  exit 1
fi

output_blue "--升级Linux内核——————————————————————————————————"
yum install -y yum-utils
#导入ELRepo仓库的公钥
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
#为yum安装ELRepo仓库
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm

#安装最新内核
yum --enablerepo=elrepo-kernel install  -y kernel-ml
#设置最新的内核
awkResultNum=`sudo awk -F' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg |grep  -c "CentOS Linux (${kernelVersion}."`
if [ 1 -ne  ${awkResultNum} ]; then
  output_yellow "警告:符合条件内核数量异常,请稍后自行选择Linux内核。"
else
  awkResult=`sudo awk -F' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg |grep  "CentOS Linux (${kernelVersion}."`
  grub2-set-default  ${awkResult:0:1}
fi

output_blue "--设置时间同步——————————————————————————————————"
# 设置时间
timedatectl set-timezone Asia/Shanghai
yum install -y ntp
cat>/etc/sysconfig/ntpd< /etc/hostname
hostsStr=(cat ${hostsPath})
cat>/etc/hosts< 
使用方式 

1 复制上文中的脚本,参照脚本中的注释,将开头的7个参数的值,按照您的实际需要进行修改。然后写入Linux,并赋予其可执行权限。

2 将hosts配置信息写入Linux。如:

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.130.179    k8s179.laowang.cn
192.168.130.180    k8s180.laowang.cn
192.168.130.183    k8s183.laowang.cn
192.168.130.184    k8s184.laowang.cn
192.168.130.185    k8s185.laowang.cn

3 将crt证书文件传入Linux。

4 确保脚本、hosts配置文件、crt证书在同一个文件夹。其中crt证书可以没有。

5 执行脚本。


如需转载,请注明本文的出处:农民工老王的CSDN博客https://blog.csdn.net/monarch91 。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/871585.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号