天天看点

kubernetes1.9离线部署

环境

Master: 192.168.20.93

Node1: 192.168.20.94

Node2: 192.168.20.95

采用kubeadm安装

kubeadm为kubernetes官方推荐的自动化部署工具,他将kubernetes的组件以pod的形式部署在master和node节点上,并自动完成证书认证等操作。

因为kubeadm默认要从google的镜像仓库下载镜像,但目前国内无法访问google镜像仓库,所以已将镜像下好,只需要将离线包的镜像导入到节点中就可以了.\

开始安装

----所有节点操作:----

下载:

解压下载下来的离线包

原因:没有bzip2解压工具,安装后解压:

安装启动docker,关闭selinux,firewalld,后

配置系统路由参数,防止kubeadm报路由警告:

导入镜像:

安装kubelet kubeadm kubectl包:

Master节点操作:

开始初始化master:

kubernetes默认支持多重网络插件如flannel、weave、calico,这里使用flanne,就必须要设置--pod-network-cidr参数,10.244.0.0/16是kube-flannel.yml里面配置的默认网段,如果需要修改的话,需要把kubeadm init的--pod-network-cidr参数和后面的kube-flannel.yml里面修改成一样的网段就可以了。

部分会安装失败:

发现原来是kubelet默认的cgroup的driver和docker的不一样,docker默认的cgroupfs,kubelet默认为systemd,需要将kubelet的cgroup改为和docker的cgroup相同: "Environment="KUBELET_CGROUP_ARGS=--cgroup-driver=systemd""

重启reload

此时记得将环境reset一下

执行:

在重新执行:

完成后,将kubeadm join xxx保存下来,等下node节点加入集群需要使用

如果忘记了,可以在master上通过kubeadmin token list得到

此时root用户还不能使用kubelet控制集群需要,按提示配置下环境变量

对于非root用户

对于root用户

也可以直接放到~/.bash_profile

source一下环境变量

kubectl version测试:

安装网络,可以使用flannel、calico、weave、macvlan这里我们用flannel。

下载此文件

或直接使用离线包里面的

若要修改网段,需要kubeadm --pod-network-cidr=和这里同步

vim kube-flannel.yml

修改network项:

"Network": "10.244.0.0/16",

执行

node节点操作

使用刚刚kubeadm后的kubeadm join --xxx:

多次加入报错查看/var/log/message日志.

加入成功

在master节点上check一下:

kubernetes会在每个node节点创建flannel和kube-proxy的pod:

上一篇: 安全基础-E
下一篇: 安全基础-A