kubeadm简介
《使用kubeadm升级K8S集群》一文中,了解了k8s集群中常见组件,并且使用kubeadm对k8s集群进行了升级。本文中,会学习使用kubeadm安装部署k8s集群。
Kubeadm is a tool built to provide kubeadm init and kubeadm join as best-practice “fast paths” for creating Kubernetes clusters.
更多内容,参考Overview of kubeadm和Installing kubeadm。
安装流程
目标:搭建一个k8s集群,包括master和node01两个节点,节点系统为ubuntu16.04.2。
1、环境准备。
2、在两个节点上安装kubeadm。
3、使用kubeadm初始化节点。
4、安装网络插件。
5、验证安装。
环境准备
1、配置主机名
2、配置IP地址
3、参考Letting iptables see bridged traffic,配置iptables
1 | # ensure legacy binaries are installed |
4、参考Docker入门,安装Docker
安装kubeadm
1、确认系统版本cat /etc/os-release
2、执行安装kubeadm、kubelet和kubectl(两个节点都要执行)
1 | sudo apt-get update && sudo apt-get install -y apt-transport-https curl |
3、查看kubelet版本kubelet --version
初始化节点
参考Installing kubeadm on your hosts。
master
1、下载必须的镜像文件(默认从gcr.io下载)kubeadm config images pull
2、执行初始化kubeadm init
完成后,屏幕输出会提示创建配置文件,以及添加worker node的join命令,记录下来。
3、创建配置文件
1 | mkdir -p $HOME/.kube |
PS:如果忘记了添加worker node的join命令,可以重新生成。
1 | kubeadm token create --help |
生成新的join命令后,之前的join命令同样可以使用。
node01
1、使用join命令,添加node01节点到集群
1 | kubeadm join 172.17.0.53:6443 --token b09bi7.ob6evvc11a8jt1ie \ |
2、验证结果
在master节点执行:kubectl get nodes
可以看到master节点和node01节点,都是NotReady的状态。
安装网络插件
参考Installing a Pod network add-on,本文中选择安装weave。(以下命令都是在master节点执行。)
1、安装weave
1 | kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\n')" |
2、验证结果kubectl get nodes -w
等待一会,可以看到master节点和node01节点,变化为Ready的状态,nice。
以上,k8s集群安装部署完成。
验证安装
手动验证
1 | kubectl get nodes |
1 | kubectl run nginx |
test-infra
1、拉取源码go get -u k8s.io/test-infra/kubetest
2、执行kubetest
1 | kubetest --extract=v1.11.3 |
Smoke Test
按照Smoke Test文档操作一遍。
sonobuoy
官网地址:sonobuoy
源码地址:vmware-tanzu/sonobuoy