k8s 环境搭建以及虚拟机准备
虚拟机准备配置静态IP地址参考 https://tenten.blog.csdn.net/article/details/103684856# 首先需要配置静态IPmaster1 10.0.10.100 192.168.56.100worker110.0.10.100 192.168.56.101worker210.0.10.100 192.168.56.102# 两个网卡配置,可能名字会不同,配
·
虚拟机准备
配置静态IP地址
参考 https://tenten.blog.csdn.net/article/details/103684856
# 首先需要配置静态IP
master1 10.0.10.100 192.168.56.100
worker1 10.0.10.100 192.168.56.101
worker2 10.0.10.100 192.168.56.102
# 两个网卡配置,可能名字会不同,配置以master为例
vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
vi /etc/sysconfig/network-scripts/ifcfg-enp0s8
ifcfg-enp0s3
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static" # 固定ip ,不要dhcp, 不然新建重启 ip可能会变。
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="enp0s3"
UUID="94a0a894-91f8-4c72-9465-5c6227d5e100"
DEVICE="enp0s3"
ONBOOT="yes"
IPADDR=10.0.10.100
NETMASK=255.255.255.0
GATEWAY=10.0.10.1
ifcfg-enp0s8
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp0s8
UUID=4110ba38-9872-4a80-9bd8-4ec2d7c83100
DEVICE=enp0s8
ONBOOT=yes
IPADDR=192.168.56.100
NETMASK=255.255.255.0
GATEWAY=192.168.56.1
修改主机名
# 修改主机名为 master, 其他机器master改为worker1 worker2
hostnamectl set-hostname master
# 验证
hostname
主机名解析
vim /etc/hosts
192.168.56.100 master1
192.168.56.101 worker1
192.168.56.102 worker2
# ping worker1 验证
关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
# 验证
firewall-cmd --state
# 输出以下内容则成功关闭防火墙
not running
修改 SELINUX
setenforce 0
sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
关闭swap分区
vim /etc/fstab
# 将swap一行注释掉,然后重启服务器
# /dev/mapper/centos-swap swap swap defaults 0 0
# 重启后进行验证, swap 所有参数变为0则正常
free -m
主机时间同步
# 下载时间同步工具
yum -y install ntpdate
# 与阿里云进行时间同步
ntpdate time1.aliyun.com
# 将时间同步放入定时任务中,每小时执行一次
0 */1 * * * ntpdate time1.aliyun.com
# 编辑
crontab -e
# 查看
crontab -l
添加网桥过滤的方法
# 添加网桥过滤及地址转发
vim /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
vm.swappiness = 0
# 加载 网桥过滤模块
modprobe br_netfilter
# 验证
lsmod | grep br_netfilter
# 刷新配置
sysctl -p /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
vm.swappiness = 0
开启ipvs
# 安装软件
yum -y install ipset ipvsadm
# 加载需要加载的模块,因为太多,所以写在一起
cat > /etc/sysconfig/modules/ipvs.modules << EOF
modprobe -- ip_vs
modprobe -- ip_vs_rr
modprobe -- ip_vs_wrr
modprobe -- ip_vs_sh
modprobe -- nf_conntrack_ipv4
EOF
# 权限
chmod 755 /etc/sysconfig/modules/ipvs.modules
# 执行
bash /etc/sysconfig/modules/ipvs.modules
# 验证
lsmod | grep -e ip_vs -e nf_conntrack_ipv4
安装docker-ce
# 如果你之前安装过 docker,请先删掉
sudo yum remove docker docker-common docker-selinux docker-engine
# 安装一些依赖
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# 下载docker源 /etc/yum.repos.d/docker-ce.repo
wget -O /etc/yum.repos.d/docker-ce.repo https://download.docker.com/linux/centos/docker-ce.repo
# 把软件仓库地址替换为 TUNA:
sudo sed -i 's+download.docker.com+mirrors.tuna.tsinghua.edu.cn/docker-ce+' /etc/yum.repos.d/docker-ce.repo
# 安装
sudo yum makecache fast
sudo yum install docker-ce
# 查看可按照的docker版本
yum list docker-ce.x86_64 --showduplicates | sort -r
# 安装指定版本
yum -y install --setopt=obsoletes=0 docker-ce-18.06.3.ce-3.e17
systemctl start docker
systemctl enable docker
docker version
vim /usr/lib/systemd/system/docker.service
# 将下面修改,删掉-H 以及以后的内容
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
ExecStart=/usr/bin/dockerd
# 修改
vim /etc/docker/daemon.json
{
"exec-opts": ["native.cgroupdriver=systemd"]
}
安装k8s
配置 Kubernetes 镜像
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
# 查看kubeadm源是否可用,会提示key, y确认即可
yum list | grep kubeadm
安装kubeadm kubelet kubectl
# 安装 kubeadm kubelet kubectl
yum install -y kubeadm-1.18.6-0 kubelet-1.18.6-0 kubectl-1.18.6-0
# 修改cgroup 保持与docker一致
vim /etc/sysconfig/kubelet
KUBELET_EXTRA_ARGS="--cgroup-driver=systemd"
# 开启自启动
systemctl enable kubelet
更多推荐
已为社区贡献2条内容
所有评论(0)