主页 > Linux > 使用Kubespray自动化部署Kubernetes 1.13.1

使用Kubespray自动化部署Kubernetes 1.13.1

使用Kubespray自动化部署Kubernetes 1.13.1

前言

部署Kubernetes除了手动方式外,还有诸如Kubeadm、Kubespray、Breeze、Rancher、kargo等多种自动化方式。工具没有好坏之分,能干事、效率高就行。这里,笔者仍使用Kubespray部署当前K8s最新版本(用着真的很贴身),可自动化部署HA集群、可灵活定制开发、高稳定性等。

本篇将介绍如何在不用科学上网的背景下,快速自动化部署K8s集群。那么,开始吧!

初始化环境

环境说明

环境实在有限,只有一台机器,想玩HA集群也没环境啊

主机名IP地址角色K8s172.16.0.180Master+node

环境为Centos 7系统,各节点配置hosts和hostname,如

cat /etc/hosts172.16.0.180 K8s

关闭防火墙等

sed -i 's/SELINUX=*/SELINUX=disabled/' /etc/selinux/config

systemctl disable firewalld && systemctl stop firewalld

Kubernetes 1.8开始要求关闭系统的Swap交换分区,方法如下

swapoff -a && echo "vm.swappiness=0" >> /etc/sysctl.conf && sysctl -p && free –h

Docker从1.13版本开始调整了默认的防火墙规则,禁用了iptables filter表中FOWARD链,这样会引起Kubernetes集群中跨Node的Pod无法通信,在各个Docker节点执行下面的命令:

iptables -P FORWARD ACCEPT

配置ssh key 认证。确保本机也可以 ssh 连接,否则下面部署失败

ssh-keygen -t rsa -N ""cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

更新系统内核为 4.4.x , CentOS 默认为3.10.x

rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.orgrpm -Uvh 
yum --enablerepo=elrepo-kernel install -y kernel-lt kernel-lt-devel

grub2-set-default 0

重启系统

reboot

增加内核配置

vim /etc/sysctl.conf# dockernet.bridge.bridge-nf-call-iptables = 1net.bridge.bridge-nf-call-ip6tables = 1

使其内核配置生效

sysctl -p

安装kubespray

安装 centos的epel源

yum -y install epel-release

make缓存

yum clean all && yum makecache

安装软件,ansible 必须 >= 2.7

yum install -y python-pip python34 python-netaddr python34-pip ansible git

下载源码,当前kubespray项目的master分支默认安装k8s 1.13.1版本

git clone https://github.com/kubernetes-sigs/kubespray

安装 kubespray 依赖,若无特殊说明,后续操作均在~/kubespray目录下执行

cd kubespray

pip install -r requirements.txt
说点什么吧
  • 全部评论(0
    还没有评论,快来抢沙发吧!