进一步完善我们的ansible部署脚本
kubeadm是Kubernetes官方供给的用于快速安置Kubernetes集群的工具,陪同Kubernetes每个版本的颁布城市同步更新,kubeadm会对集群配置方面的一些实践做调解,通过尝试kubeadm可以学习到Kubernetes官方在集群配置上一些新的最佳实践。
在Kubernetes的文档Creating a single master cluster with kubeadm中已经给出了目前kubeadm的主要特性已经处于beta状态了,在2018年将进入GA状态,说明kubeadm离可以在出产环境中使用的距离越来越近了。
固然我们线上不变运行的Kubernetes集群是使用ansible以二进制形式的部署的高可用集群,这里体验Kubernetes 1.12中的kubeadm是为了跟从官方对集群初始化和配置方面的最佳实践,进一步完善我们的ansible部署脚本。
系统环境筹备 环境 ip hostname OS k8s-role192.168.2.45 k8s-master-45 centos 7 master
192.168.2.46 k8s-work-46 centos7 work
192.168.2.47 k8s-work-47 centos7 work
系统配置
hosts
cat /etc/hosts 192.168.2.45 k8s-master-45 192.168.2.46 k8s-work-46 192.168.2.47 k8s-work-47禁用selinux,firewalld
# 禁用selinux vi /etc/selinux/config SELINUX=disabled # 禁用firewalld systemctl stop firewalld systemctl disable firewalld内核配置
配置网桥参数,使得流量不会绕过iptable
禁用swap
swapoff -a # 姑且 # 永久,注释swap相关 vim /etc/fstab #/dev/mapper/centos-swap swap swap defaults 0 0 mount -a reboot安置docker-ce
需要注意的是,Kubernetes 1.12已经针对Docker的1.11.1, 1.12.1, 1.13.1, 17.03, 17.06, 17.09, 18.06等版本做了验证,最低撑持的Docker版本是1.11.1,最高撑持是18.06,Docker最新版本已经是18.09了,故我们安置时需要指定版本为18.06.1-ce
yum install -y yum-utils device-mapper-persistent-data lvm2 yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo yum install docker-ce-18.06.1.ce-3.el7 -y systemctl start docker systemctl enable docker调解时区
时区不同错误,时间差较大,证书验证会欠亨过
每个节点进行安置
yum源
安置
yum install -y kubelet kubeadm kubectl ipvsadm 使用kubeadm init初始化集群设置kubelet开机启动
systemctl enable kubelet.servicekubeadm配置文件
在kubeadm v1.11+版本中,增加了一个kubeadm config print-default命令,可以让我们便利的将kubeadm的默认配置输出至文件中,改削本钱身想要的
# cat kubeadm.yaml apiVersion: kubeadm.k8s.io/v1alpha2 kind: MasterConfiguration controllerManagerExtraArgs: horizontal-pod-autoscaler-use-rest-clients: "true" horizontal-pod-autoscaler-sync-period: "10s" node-monitor-grace-period: "10s" apiServerExtraArgs: runtime-config: "api/all=true" kubernetesVersion: "stable-1.12" # 指定版本v1.12.2 imageRepository: registry.aliyuncs.com/google_containers # 指定阿里云的镜像库镜像获取
这种部署方法最蛋疼的处所就是拉取镜像了,主要是下面几个镜像,,也可以从国内pull到本地从头打tag
初始化集群
kubeadm init --config kubeadm.yaml从头初始化可以执行
kubeadm reset温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/web/32411.html
- 上一篇:CSS 断根默认格局
- 下一篇:安装对应版本即可