使用kubeadm 安装 kubernetes 1.15.1
Kubernetes作为Google开源的容器运行平台,受到了大家的热捧。搭建一套完整的kubernetes平台,也成为试用这套平台必须迈过的坎儿。kubernetes1.5版本以及之前,安装还是相对比较方便的,官方就有通过yum源在centos7安装kubernetes。但是在kubernetes1.6之后,安装就比较繁琐了,需要证书各种认证,对于刚接触kubernetes的人来说很不友好。
Copy
docker : kubernetes依赖的容器运行时 kubelet: kubernetes最核心的agent组件,每个节点都会启动一个,负责像pods及节点的生命周期等管理 kubectl: kubernetes的命令行控制工具,只可以在master上使用. kubeadm: 用来bootstrap kubernetes. 初始化一个k8s集群. 架构说明: 配置hostCopy
[[email protected] /]# cat /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 18.16.202.163 master 18.16.202.227 slaver1 18.16.202.95 slaver2 配置代理上网:etc/profile文件内添加:
Copy
export http_proxy="http://18.16.202.169:8118" export https_proxy="https://18.16.202.169:8118" printf -v no_ip_proxy ‘%s,‘ 18.16.202.{1..255}; export no_proxy=.baidu.com,.aliyun.com,.aliyuncs.com,.360doc.com,.163.com,.163yun.com,.tencent.com,qq.com,.daocloud.io,.cn,local,localhost,localdomain,127.0.0.1,"${no_ip_proxy%,}"注意这里不能使用星号模糊匹配,Linux中不支持
Copy
ip_host="192.168.3.7:8118" export http_proxy="http://${ip_host}" export https_proxy="https://${ip_host}" printf -v no_ip_proxy ‘%s,‘ 192.168.236.{1..255}; export no_proxy=.baidu.com,.aliyun.com,.aliyuncs.com,.360doc.com,.163.com,.163yun.com,.tencent.com,qq.com,.daocloud.io,.cn,local,localhost,localdomain,127.0.0.1,"${no_ip_proxy%,}"如果要取消代理,可以直接命令设置:
Copy
unset https_proxy unset http_proxy再次使用代理:
Copy
source /etc/profile 所有节点前置配置: 关闭防火墙Copy
systemctl stop firewalld systemctl disable firewalldiptables对bridge的数据进行处理:
创建/etc/sysctl.d/k8s.conf文件,添加如下内容:
Copy
net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1 net.ipv4.ip_forward = 1执行命令使修改生效。
Copy
modprobe br_netfilter sysctl -p /etc/sysctl.d/k8s.conf 禁用SELinuxCopy
setenforce 0编辑文件/etc/selinux/config,将SELINUX修改为disabled,如下:
Copy
sed -i ‘s/SELINUX=permissive/SELINUX=disabled/‘ /etc/sysconfig/selinux #SELINUX=disabled 关闭系统SwapKubernetes 1.8开始要求关闭系统的Swap,如果不关闭,默认配置下kubelet将无法启动。方法一,通过kubelet的启动参数–fail-swap-on=false更改这个限制。方法二,关闭系统的Swap。
Copy
swapoff -a修改/etc/fstab文件,注释掉SWAP的自动挂载,使用free -m确认swap已经关闭。
Copy
#注释掉swap分区 [[email protected] /]# sed -i ‘s/.*swap.*/#&/‘ /etc/fstab #/dev/mapper/centos-swap swap swap defaults 0 0 [[email protected] /]# free -m total used free shared buff/cache available Mem: 962 154 446 6 361 612 Swap: 0 0 0永久禁用swap
Copy
echo "vm.swappiness = 0">> /etc/sysctl.conf kube-proxy开启ipvs的前置条件由于ipvs已经加入到了内核的主干,所以为kube-proxy开启ipvs的前提需要加载以下的内核模块:
ip_vs
ip_vs_rr
ip_vs_wrr
ip_vs_sh
nf_conntrack_ipv4
在所有的Kubernetes节点node1和node2上执行以下脚本:
Copy
cat > /etc/sysconfig/modules/ipvs.modules <<EOF #!/bin/bash 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上面脚本创建了的/etc/sysconfig/modules/ipvs.modules文件,保证在节点重启后能自动加载所需模块。 使用lsmod | grep -e ip_vs -e nf_conntrack_ipv4命令查看是否已经正确加载所需的内核模块。
接下来还需要确保各个节点上已经安装了ipset软件包。
Copy
yum install -y ipset为了便于查看ipvs的代理规则,最好安装一下管理工具ipvsadm 。
Copy
yum install -y ipvsadm如果以上前提条件如果不满足,则即使kube-proxy的配置开启了ipvs模式,也会退回到iptables模式。
安装docker温馨提示: 本文由杰米博客推荐,转载请保留链接: https://www.jmwww.net/file/web/10027.html
- 上一篇:php跨域的几种方式
- 下一篇:(一)Kubernetes 系统基础