通过kubeadm离线安装k8s集群v1.15

更多内容,请查看博客原文:通过kubeadm离线安装k8s集群v1.15

安装说明

这篇文章将描述在生产环境中,如何搭建k8s集群。

为什么使用kubeadm来安装

kubeadm是官方社区推出的一个用于快速部署kubernetes集群的工具。这个工具能通过两条指令快速完成一个kubernetes集群的部署。

网上很多人说通过二进制安装能了解到配置的细节,其实通过kubeadm安装也能查看到配置的细节。

可以自动生成证书,对初学者带来了不少便利。

网络环境

我们完全模拟生产环境中,不可以访问外部互联网的情况。

基础的yum源是有提供的,像什么docker-ce、kubernetes的源是没有的。

k8s.gcr.io、quay.io这些域名也是不可以访问的。

准备环境

如果没有特殊提及,安装及操作需要在所有master及node节点上执行。

机器网络及配置

复制三台虚拟机。

主机名 IP 节点类型 最低配置
k8s-master 172.16.64.233 master节点 CPU 2Core, Memory 1GB
k8s-node1 172.16.64.232 node节点 CPU 1Core, Memory 1GB
k8s-node2 172.16.64.235 node节点 CPU 1Core, Memory 1GB

master节点需要至少2个CPU,不然会报如错误:

error execution phase preflight: [preflight] Some fatal errors occurred:
	[ERROR NumCPU]: the number of available CPUs 1 is less than the required 2

关闭防火墙

systemctl stop firewalld
systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.

关闭selinux

SELINUX=enforcing替换成SELINUX=disabled

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

查看一下selinux的状态。

getenforce
Permissive

关闭Swap

swapoff -a
cp /etc/fstab /etc/fstab_bak
cat /etc/fstab_bak | grep -v swap > /etc/fstab

grep -v swap是查找不包含swap的行。

查看一下swap的情况,Swap已经全部为0了。

free -m
              total        used        free      shared  buff/cache   available
Mem:            972         142         715           7         114         699
Swap:             0           0           0

设置主机名

在master节点上设置主机名。

hostnamectl set-hostname k8s-master

在node1节点上设置主机名。

hostnamectl set-hostname k8s-node1

在node2节点上设置主机名。

hostnamectl set-hostname k8s-node2

在master上查看主机名。

hostname
k8s-master

设置hosts

>>表示文件末尾追加记录。

cat >> /etc/hosts <<EOF
172.16.64.233   k8s-master
172.16.64.232   k8s-node1
172.16.64.235   k8s-node2
EOF

修改sysctl.conf

暂时未修改,装docker的时候会自动修改。可以暂时先跳过这一步。

如果未修改成功,在执行docker info命令时,会显示如下提示信息。

WARNING: bridge-nf-call-iptables is disabled
WARNING: bridge-nf-call-ip6tables is disabled
cat /proc/sys/net/bridge/bridge-nf-call-iptables
0
cat /proc/sys/net/bridge/bridge-nf-call-ip6tables
0

可通过以下方法来做修改。

# 修改 /etc/sysctl.conf
# 如果有配置,则修改
sed -i "s#^net.ipv4.ip_forward.*#net.ipv4.ip_forward=1#g"  /etc/sysctl.conf
sed -i "s#^net.bridge.bridge-nf-call-ip6tables.*#net.bridge.bridge-nf-call-ip6tables=1#g"  /etc/sysctl.conf
sed -i "s#^net.bridge.bridge-nf-call-iptables.*#net.bridge.bridge-nf-call-iptables=1#g"  /etc/sysctl.conf
# 可能没有,追加
echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
echo "net.bridge.bridge-nf-call-ip6tables = 1" >> /etc/sysctl.conf
echo "net.bridge.bridge-nf-call-iptables = 1" >> /etc/sysctl.conf
sysctl -p

安装Docker

下载docker

由于我们在生产环境中是没法连接互联网的,所以要提前准备好docker rpm包。

我们在另一台可以联网的机器上下载安装所需的软件。

添加docker yum源

在联网的机器上,下载docker

配置docker-ce源

cd /etc/yum.repos.d/
wget https://download.docker.com/linux/centos/docker-ce.repo

查看docker所有版本

yum list docker-ce --showduplicates
...
docker-ce.x86_64                            18.06.3.ce-3.el7                                   docker-ce-stable
docker-ce.x86_64                            3:18.09.0-3.el7                         
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值