基于Centos7 部署kubernetes实践
作者:互联网
Centos7
- Linux 5.4.138-1.el7.elrepo.x86_64
docker
- 20.10.8
Kubernetes
- v1.21.3
- flannel v0.14.0
nodes
- master | 192.168.181.135 | 2core2g
- node1 | 192.168.181.136 | 2core4g
- node2 | 192.168.181.137 | 2core4g
目录
一.Centos系统优化
1.更换yum源
首先在国内镜像源,如华为源下载个Centos7的minimal iso镜像,安装后,先更换为阿里云的国内yum源。
# 备份原系统的yum源
cd /etc/yum.repo.d
mkdir bak
mv *.repo bak/
# 下载阿里云的yum源
yum install -y wget
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
或者
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum clean all
yum makecache
yum update
yum upgrade
# 新装的server没有ifconfig命令
yum install -y net-tools
2.配置静态ip
本实验基于NAT
模式新建三台虚拟机,以master节点为例,其他从节点类似。
# 查看网卡 -> 通常是 ens33
ifconfig | ip addr
# 修改配置文件
cp /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/ifcfg-ens33.bak
vi /etc/sysconfig/network-scripts/ifcfg-ens33
---修改后---
BOOTPROTO="static"
NAME="ens33"
DEVICE="ens33"
ONBOOT="yes"
IPADDR=192.168.181.135
NETMASK=255.255.255.0
GATEWAY=192.168.181.2
DNS1=114.114.114.114
-----------
# 重启网卡
service network restart
ifconfig | ip addr
3.配置hostname
永久修改主机名,以master为例,其他类似。
# master节点,node1 node2同样设置hostname
hostnamectl set-hostname master
# exit 后重新 login
# 修改hosts文件,追加模式
cat >> /etc/hosts << EOF
> 192.168.181.135 master
> 192.168.181.136 node1
> 192.168.181.137 node2
> EOF
# 分发hosts文件,输入密码后确认
scp /etc/hosts node1:/etc/hosts
scp /etc/hosts node2:/etc/hosts
4.配置ssh互信
在master节点上配置,然后分发即可
# 生成公私钥,一路回车
ssh-keygen
# 分发,不指定公钥默认用 /root/.ssh/id_rsa.pub
ssh-copy-id root@node1
ssh-copy-id root@node2
# 验证ssh互信,首次选择yes
ssh node1
ssh node2
5..升级内核
Centos7的kernel版本为3.10,运行docker和k8s的时候,会出错,升级较新版本的kernel。
# 查看内核信息
uname -rs
# elrepo pub key
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
# install elrepo, choose u own version
yum install https://www.elrepo.org/elrepo-release-7.0-4.el7.elrepo.noarch.rpm
# 查看内核版本
yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
# 安装内核 lt代表long term 长期支持版本
yum --disablerepo='*' --enablerepo=elrepo-kernel install kernel-lt
# 查看配置
awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg
# 0 : CentOS Linux (4.4.186-1.el7.elrepo.x86_64) 7 (Core)
# 1 : CentOS Linux (3.10.0-957.27.2.el7.x86_64) 7 (Core)
# 2 : CentOS Linux (3.10.0-957.21.3.el7.x86_64) 7 (Core)
# 默认用更新的内核,重启主机
grub2-set-default 0 && reboot
6.脚本运行-> set_env.sh
#!/bin/bash
# 1.配置国内源
cd /etc/yum.repo.d
mkdir bak
mv *.repo bak/
yum install -y wget
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum clean all
yum makecache
yum update
yum upgrade
yum install -y net-tools
# 2.配置静态IP
cp /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/ifcfg-ens33.bak
cat > /etc/sysconfig/network-scripts/ifcfg-ens33 << EOF
BOOTPROTO="static"
NAME="ens33"
DEVICE="ens33"
ONBOOT="yes"
IPADDR=192.168.181.135
NETMASK=255.255.255.0
GATEWAY=192.168.181.2
DNS1=114.114.114.114
EOF
service network restart
# 3.配置hostname,手动分发hosts文件
hostnamectl set-hostname master
cat >> /etc/hosts << EOF
192.168.181.135 master
192.168.181.136 node1
192.168.181.137 node2
EOF
# 4.ssh互信参考上面,下同
# 5.升级内核
二.docker安装
三.kubernetes安装
标签:repo,kubernetes,部署,elrepo,Centos7,etc,yum,ssh,ens33 来源: https://www.cnblogs.com/davis12/p/15129665.html