中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助
鲲鹏小智

手动安装

前提条件

  • 已在待部署节点部署Docker组件和Kubernetes组件(kubeadm,kubectl,kubelet)。
  • 待部署节点可正常拉取Docker镜像。

操作步骤

  1. 初始化启动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命令备用,下一步进行网络平面部署。

    图1 Kubernetes主节点初始化完成
    图2 Kubernetes主节点初始化状态
  2. 部署相关CRD。

    Kube-OVN创建了Subnet、IP和VLAN三种CRD资源方便网络的管理,如CRD部署Yaml所示,创建crd.yaml文件,使用kubectl命令创建CRD资源管理。

    1
    kubectl apply -f crd.yaml
    

    执行完成后,可通过kubectl get crd命令查看添加结果,结果应如下图3所示。

    图3 CRD部署完成状态
  3. 标注ovndb所在节点。

    Kube-OVN需要设定OVN的主节点,用于部署ovndb将数据持久化存储在宿主机硬盘上。

    1
    kubectl label node <node-name to deploy ovndb> kube-ovn/role=master
    

    指定完成后,通过kubectl get node --show-labels命令可以查看到对应的标签。

    图4 标注完成后状态
  4. 部署OVN。

    Kube-OVN底层依赖Open vSwitch社区提供的OVS和OVN,如OVN部署Yaml章节所示,创建ovn.yaml文件;使用kubectl命令部署OVN/OVS。

    1
    kubectl apply -f ovn.yaml
    

    执行完成后,可通过kubectl get pods -A的方式查看Pods状态,结果应如下图5所示。

    图5 OVN部署完成状态
  5. 部署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所示。

    图6 Kube-OVN部署完成状态
  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
    

    结果应如下图所示:

  7. 集群添加节点。

    在Kubernetes其他待部署节点,输入1中备份的kubeadm join命令,将待部署节点添加到Kubernetes集群中。

    1
    2
    kubeadm join <master-ip:port> --token <your-token> \
    --discovery-token-ca-cert-hash sha256:<your-sha256-ca>
    

    图7所示,集群节点添加完毕后,应看到“This node has joined the cluster”提示,至此Kube-OVN组网操作步骤完成。

    图7 添加节点