Kubernetes容器化部署
29 Dec 2016本文介绍如何部署Kubernetes,由于基础设施环境多样,本文部署情况仅仅针对裸机或虚拟机环境,暂不支持公有云如GCE,AWS,DigitOcean环境,也不支持直接与虚拟化系统如ESXi进行部署。
部署方式
Kubernetes部署方式分为两种,二进制方式或容器化方式
- 二进制:直接部署所有组件到主机
- 容器化:所有组件在容器内方式运行
容器部署Kubernetes
一、依赖
- docker-engine 1.12
- ubuntu16.04
二、下载安装包
下载k8s_install_images到master和slave机器,解压安装包,赋予setup.sh
可执行权限
root@k8s-master:/home/ubuntu# tar xzf k8s_install_images.tar.gz
root@k8s-master:/home/ubuntu# ls
k8s_install_images k8s_install_images.tar.gz
root@k8s-master:/home/ubuntu# cd k8s_install_images
root@k8s-master:/home/ubuntu/k8s_install_images# ls
16.04-xenial flannel.yaml images setup.sh
root@k8s-master:/home/ubuntu/k8s_install_images# chmod +x setup.sh
root@k8s-master:/home/ubuntu/k8s_install_images#
执行./setup.sh
,setup.sh
会自动安装kubectl,kubernetes-cni,kubelet,kubeadm组件
并且会自动导入docker镜像
使用docker images
查看master机器k8s组件镜像信息
使用kubeadm初始化master节点,需要定义pod私有地址范围(不要和主机私有地址范围冲突)
root@k8s-master:/home/ubuntu/# kubeadm init --pod-network-cidr=10.244.0.0/16
重要:记录kubeadm join --token=
信息,因为slave需要该条指令加入集群
创建flannel网络容器
root@k8s-master:/home/ubuntu/k8s_install_images# kubectl apply -f flannel.yaml
使用kubectl查看kubernetes组件运行情况
kubectl get pods --all-namespaces
向kubernetes集群添加slave节点
下载k8s_install_images安装包,解压,执行setup.sh
同上,安装完kubeadm,kubectl,kubelet等组件后执行master节点初始化后输出的kubeadm join
指令
kubeadm join --token=5ac10b.060d697903aae36d 192.168.3.48
在master节点查看集群情况