This page looks best with JavaScript enabled

Ops v1.0.0 Released

 ·  ☕ 2 min read

Based on real production needs, I recently made several important updates to https://github.com/shaowenchen/ops and released version v1.0.0. Here I mainly introduce the key features of this release.

1. Support for Multi-Cluster Task Execution

In practice, the recommendation is:

  • Create the hosts of the current cluster as Hosts
  • You can create multiple Clusters, and the Cluster objects you own are the clusters under management

Task and Pipeline objects are automatically synchronized to all Clusters under the cluster, with no manual trigger required.

When dispatching a pipeline task, you need to create a PipelineRun object. PipelineRun can span clusters, whereas TaskRun cannot.

Based on the cluster field set in the PipelineRun, the Controller distributes the PipelineRun to the specified cluster, where the Controller inside that cluster executes the actual task, and then updates the PipelineRun status back to the PipelineRun object in the main cluster.

2. Support for Copilot Interaction on the Web UI

  • Add the necessary variables in Ops Server
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
- name: SERVER_TOKEN
  value: ops
- name: COPILOT_ENDPOINT
  value: https://llmapi.xxx.com/v1
- name: COPILOT_KEY
  value: sk-xxx
- name: COPILOT_OPSSERVER
  value: http://myops-server.ops-system.svc
- name: COPILOT_OPSTOKEN
  value: ops

Among these, COPILOT_ENDPOINT and COPILOT_KEY configure an inference endpoint compatible with the OpenAI API; COPILOT_OPSSERVER and COPILOT_OPSTOKEN are the address and Token of the Ops Server.

  • Using the Copilot

Just enter text and send the relevant message.

3. Support for ARM Environments

All core components already support the ARM64 architecture and have been verified in a production ARM environment, including:

  • OpsCli
  • OpsController
  • OpsServer

While adapting to ARM environments, I also built and published many multi-architecture images to the Aliyun ACR repository.

4. The Operations Bus

It is recommended to install a Nats component in each cluster. Through the edge-cluster pattern, all events can be aggregated into a single cluster, or into several clusters across network partitions.

In the events, the following Topics are mainly defined:

  • Liveness, where each host and cluster is periodically checked, and liveness events are visible
  • Task execution, events for executing TaskRun and PipelineRun tasks
  • Inspection, where inspection events are pushed when a TaskRun executes a scheduled inspection task
  • Webhook, for user-defined operations events, alerts, notifications, and so on

Through the operations bus, system integration becomes very convenient.

5. Future Plans

  • Continue to evolve Ops Copilot toward Ops Agent
  • Enhance the UI to support more interactions

WeChat Official Account
WRITTEN BY
WeChat Official Account