天天看点

使用kubeadm方式安装kubernetes 1.10.0

使用kubeadm方式安装kubernetes 1.10.0

环境准备

docker安装部署

所需docker安装包,请点击17.03自行下载使用。

基础镜像准备

本次演示 kubernetes 所依赖的各个镜像列表如下:

所需镜像,请点击images自行下载。

系统配置

根据官方文档中limitations小节中的内容,对各节点系统做如下设置:

安装kubeadm和kubelet

下面在各节点安装kubeadm和kubelet

初始化master准备

#说明:

(1)kubeadm 等相关 rpm 安装后会生成 /etc/kubernetes 目录,而 kubeadm init 时候又会检测这些目录是否存在,如果存在则停止初始化,所以要先清理一下。

参考官网tear down部分内容。

(2)初始化以前记得一定要启动 kubelet。

(3)安装ebtables包

新版本直接 init 会提示 ebtables not found in system path 错误,所以还得先安装一下这个包在初始化

(4)修改kubelet配置文件

(5)关闭系统Swap

Kubernetes 1.8开始要求关闭系统的Swap,如果不关闭,默认配置下kubelet将无法启动。可以通过kubelet的启动参数--fail-swap-on=false更改这个限制。

说明:因为这里本次用于测试的主机上还运行其他服务,关闭swap可能会对其他服务产生影响,所以这里修改kubelet的启动参数--fail-swap-on=false去掉这个限制。

注意⚠️如果碰到一下错误:

解决方法:

使用kubeadm init初始化集群

#使用kubeadm初始化集群,在Master Node上执行下面的命令:

#说明

我们选择flannel作为Pod网络插件,所以上面的命令指定–pod-network-cidr=10.244.0.0/16

#执行时的WARNING

#执行时如有:

#整个初始化流程

#关键内容说明

如果你需要重新做 kubeadm init ,那么我们最好把上次初始化和容器服务全部清理掉,具体步骤:

master节点验证

#查看一下集群状态

#解决方法:

#再次查看集群状态

#查看集群节点

#命令行验证

查看当前Network

kubeadm init成功之后,此时的master node上k8s的核心组件均正常启动,而且是多以container的形式启动。

不过这些核心组件并不是跑在pod network中的(没错,此时的pod network还没有创建),而是采用了host network。以kube-apiserver的pod信息为例:

#查看kube-apiserver的容器id

#查看对应的pause容器的network属性

安装flannel pod网络

查看master中所有pod的状态

向Kubernetes集群添加/删除Node

关于这部分操作,请点击参考Node操作

参考文档

centos7使用kubeadm安装kubernetes 1.11版本多主高可用

继续阅读