手动安装
前提条件
- 已在待部署节点部署Docker组件和Kubernetes组件(kubeadm,kubectl,kubelet)。
- 待部署节点可正常拉取Docker镜像。
操作步骤
- 初始化启动Kubernetes主节点。
本节以10.16.0.0/16网段作为网络驱动CIDR并使用默认网关作为网络广播地址为例,若用户需指定其他网段,命令需要进行对应的修改。
1 2 3 4
kubeadm init --pod-network-cidr=10.16.0.0/16 mkdir -p $HOME/.kube cp -i /etc/kubernetes/admin.conf $HOME/.kube/config chown $(id -u):$(id -g) $HOME/.kube/config
初始化完成后如下图1和图2所示,启动完成后查看Kubernetes集群Pods信息显示正常,Node状态处于NotReady状态,备份好输出中的kubeadm join命令备用,下一步进行网络平面部署。
- 部署相关CRD。
- 标注ovndb所在节点。
Kube-OVN需要设定OVN的主节点,用于部署ovndb将数据持久化存储在宿主机硬盘上。
1
kubectl label node <node-name to deploy ovndb> kube-ovn/role=master
指定完成后,通过kubectl get node --show-labels命令可以查看到对应的标签。
图4 标注完成后状态 - 部署OVN。
- 部署Kube-OVN-Controller及CNI Server。
默认配置下Kube-OVN将会使用10.16.0.0/16作为默认子网,100.64.0.1/16作为主机和Pod通信的子网,使用Kubernetes中的Node主网卡作为Pod流量通信使用网卡,并开启流量镜像模式。部署时需先获取并编辑kube-ovn.yaml文件,如Kube-OVN部署Yaml章节所示,使用kubectl命令部署Kube-OVN。
1
kubectl apply -f kube-ovn.yaml
执行完成后,可通过kubectl get pods -A的方式查看Pods状态,并通过kubectl get subnet的方式观察自动创建的子网,结果应如下图6所示。
- 安装kubectl插件。
为了更好地对网络质量进行看管以及对故障进行排查诊断,Kube-OVN提供了kubectl的插件,推荐安装。
如kubectl插件章节所示,将内容保存为kubectl-ko文件,并将文件复制到$PATH的某个目录下(以“/usr/local/bin”为例),添加可执行权限。
1 2
cp kubectl-ko /usr/local/bin/kubectl-ko chmod +x /usr/local/bin/kubectl-ko
执行完成后,使用kubectl命令检查插件状态。
1
kubectl plugin list
结果应如下图所示:
- 集群添加节点。
父主题: 安装指导