Skip to content

Commit

Permalink
feat: vanilla k8s vcluster configurations
Browse files Browse the repository at this point in the history
  • Loading branch information
kirinnee committed Feb 19, 2024
1 parent 03c0ce0 commit 62b63fb
Show file tree
Hide file tree
Showing 11 changed files with 283 additions and 397 deletions.
2 changes: 1 addition & 1 deletion chart/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ Helm chart to install virtual cluster on a physical cluster
| sulfoxide-bromine.rootSecret.ref | string | `"SULFOXIDE_IODINE"` | DOPPLER Token Reference |
| sulfoxide-bromine.storeName | string | `"doppler-iodine"` | Store name to create |
| tags | object | `{"atomi.cloud/layer":"1","atomi.cloud/platform":"sulfoxide","atomi.cloud/service":"iodine"}` | Kubernetes labels and annotations, following Service Tree |
| vcluster | object | `{"coredns":{"podAnnotations":{"<<":{"atomi.cloud/layer":"1","atomi.cloud/platform":"sulfoxide","atomi.cloud/service":"iodine"},"atomi.cloud/module":"coredns"},"podLabels":{"<<":{"atomi.cloud/layer":"1","atomi.cloud/platform":"sulfoxide","atomi.cloud/service":"iodine"},"atomi.cloud/module":"coredns"},"replicas":1,"resources":{"limits":{"cpu":"500m","memory":"512Mi"},"requests":{"cpu":"125m","memory":"128Mi"}}},"etcd":{"annotations":{"<<":{"atomi.cloud/layer":"1","atomi.cloud/platform":"sulfoxide","atomi.cloud/service":"iodine"},"atomi.cloud/module":"etcd"},"labels":{"<<":{"atomi.cloud/layer":"1","atomi.cloud/platform":"sulfoxide","atomi.cloud/service":"iodine"},"atomi.cloud/module":"etcd"},"podAnnotations":{"<<":{"atomi.cloud/layer":"1","atomi.cloud/platform":"sulfoxide","atomi.cloud/service":"iodine"},"atomi.cloud/module":"etcd"},"podLabels":{"<<":{"atomi.cloud/layer":"1","atomi.cloud/platform":"sulfoxide","atomi.cloud/service":"iodine"},"atomi.cloud/module":"etcd"},"resources":{"limits":{"cpu":"500m","memory":"512Mi"},"requests":{"cpu":"125m","memory":"128Mi"}},"storage":{"className":"ebs-gp3","persistence":false},"topologySpreadConstraints":[{"labelSelector":{"matchLabels":{"<<":{"atomi.cloud/layer":"1","atomi.cloud/platform":"sulfoxide","atomi.cloud/service":"iodine"},"atomi.cloud/module":"etcd"}},"maxSkew":1,"topologyKey":"topology.kubernetes.io/zone","whenUnsatisfiable":"ScheduleAnyway"}]},"ingress":{"enabled":true,"host":"kubernetes.atomi.cloud","ingressClassName":"nginx"},"init":{"manifests":"apiVersion: v1\nkind: Namespace\nmetadata:\n labels:\n kubernetes.io/metadata.name: sulfoxide\n name: sulfoxide\n"},"mapServices":{"fromHost":[{"from":"sulfoxide/entei-silicon-otlp-collector","to":"sulfoxide/silicon-otlp-collector"}]},"plugin":{"secret-syncer":{"image":"ghcr.io/kirinnee/vcluster-secret-syncer/secret-syncer-amd:1.0.0","imagePullPolicy":"IfNotPresent"}},"proxy":{"metricsServer":{"nodes":{"enabled":false},"pods":{"enabled":false}}},"replicas":1,"sync":{"configmaps":{"all":true},"ingresses":{"enabled":true},"nodes":{"enableScheduler":true,"enabled":true,"fakeKubeletIPs":true,"syncAllNodes":true,"syncNodeChanges":true},"pods":{"enabled":true,"ephemeralContainers":true,"status":true},"secrets":{"all":true}},"syncer":{"annotations":{"<<":{"atomi.cloud/layer":"1","atomi.cloud/platform":"sulfoxide","atomi.cloud/service":"iodine"},"atomi.cloud/module":"syncer"},"extraArgs":["--tls-san=https://kubernetes.atomi.cloud"],"labels":{"<<":{"atomi.cloud/layer":"1","atomi.cloud/platform":"sulfoxide","atomi.cloud/service":"iodine"},"atomi.cloud/module":"syncer"},"podAnnotations":{"<<":{"atomi.cloud/layer":"1","atomi.cloud/platform":"sulfoxide","atomi.cloud/service":"iodine"},"atomi.cloud/module":"syncer"},"podLabels":{"<<":{"atomi.cloud/layer":"1","atomi.cloud/platform":"sulfoxide","atomi.cloud/service":"iodine"},"atomi.cloud/module":"syncer"},"topologySpreadConstraints":[{"labelSelector":{"matchLabels":{"<<":{"atomi.cloud/layer":"1","atomi.cloud/platform":"sulfoxide","atomi.cloud/service":"iodine"},"atomi.cloud/module":"syncer"}},"maxSkew":1,"topologyKey":"topology.kubernetes.io/zone","whenUnsatisfiable":"ScheduleAnyway"}]},"telemetry":{"disabled":true}}` | Virtual Cluster Configuration. See [vcluster documentation](https://artifacthub.io/packages/helm/loft/vcluster) |
| vcluster | object | `{"coredns":{"podAnnotations":{"<<":{"atomi.cloud/layer":"1","atomi.cloud/platform":"sulfoxide","atomi.cloud/service":"iodine"},"atomi.cloud/module":"coredns"},"podLabels":{"<<":{"atomi.cloud/layer":"1","atomi.cloud/platform":"sulfoxide","atomi.cloud/service":"iodine"},"atomi.cloud/module":"coredns"},"replicas":1,"resources":{"limits":{"cpu":"500m","memory":"512Mi"},"requests":{"cpu":"125m","memory":"128Mi"}}},"etcd":{"annotations":{"<<":{"atomi.cloud/layer":"1","atomi.cloud/platform":"sulfoxide","atomi.cloud/service":"iodine"},"atomi.cloud/module":"etcd"},"labels":{"<<":{"atomi.cloud/layer":"1","atomi.cloud/platform":"sulfoxide","atomi.cloud/service":"iodine"},"atomi.cloud/module":"etcd"},"podAnnotations":{"<<":{"atomi.cloud/layer":"1","atomi.cloud/platform":"sulfoxide","atomi.cloud/service":"iodine"},"atomi.cloud/module":"etcd"},"podLabels":{"<<":{"atomi.cloud/layer":"1","atomi.cloud/platform":"sulfoxide","atomi.cloud/service":"iodine"},"atomi.cloud/module":"etcd"},"resources":{"limits":{"cpu":"500m","memory":"512Mi"},"requests":{"cpu":"125m","memory":"128Mi"}},"storage":{"className":"ebs-gp3","persistence":false},"topologySpreadConstraints":[{"labelSelector":{"matchLabels":{"<<":{"atomi.cloud/layer":"1","atomi.cloud/platform":"sulfoxide","atomi.cloud/service":"iodine"},"atomi.cloud/module":"etcd"}},"maxSkew":1,"topologyKey":"topology.kubernetes.io/zone","whenUnsatisfiable":"ScheduleAnyway"}]},"ingress":{"enabled":true,"host":"kubernetes.atomi.cloud","ingressClassName":"nginx"},"init":{"manifests":"apiVersion: v1\nkind: Namespace\nmetadata:\n labels:\n kubernetes.io/metadata.name: sulfoxide\n name: sulfoxide\n"},"mapServices":{"fromHost":[{"from":"sulfoxide/entei-silicon-otlp-collector","to":"sulfoxide/silicon-otlp-collector"}]},"plugin":{"secret-syncer":{"image":"ghcr.io/kirinnee/vcluster-secret-syncer/secret-syncer-amd:1.0.0","imagePullPolicy":"IfNotPresent"}},"proxy":{"metricsServer":{"nodes":{"enabled":false},"pods":{"enabled":false}}},"replicas":1,"sync":{"configmaps":{"all":true},"ingresses":{"enabled":true},"nodes":{"enableScheduler":true,"enabled":true,"fakeKubeletIPs":true,"syncAllNodes":true,"syncNodeChanges":true},"pods":{"enabled":true,"ephemeralContainers":true,"status":true},"secrets":{"all":true}},"syncer":{"annotations":{"<<":{"atomi.cloud/layer":"1","atomi.cloud/platform":"sulfoxide","atomi.cloud/service":"iodine"},"atomi.cloud/module":"syncer"},"extraArgs":["--tls-san=https://kubernetes.atomi.cloud"],"labels":{"<<":{"atomi.cloud/layer":"1","atomi.cloud/platform":"sulfoxide","atomi.cloud/service":"iodine"},"atomi.cloud/module":"syncer"},"podAnnotations":{"<<":{"atomi.cloud/layer":"1","atomi.cloud/platform":"sulfoxide","atomi.cloud/service":"iodine"},"atomi.cloud/module":"syncer"},"podLabels":{"<<":{"atomi.cloud/layer":"1","atomi.cloud/platform":"sulfoxide","atomi.cloud/service":"iodine"},"atomi.cloud/module":"syncer"},"resources":{"limits":{"cpu":"500m","memory":"512Mi"},"requests":{"cpu":"125m","memory":"128Mi"}},"topologySpreadConstraints":[{"labelSelector":{"matchLabels":{"<<":{"atomi.cloud/layer":"1","atomi.cloud/platform":"sulfoxide","atomi.cloud/service":"iodine"},"atomi.cloud/module":"syncer"}},"maxSkew":1,"topologyKey":"topology.kubernetes.io/zone","whenUnsatisfiable":"ScheduleAnyway"}]},"telemetry":{"disabled":true}}` | Virtual Cluster Configuration. See [vcluster documentation](https://artifacthub.io/packages/helm/loft/vcluster) |

----------------------------------------------
Autogenerated from chart metadata using [helm-docs v1.11.2](https://github.com/norwoodj/helm-docs/releases/v1.11.2)
6 changes: 3 additions & 3 deletions chart/values.pichu.onyx.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -40,8 +40,8 @@ vcluster:
podLabels:
<<: *tags
extraArgs:
- --kube-config-context-name=pichu-opal
- --out-kube-config-server=https://pichu.opal.kubernetes.cluster.atomi.cloud
- --kube-config-context-name=pichu-onyx
- --out-kube-config-server=https://pichu.onyx.kubernetes.cluster.atomi.cloud
ingress:
host: pichu.opal.kubernetes.cluster.atomi.cloud
host: pichu.onyx.kubernetes.cluster.atomi.cloud

85 changes: 33 additions & 52 deletions chart/values.pichu.opal.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,55 +9,36 @@ tags: &tags
auth:
remoteName: PICHU_SULFOXIDE_SOS

datastore:
enable: true
remoteName: PICHU_OPAL_K3S_DATASTORE_ENDPOINT

datastoreCa:
enable: true
remoteName: PICHU_OPAL_K3S_DATASTORE_CA

k3sSyncToken:
remoteName: PICHU_K3S_TOKEN

etcd:
enabled: false

vcluster: {}
# replicas: 1
# coredns:
# replicas: 1
# podLabels:
# <<: *tags
# podAnnotations:
# <<: *tags
# labels:
# <<: *tags
# annotations:
# <<: *tags
# syncer:
# extraArgs:
# - --kube-config-context-name=pichu-opal
# - --out-kube-config-server=https://pichu.opal.kubernetes.atomi.cloud
# ingress:
# host: pichu.opal.kubernetes.atomi.cloud
#
# volumes:
# - name: datastore-tls
# secret:
# secretName: datastore-ca
# items:
# - key: K3S_DATASTORE_CAFILE
# path: cert.ca
# vcluster:
# extraVolumeMounts:
# - mountPath: /etc/certs
# name: datastore-tls
# env:
# - name: K3S_DATASTORE_ENDPOINT
# valueFrom:
# secretKeyRef:
# name: datastore-endpoint
# key: K3S_DATASTORE_ENDPOINT
# - name: K3S_DATASTORE_CAFILE
# value: /etc/certs/cert.ca
vcluster:
replicas: 1
coredns:
replicas: 1
podAnnotations:
<<: *tags
podLabels:
<<: *tags
etcd:
storage:
persistence: true
labels:
<<: *tags
annotations:
<<: *tags
podAnnotations:
<<: *tags
podLabels:
<<: *tags
syncer:
labels:
<<: *tags
annotations:
<<: *tags
podAnnotations:
<<: *tags
podLabels:
<<: *tags
extraArgs:
- --kube-config-context-name=pichu-opal
- --out-kube-config-server=https://pichu.opal.kubernetes.cluster.atomi.cloud
ingress:
host: pichu.opal.kubernetes.cluster.atomi.cloud
84 changes: 33 additions & 51 deletions chart/values.pichu.ruby.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,55 +9,37 @@ tags: &tags
auth:
remoteName: PICHU_SULFOXIDE_SOS

datastore:
enable: true
remoteName: PICHU_RUBY_K3S_DATASTORE_ENDPOINT
vcluster:
replicas: 1
coredns:
replicas: 1
podAnnotations:
<<: *tags
podLabels:
<<: *tags
etcd:
storage:
persistence: true
labels:
<<: *tags
annotations:
<<: *tags
podAnnotations:
<<: *tags
podLabels:
<<: *tags
syncer:
labels:
<<: *tags
annotations:
<<: *tags
podAnnotations:
<<: *tags
podLabels:
<<: *tags
extraArgs:
- --kube-config-context-name=pichu-ruby
- --out-kube-config-server=https://pichu.ruby.kubernetes.cluster.atomi.cloud
ingress:
host: pichu.ruby.kubernetes.cluster.atomi.cloud

datastoreCa:
enable: true
remoteName: PICHU_RUBY_K3S_DATASTORE_CA

k3sSyncToken:
remoteName: PICHU_K3S_TOKEN

etcd:
enabled: false

vcluster: {}
# replicas: 1
# coredns:
# replicas: 1
# podLabels:
# <<: *tags
# podAnnotations:
# <<: *tags
# labels:
# <<: *tags
# annotations:
# <<: *tags
# syncer:
# extraArgs:
# - --kube-config-context-name=pichu-ruby
# - --out-kube-config-server=https://pichu.ruby.kubernetes.atomi.cloud
# ingress:
# host: pichu.ruby.kubernetes.atomi.cloud
#
# volumes:
# - name: datastore-tls
# secret:
# secretName: datastore-ca
# items:
# - key: K3S_DATASTORE_CAFILE
# path: cert.ca
# vcluster:
# extraVolumeMounts:
# - mountPath: /etc/certs
# name: datastore-tls
# env:
# - name: K3S_DATASTORE_ENDPOINT
# valueFrom:
# secretKeyRef:
# name: datastore-endpoint
# key: K3S_DATASTORE_ENDPOINT
# - name: K3S_DATASTORE_CAFILE
# value: /etc/certs/cert.ca
83 changes: 35 additions & 48 deletions chart/values.pikachu.onyx.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,52 +9,39 @@ tags: &tags
auth:
remoteName: PIKACHU_SULFOXIDE_SOS

datastore:
enable: false

datastoreCa:
enable: false

k3sSyncToken:
remoteName: PIKACHU_K3S_TOKEN

etcd:
enabled: true
commonLabels:
<<: *tags
podLabels:
<<: *tags
commonAnnotations:
<<: *tags
podAnnotations:
<<: *tags
persistence:
enabled: true
accessModes: [ "ReadWriteOnce" ]
storageClass: "ebs-gp3"
replicaCount: 1
fullnameOverride: iodine-etcd
vcluster: {}
# replicas: 1
# coredns:
# replicas: 1
# podLabels:
# <<: *tags
# podAnnotations:
# <<: *tags
# labels:
# <<: *tags
# annotations:
# <<: *tags
# syncer:
# extraArgs:
# - --kube-config-context-name=pikachu-onyx
# - --out-kube-config-server=https://pikachu.onyx.kubernetes.atomi.cloud
# ingress:
# host: pikachu.onyx.kubernetes.atomi.cloud
# vcluster:
# env:
# - name: K3S_DATASTORE_ENDPOINT
# value: http://iodine-etcd:2379
#
vcluster:
replicas: 1
coredns:
replicas: 1
podAnnotations:
<<: *tags
podLabels:
<<: *tags
etcd:
storage:
persistence: true
nodeSelector:
topology.kubernetes.io/zone: ap-southeast-1b
labels:
<<: *tags
annotations:
<<: *tags
podAnnotations:
<<: *tags
podLabels:
<<: *tags
syncer:
labels:
<<: *tags
annotations:
<<: *tags
podAnnotations:
<<: *tags
podLabels:
<<: *tags
extraArgs:
- --kube-config-context-name=pikachu-onyx
- --out-kube-config-server=https://pikachu.onyx.kubernetes.cluster.atomi.cloud
ingress:
host: pikachu.onyx.kubernetes.cluster.atomi.cloud

85 changes: 33 additions & 52 deletions chart/values.pikachu.opal.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,55 +9,36 @@ tags: &tags
auth:
remoteName: PIKACHU_SULFOXIDE_SOS

datastore:
enable: true
remoteName: PIKACHU_OPAL_K3S_DATASTORE_ENDPOINT

datastoreCa:
enable: true
remoteName: PIKACHU_OPAL_K3S_DATASTORE_CA

k3sSyncToken:
remoteName: PIKACHU_K3S_TOKEN

etcd:
enabled: false

vcluster: {}
# replicas: 1
# coredns:
# replicas: 1
# podLabels:
# <<: *tags
# podAnnotations:
# <<: *tags
# labels:
# <<: *tags
# annotations:
# <<: *tags
# syncer:
# extraArgs:
# - --kube-config-context-name=pikachu-opal
# - --out-kube-config-server=https://pikachu.opal.kubernetes.atomi.cloud
# ingress:
# host: pikachu.opal.kubernetes.atomi.cloud
#
# volumes:
# - name: datastore-tls
# secret:
# secretName: datastore-ca
# items:
# - key: K3S_DATASTORE_CAFILE
# path: cert.ca
# vcluster:
# extraVolumeMounts:
# - mountPath: /etc/certs
# name: datastore-tls
# env:
# - name: K3S_DATASTORE_ENDPOINT
# valueFrom:
# secretKeyRef:
# name: datastore-endpoint
# key: K3S_DATASTORE_ENDPOINT
# - name: K3S_DATASTORE_CAFILE
# value: /etc/certs/cert.ca
vcluster:
replicas: 1
coredns:
replicas: 1
podAnnotations:
<<: *tags
podLabels:
<<: *tags
etcd:
storage:
persistence: true
labels:
<<: *tags
annotations:
<<: *tags
podAnnotations:
<<: *tags
podLabels:
<<: *tags
syncer:
labels:
<<: *tags
annotations:
<<: *tags
podAnnotations:
<<: *tags
podLabels:
<<: *tags
extraArgs:
- --kube-config-context-name=pikachu-opal
- --out-kube-config-server=https://pikachu.opal.kubernetes.cluster.atomi.cloud
ingress:
host: pikachu.opal.kubernetes.cluster.atomi.cloud
Loading

0 comments on commit 62b63fb

Please sign in to comment.