good first issuekind/feature-request
Metriche repository
- Star
- (2815 star)
- Metriche merge PR
- (Merge medio 20g 9h) (31 PR mergiate in 30 g)
Descrizione
I used Kubekey provider from ClusterAPI. Also, Kubernetes was deployed based on ClsterClass.
Deployment was successful. However, I think there is a problem in implementing this as GitOps.
The reason is that it is difficult to declare kube-vip address among the values to be declared in Cluster.yaml.
Below are parts of cluster.yml and clusterTemplate.yml.
How can I define kube-vip environment variable address in ClusterTemplate.yml in Cluster.yml?
Do you have any good ideas?
- Cluster.yml
apiVersion: cluster.x-k8s.io/v1beta1
kind: Cluster
metadata:
name: kubeops-kk-dev
namespace: default
labels:
provider: kk
tool: "true"
spec:
clusterNetwork:
pods:
cidrBlocks:
- 10.233.64.0/18
serviceDomain: cluster.local
services:
cidrBlocks:
- 10.233.0.0/18
topology:
class: kubeops-kk-dev
version: v1.25.3
controlPlane:
replicas: 1
workers:
machineDeployments:
- class: kubeops-kk-dev
name: kubeops-kkworker
replicas: 2
variables:
- name: user
value: ubuntu
- name: password
value: password
- name: instances
value:
- {address: 10.10.10.11, name: "master1", roles: ["control-plane"]}
- {address: 10.10.10.31, name: "worker1" , roles: ["worker"]}
- {address: 10.10.10.32, name: "worker2", roles: ["worker"]}
- name: controlPlaneLoadBalancer
value: 10.10.10.100
- ClusterTemplate.yml
---
kind: KubeadmControlPlaneTemplate
apiVersion: controlplane.cluster.x-k8s.io/v1beta1
metadata:
name: kubeops-kk-control-plane
spec:
template:
spec:
kubeadmConfigSpec:
files:
- content: |
apiVersion: v1
kind: Pod
metadata:
creationTimestamp: null
name: kube-vip
namespace: kube-system
spec:
containers:
- args:
- manager
env:
- name: address
value: 10.10.10.100
- name: vip_interface
value: ""
- name: vip_arp
value: "true"
- name: port
value: "6443"
- name: vip_cidr
value: "32"
- name: cp_enable
value: "true"
- name: cp_namespace
value: kube-system
- name: vip_ddns
value: "false"
- name: svc_enable
value: "true"
- name: vip_leaderelection
value: "true"
- name: vip_leaseduration
value: "5"
- name: vip_renewdeadline
value: "3"
- name: vip_retryperiod
value: "1"
- name: lb_enable
value: "true"
- name: lb_port
value: "6443"
image: ghcr.io/kube-vip/kube-vip:v0.5.0
imagePullPolicy: IfNotPresent
name: kube-vip
resources: {}
securityContext:
capabilities:
add:
- NET_ADMIN
- NET_RAW
volumeMounts:
- mountPath: /etc/kubernetes/admin.conf
name: kubeconfig
hostNetwork: true
hostAliases:
- hostnames:
- kubernetes
ip: 127.0.0.1
volumes:
- hostPath:
path: /etc/kubernetes/admin.conf
type: FileOrCreate
name: kubeconfig
status: {}
owner: root:root
path: /etc/kubernetes/manifests/kube-vip.yaml
joinConfiguration:
nodeRegistration:
criSocket: unix:///var/run/containerd/containerd.sock
initConfiguration:
nodeRegistration:
criSocket: unix:///var/run/containerd/containerd.sock