Skip to content

Commit 2719442

Browse files
author
edge-katanomi-app2[bot]
committed
📚 Sync docs from alaudadevops/connectors-operator on a1e986e24c0234c2ad7f4a5591449f297dd7689a
Source: Fix WorkloadOverride validation failures on partial updates (#477) Author: chengjingtao Ref: refs/heads/main Commit: a1e986e24c0234c2ad7f4a5591449f297dd7689a This commit automatically syncs documentation changes from the source-docs repository. 🔗 View source commit: https://github.com/alaudadevops/connectors-operator/commit/a1e986e24c0234c2ad7f4a5591449f297dd7689a 🤖 Synced on 2025-12-22 00:28:03 UTC
1 parent 1a62e9e commit 2719442

File tree

2 files changed

+159
-4
lines changed

2 files changed

+159
-4
lines changed

‎.github/SYNC_INFO.md‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
# Documentation Sync Information
22

3-
- **Last synced**: 2025-12-19 07:15:15 UTC
3+
- **Last synced**: 2025-12-22 00:28:03 UTC
44
- **Source repository**: alaudadevops/connectors-operator
5-
- **Source commit**: [14f9eabb5395267bccb185bca6937efb18d3636f](https://github.com/alaudadevops/connectors-operator/commit/14f9eabb5395267bccb185bca6937efb18d3636f)
6-
- **Triggered by**: chengjingtao
7-
- **Workflow run**: [#73](https://github.com/alaudadevops/connectors-operator/actions/runs/20362804879)
5+
- **Source commit**: [a1e986e24c0234c2ad7f4a5591449f297dd7689a](https://github.com/alaudadevops/connectors-operator/commit/a1e986e24c0234c2ad7f4a5591449f297dd7689a)
6+
- **Triggered by**: edge-katanomi-app2[bot]
7+
- **Workflow run**: [#74](https://github.com/alaudadevops/connectors-operator/actions/runs/20418196865)
88

99
## Files synced:
1010
- docs/

‎docs/en/install.mdx‎

Lines changed: 155 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -675,6 +675,161 @@ spec:
675675
# Other configurations as needed
676676
```
677677
678+
## High Availability Deployment
679+
680+
For production environments, it is recommended to deploy the Connectors system in a high availability (HA) configuration to ensure service continuity and fault tolerance.
681+
682+
### Configuring Replicas
683+
684+
You can increase the number of replicas for each workload to achieve high availability. This is done through the `workloads` field in the component spec. For production environments, we recommend configuring at least 3 replicas for each workload to ensure service continuity during node failures or rolling updates.
685+
686+
Below are specific examples for each major connector component:
687+
688+
#### ConnectorsCore
689+
690+
ConnectorsCore includes three main workloads: API server, controller manager, and proxy. For high availability, configure all three with multiple replicas:
691+
692+
```yaml
693+
apiVersion: operator.connectors.alauda.io/v1alpha1
694+
kind: ConnectorsCore
695+
metadata:
696+
name: connectors-core
697+
namespace: connectors-system
698+
spec:
699+
workloads:
700+
- name: connectors-api
701+
replicas: 3
702+
- name: connectors-controller-manager
703+
replicas: 3
704+
- name: connectors-proxy
705+
replicas: 3
706+
```
707+
708+
#### ConnectorsGit
709+
710+
ConnectorsGit runs a single plugin deployment for Git Server integration:
711+
712+
```yaml
713+
apiVersion: operator.connectors.alauda.io/v1alpha1
714+
kind: ConnectorsGit
715+
metadata:
716+
name: connectors-git
717+
namespace: connectors-system
718+
spec:
719+
workloads:
720+
- name: connectors-git-plugin
721+
replicas: 3
722+
```
723+
724+
#### ConnectorsOCI
725+
726+
ConnectorsOCI runs a single plugin deployment that handles OCI registry integration:
727+
728+
```yaml
729+
apiVersion: operator.connectors.alauda.io/v1alpha1
730+
kind: ConnectorsOCI
731+
metadata:
732+
name: connectors-oci
733+
namespace: connectors-system
734+
spec:
735+
workloads:
736+
- name: connectors-oci-plugin
737+
replicas: 3
738+
```
739+
740+
#### ConnectorsMaven
741+
742+
ConnectorsMaven runs a single plugin deployment for Maven registry integration:
743+
744+
```yaml
745+
apiVersion: operator.connectors.alauda.io/v1alpha1
746+
kind: ConnectorsMaven
747+
metadata:
748+
name: connectors-maven
749+
namespace: connectors-system
750+
spec:
751+
workloads:
752+
- name: connectors-maven-plugin
753+
replicas: 3
754+
```
755+
756+
#### ConnectorsHarbor
757+
758+
ConnectorsHarbor runs a single plugin deployment for Harbor-specific features:
759+
760+
```yaml
761+
apiVersion: operator.connectors.alauda.io/v1alpha1
762+
kind: ConnectorsHarbor
763+
metadata:
764+
name: connectors-harbor
765+
namespace: connectors-system
766+
spec:
767+
workloads:
768+
- name: connectors-harbor-plugin
769+
replicas: 3
770+
```
771+
772+
#### Components Without Workloads
773+
774+
The following connector components do not have Deployment workloads and therefore do not require replica configuration:
775+
776+
- ConnectorsGitLab
777+
- ConnectorsK8S
778+
- ConnectorsNPM
779+
- ConnectorsPyPI
780+
781+
### Built-in Pod Anti-Affinity
782+
783+
The system includes built-in pod anti-affinity rules to ensure that replicas are distributed across different nodes. By default, the system uses `preferredDuringSchedulingIgnoredDuringExecution` with a weight of `100`, which means the scheduler will try to place pods on different nodes when possible, but will still schedule them on the same node if no other options are available.
784+
785+
This default configuration ensures:
786+
- Pods are spread across different nodes when possible
787+
- Deployment remains schedulable even if the cluster has limited nodes
788+
- Automatic failover capability when a node becomes unavailable
789+
790+
### Customizing Affinity Rules
791+
792+
If the default affinity rules do not meet your requirements, you can override them through the `workloads` configuration. The `template.spec.affinity` field allows you to specify custom affinity rules.
793+
794+
For multi-zone clusters, you can configure zone-aware scheduling to spread pods across availability zones. The following example uses `requiredDuringSchedulingIgnoredDuringExecution` to enforce zone-level distribution, combined with `preferredDuringSchedulingIgnoredDuringExecution` to prefer node-level distribution within each zone:
795+
796+
```yaml
797+
apiVersion: operator.connectors.alauda.io/v1alpha1
798+
kind: ConnectorsCore
799+
metadata:
800+
name: connectors-core
801+
namespace: connectors-system
802+
spec:
803+
workloads:
804+
- name: connectors-api
805+
replicas: 3
806+
template:
807+
spec:
808+
affinity:
809+
podAntiAffinity:
810+
# Hard requirement: pods must be distributed across different zones
811+
requiredDuringSchedulingIgnoredDuringExecution:
812+
- labelSelector:
813+
matchLabels:
814+
control-plane: api
815+
app.kubernetes.io/name: connectors
816+
topologyKey: topology.kubernetes.io/zone
817+
# Soft requirement: prefer distributing pods across different nodes within the same zone
818+
preferredDuringSchedulingIgnoredDuringExecution:
819+
- weight: 100
820+
podAffinityTerm:
821+
labelSelector:
822+
matchLabels:
823+
control-plane: api
824+
app.kubernetes.io/name: connectors
825+
topologyKey: kubernetes.io/hostname
826+
```
827+
828+
This configuration ensures:
829+
- Pods are strictly distributed across different availability zones (hard requirement)
830+
- Within the same zone, pods are preferably scheduled on different nodes (soft requirement)
831+
- Provides resilience against both zone-level and node-level failures
832+
678833
## Troubleshooting
679834
680835
### connectors-csi is not ready

0 commit comments

Comments
 (0)