使用kubeadm一键部署kubernetes集群
k8s-deploy使用kubeadm一键部署kubernetes集群,让你完美避过各种坑。
特点:
- 一键部署,避免踩坑
- 不需要翻墙,不需要设置代理
- 使用国内的Yum源、Docker镜像和Kubernetes镜像
- 安装速度快,5分钟1个master,3分钟1个node
- 不设前提,能上外网的CentOS7就行
版本支持:
- kubernetes v1.10.3, v1.11.0
- docker-ce 17.03.2
- Flannel network
- CentOS7 64 bits
限制:
- 需要联网才能安装
- 以root用户运行
- 只支持创建单master+单etcd,还不支持master和etcd高可用
k8s-deploy
打开 k8s-deploy 查看源代码,或者直接运行下面命令clone。
git clone https://github.com/cookcodeblog/k8s-deploy.git
MIT license。
部署kubernetes master
克隆(或复制)kubeadm_v1.10.3 或 kubeadm_v1.11.0 目录到master机器上,以root用户运行chmod u+x *.sh
。
一键部署kubernetes master:
./kubeadm_init_master.sh
或者按以下步骤逐步运行:
# Pre-configure
./01_pre_check_and_configure.sh
# Install Docker
./02_install_docker.sh
# Install kubelet kubeadm kubectl
./03_install_kubernetes.sh
# Pull kubernetes images
./04_pull_kubernetes_images_from_aliyun.sh
# Initialize k8s master
./05_kubeadm_init.sh
# Install flannel Pod network
./06_install_flannel.sh
运行完后,需要复制第5步kubeadm init
的输出的 kubeadm join
的内容,在下面的“部署kubernetes node”时会用到。
kubeadm init
过程中出现的hostname警告可以忽略,因为Kubernetes集群并不依赖/etc/hosts文件来作网络通信。可以理解为这个警告是kubeadm安装工具的无用警告。
部署kubernetes node
克隆(或复制)kubeadm_v1.10.3 或 kubeadm_v1.11.0 目录到node机器上,以root用户运行chmod u+x *.sh
。
将上面kubeadm init
的输出中的kubeadm join
的内容放到kubeadm_join_node.sh的最后。
运行./kubeadm_join_node.sh
部署kubernetes node,并将该节点加入kubernetes集群。
如果忘记了kubeadm join
的内容,可以在Kubernetes master上执行下面的命令重新获得:
kubeadm token create --print-join-command
参考文档
特别感谢
kubeadm安装文档
- https://kubernetes.io/docs/setup/independent/create-cluster-kubeadm/
- 使用 kubeadm 创建 kubernetes 1.9 集群
- 使用kubeadm在CentOS 7上安装Kubernetes 1.8
- 使用kubeadm安装Kubernetes 1.8版本
- 使用kubeadm安装kubernetes1.7/1.8/1.9
- 使用kubeadm创建一个K8s的Cluster
- kubeadm 镜像版本 v1.8 v1.9 v1.10 v1.11