xiaoping378/xiaoping378.github.io

离线安装 kubernetes 1.5

xiaoping378 opened this issue · 12 comments

离线安装 kubernetes 1.5

经常遇到全新初始安装k8s集群的问题,所以想着搞成离线模式,本着最小依赖原则,提高安装速度

基于Centos7-1511-minimal, 非此版本脚本应该会运行出错,自行修改吧

本离线安装所有的依赖都打包放到了百度网盘

第一步

基本思路是,在k8s-deploy目录下,临时启个http server, node节点上会从此拉取所依赖镜像和rpms

# python -m SimpleHTTPServer
Serving HTTP on 0.0.0.0 port 8000 ...

windows上可以用hfs临时启个http server, 自行百度如何使用

master侧

运行以下命令,初始化master

192.168.56.1:8000 是我的http-server, 注意要将k8s-deploy.sh 里的HTTP-SERVER变量也改下

curl -L http://192.168.56.1:8000/k8s-deploy.sh | bash -s master

minion侧

视自己的情况而定

curl -L http://192.168.56.1:8000/k8s-deploy.sh |  bash -s join --token=6669b1.81f129bc847154f9 192.168.56.100

总结

整个脚本实现比较简单, 坑都在脚本里解决了。脚本文件在这里

就一个master-up和node-up, 基本一个函数只做一件事,很清晰,可以自己查看具体过程。

1.5 与 1.3给我感觉最大的变化是网络部分, 1.5启用了cni网络插件
不需要像以前一样非要把flannel和docker绑在一起了(先启flannel才能启docker)。

具体可以看这里
https://github.com/containernetworking/cni/blob/master/Documentation/flannel.md

master侧如果是单核的话,会因资源不足, dns安装失败。

顶一下

顶一下

为了便于维护,已建立独立项目k8s-deploy
下一步是一键集群HA

基于kubeadm完成一键搭建HA k8s集群功能,原单实例启动可通过release singler版本完成

顶一下

厉害了

👍

赞! 其中etcd的版本我可以换成2.x吗?用你这种方式安装配置,可以在生成环境使用吗?

@chjr505xxxxx

  • 虽然是用的3,但接口还是走的2,没关系,
  • 你非要换的话,不保证安装k8s的脚本不出问题,
  • 不过都是脚本, 自己改改问题不大

curl -L http://$PROXY_SERVER:8000/install.sh | bash -s master

  • kubeadm init --kubernetes-version=v1.7.2 --pod-network-cidr=10.96.0.0/12
    [kubeadm] WARNING: kubeadm is in beta, please do not use it for production clusters.
    Unable to select an IP.

到这里出错了,有没有坑友。

1.7的版本,我没试过,目前我只用到1.6

请教官方镜像是怎么打包下载的?