×
Community Blog In-depth Interpretation of OpenYurt v1.2: Five Steps to Build an OpenYurt Cluster

In-depth Interpretation of OpenYurt v1.2: Five Steps to Build an OpenYurt Cluster

This article focuses on features of OpenYurt v1.2.0 and introduces how to build an OpenYurt cluster in five steps.

OpenYurt, the industry's first non-intrusive cloud-native edge computing platform, has recently released v1.2.0. It continues to focus on Kubernetes features such as non-intrusiveness, full collaboration between cloud edge and end, and cross-network domain communication. OpenYurt also deeply builds the continuous delivery and efficient operation and maintenance management capabilities of OpenYurt and Kubernetes to realize massive edge computing services.

Background

Kubernetes, as the most fundamental project in cloud-native computing, has gained wide recognition from developers and enterprises, and has triggered enthusiasm for participation. OpenYurt extends cloud-native technology to edge scenarios, which are complex and diverse, posing challenges for most developers to use and participate in the OpenYurt project. Among these challenges, the installation and deployment of OpenYurt has become a difficult problem for cloud-native practitioners, community participants, and developers.

OpenYurt v1.2.0 further optimizes the installation process of OpenYurt without modifying the configurations of native Kubernetes. It implements a cloud-native edge computing platform based on Kubernetes and OpenYurt, allowing for the management of edge devices and computing power in a cloud-native manner.

OpenYurt Installation and Deployment Optimization

In the version of OpenYurt v1.2.0, the installation and deployment process has been optimized.The original ten-step process has been reduced to five steps, as shown in the figure. The numerous special configuration processes for native Kubernetes components in the original process have been streamlined. In the latest version, there is no need to adjust the configuration of native Kubernetes components.

1

The new installation and deployment steps are as follows.

  1. Initialize a Kubernetes cluster and install Flannel plug-in and CoreDNS.
  2. Label cloud nodes and distinguish them from edge nodes (cloud nodes are generally deployed with central control and observability components).
  3. Deploy the OpenYurt controlling component. The Yurt-Controller-Manager component manages the lifecycle of pods on autonomous nodes and approves certificates for edge components. The Yurt-App-Manager component is a cross-region resource and service manager that manages nodes in a node pool.
  4. Deploy Raven, a cross-network domain communication component. Raven implements cross-network domain communication by building VPN tunnels at the cloud edge. Raven-Controller-Manager is responsible for gateway node management, and Raven-Agent is responsible for building VPN and routing management.
  5. It is recommended to use Yurtadm to one-click access edge nodes. The edge-autonomous component, Yurt-Hub, will be automatically deployed.

For more information about how to deploy OpenYurt, see Installation.

2

Prometheus Practices That Benefit from OpenYurt Installation and Deployment Optimization

The features of Raven in v1.2 have been further improved. The deployment process for monitoring Prometheus and MetricsServer is the same as the installation and deployment process for native Kubernetes clusters. Yurt-Tunnel and CoreDNS no longer depend on special configurations. However, compared to native Kubernetes, there is a difference in the way data is transmitted. As shown in the figure, monitoring metric data from the cloud to the gateway or a separate edge node is communicated through the VPN tunnel built by Raven. Monitoring data of common nodes is forwarded to the gateway node and transmitted to the observation and monitoring component of the cloud through the VPN tunnel.

3

Despite the differences in data transmission methods, the installation and deployment of Prometheus still maintain the simplicity of native Kubernetes. For instance, kubelet metrics are collected through 10255 read-only ports, and you can directly add the configuration to obtain these metrics. By modifying the label rule to collect information from 10255 read-only ports through the HTTP protocol, the installation and deployment of Prometheus can be completed.

- job_name: 'kubelet'
    kubernetes_sd_configs:
      - role: node
    scheme: https
    tls_config:
      ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
      insecure_skip_verify: true
    authorization:
      credentials_file: /var/run/secrets/kubernetes.io/serviceaccount/token
    relabel_configs:
      - action: labelmap
        regex: __meta_kubernetes_node_label_(.+)
      - source_labels: [__address__]
        action: replace
        target_label: __address__
        regex: ([^:;]+):(\d+)
        replacement: ${1}:10255
      - source_labels: [__scheme__]
        action: replace
        target_label: __scheme__
        regex: https
        replacement: http

Future Planning

  1. Currently, Raven components are still deployed and installed in YAML mode. In the future, Helm will be used for management and deployment, and all controllers of OpenYurt will be integrated into Yurt-Manager components. Helm will be used to install and deploy Yurt-Manager and Raven-Agent.
  2. In addition to the previous steps, the installation and deployment process will be further simplified to three steps: Initialize the Kubernetes cluster-> Install OpenYurt components-> Add nodes.

Related Articles

1 2 1
Share on

You may also like

Comments

Dikky Ryan Pratama July 1, 2023 at 3:49 pm

awesome!

Related Products