Bootstrap

kubeadm安装Kubernetes 1.15最佳实践

前言

Kubernetes作为容器编排工具,简化容器管理,提升工作效率而颇受青睐。很多新手部署Kubernetes由于“科学上网”问题举步维艰,本文以实战经验详解kubeadm不用“科学上网”部署Kubernetes的最简方法。

一、Kubernetes简介

Kubernetes(简称K8S)是开源的容器集群管理系统,可以实现容器集群的自动化部署、自动扩缩容、维护等功能。它既是一款容器编排工具,也是全新的基于容器技术的分布式架构领先方案。在Docker技术的基础上,为容器化的应用提供部署运行、资源调度、服务发现和动态伸缩等功能,提高了大规模容器集群管理的便捷性。

K8S集群中有管理节点与工作节点两种类型。管理节点主要负责K8S集群管理,集群中各节点间的信息交互、任务调度,还负责容器、Pod、NameSpaces、PV等生命周期的管理。工作节点主要为容器和Pod提供计算资源,Pod及容器全部运行在工作节点上,工作节点通过kubelet服务与管理节点通信以管理容器的生命周期,并与集群其他节点进行通信。

二、环境准备

Kubernetes支持在物理服务器或虚拟机中运行,本次使用虚拟机准备测试环境,硬件配置信息如表所示:

Hostname ip地址 系统
master 192.168.1.31 centos7
node1 192.168.1.32 centos7

注:在所有节点上进行如下操作

1.配置主机名

#master
[root@k8s-1 ~]# echo master > /etc/hostname

#node1
[root@k8s-2 ~]# echo node1 > /etc/hostname

2.配置hosts主机名解析

cat <<EOF>>/etc/hosts
192.168.1.31 master
192.168.1.32 node1
EOF

3.关闭防火墙、selinux和swap

systemctl stop firewalld
systemctl disable firewalld
setenforce 0
sed -i "s/^SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
swapoff -a
sed -i 's/.*swap.*/#&/' /etc/fstab
reboot

4.配置内核参数

cat <<EOF> /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
n
;