Skip to main content
版本:v1.3

在Kubernetes上安装

本教程展示了如何手动部署 OpenYurt 集群。我们假设用户已经安装好一个Kubernetes集群。

1 Kubernetes集群环境

用户需要先自行准备好一个Kubernetes集群(可以通过kubeadm工具搭建),本文档中以1节点的Kubernetes为例。

$ kubectl get nodes
NAME                      STATUS   ROLES                  AGE     VERSION
izwz9dohcv74iegqecp4axz   Ready    control-plane,master   6d1h    v1.22.11

2 OpenYurt安装前置条件

  1. 如果Raven开启节点转发模式,需要保证集群中所有节点IP不冲突。
  2. 如果采用Docker作为容器运行时则需要做以下调整,避免Docker修改iptables FORWARD链默认规则为DROP,从而导致Raven Gateway节点流量转发失败:
iptables -w -P FORWARD ACCEPT
 sed -i 's#^After=network-online.target firewalld.service$#After=network-online.target firewalld.service containerd.service#g' \
 /lib/systemd/system/docker.service
  1. 通过Raven提供的VPN隧道,边缘节点pods的域名解析将由主节点或云节点上的CoreDNS实例进行处理,因此可能引发解析延迟或者超时失败。如果您在意解析延迟或者超时失败,我们建议您根据CoreDNS调整教程调整“CoreDNS部署”。
  2. 我们建议通过Helm来安装OpenYurt组件,在进行安装之前,请确保helm CLI已经正确安装。

3 部署OpenYurt的控制面组件

接下来要用到的所有helm charts都可以在openyurt-helm 仓库中找到。请按照以下方式添加仓库:

helm repo add openyurt https://openyurtio.github.io/openyurt-helm

您可以运行 helm search repo openyurt 来查看这些helm charts,并且我们建议使用最新版本.

3.1 安装yurt-manager

yurt-manager应该在通过yurtadm命令加入节点之前启动,因为节点上的yurthub组件依赖于yurt-manager来批准csr。所以请确保yurt-manager组件在主节点或任何其他没有yurthub组件的节点上运行。

helm upgrade --install yurt-manager -n kube-system openyurt/yurt-manager

确保yurt-manager组件的pod和服务配置已被成功创建:

kubectl get pod -n kube-system | grep yurt-manager
kubectl get svc -n kube-system | grep yurt-manager

3.2 安装yurthub相关配置

yurthub相关配置包括yurtstaticset模板,以及yurthub相关的ConfigMap和ClusterRole。同时在安装yurthub配置时,我们需要将kubernetesServerAddr字段设置为Kubernetes服务器地址(使用kubectl config view来查找)。 以Kubernetes服务器地址https://1.2.3.4:6443为例。

helm upgrade --install yurt-hub -n kube-system --set kubernetesServerAddr=https://1.2.3.4:6443 openyurt/yurthub

确保yurthub yurtstaticset和yurthub cloud yurtstaticset已经成功创建:

kubectl get yss -n kube-system

3.3 安装跨网络域通信组件Raven

Raven提供了云、边位于不同网络区域的网络通信能力, 可通过Helm安装:

helm upgrade --install raven-agent -n kube-system openyurt/raven-agent

确认Raven-Agent组件的pod和service配置已经成功创建:

kubectl get pod -n kube-system | grep raven-agent

4. 注意

以上操作仅针对Master节点,如果集群中还有其他节点,还需要额外调整,操作方法可以参考: 在存量的K8s节点上安装OpenYurt Node组件