operator: update controllermanager to operator

This commit is contained in:
singchia
2024-05-14 20:54:35 +08:00
parent 1f965e58aa
commit b30ddb7e33
13 changed files with 84 additions and 74 deletions

View File

@@ -6,7 +6,7 @@ namespace: frontier-system
# "wordpress" becomes "alices-wordpress".
# Note that it should also match with the prefix (text before '-') of the namespace
# field above.
namePrefix: frontier-
namePrefix: frontiercluster-
# Labels to add to all resources and selectors.
#labels:
@@ -28,7 +28,7 @@ resources:
patches:
# Protect the /metrics endpoint by putting it behind auth.
# If you want your controller-manager to expose the /metrics
# If you want your operator to expose the /metrics
# endpoint w/o any authn/z, please comment the following line.
- path: manager_auth_proxy_patch.yaml

View File

@@ -3,7 +3,7 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: controller-manager
name: operator
namespace: system
spec:
template:

View File

@@ -1,7 +1,7 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: controller-manager
name: operator
namespace: system
spec:
template:

View File

@@ -2,7 +2,7 @@ apiVersion: v1
kind: Namespace
metadata:
labels:
control-plane: controller-manager
control-plane: operator
app.kubernetes.io/name: namespace
app.kubernetes.io/instance: system
app.kubernetes.io/component: manager
@@ -14,12 +14,12 @@ metadata:
apiVersion: apps/v1
kind: Deployment
metadata:
name: controller-manager
name: operator
namespace: system
labels:
control-plane: controller-manager
control-plane: operator
app.kubernetes.io/name: deployment
app.kubernetes.io/instance: controller-manager
app.kubernetes.io/instance: operator
app.kubernetes.io/component: manager
app.kubernetes.io/created-by: frontier
app.kubernetes.io/part-of: frontier
@@ -27,14 +27,14 @@ metadata:
spec:
selector:
matchLabels:
control-plane: controller-manager
control-plane: operator
replicas: 1
template:
metadata:
annotations:
kubectl.kubernetes.io/default-container: manager
labels:
control-plane: controller-manager
control-plane: operator
spec:
# TODO(user): Uncomment the following code to configure the nodeAffinity expression
# according to the platforms which are supported by your solution.
@@ -99,5 +99,5 @@ spec:
requests:
cpu: 10m
memory: 64Mi
serviceAccountName: controller-manager
serviceAccountName: operator
terminationGracePeriodSeconds: 10

View File

@@ -3,14 +3,14 @@ apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
labels:
control-plane: controller-manager
control-plane: operator
app.kubernetes.io/name: servicemonitor
app.kubernetes.io/instance: controller-manager-metrics-monitor
app.kubernetes.io/instance: operator-metrics-monitor
app.kubernetes.io/component: metrics
app.kubernetes.io/created-by: frontier
app.kubernetes.io/part-of: frontier
app.kubernetes.io/managed-by: kustomize
name: controller-manager-metrics-monitor
name: operator-metrics-monitor
namespace: system
spec:
endpoints:
@@ -22,4 +22,4 @@ spec:
insecureSkipVerify: true
selector:
matchLabels:
control-plane: controller-manager
control-plane: operator

View File

@@ -15,5 +15,5 @@ roleRef:
name: proxy-role
subjects:
- kind: ServiceAccount
name: controller-manager
name: operator
namespace: system

View File

@@ -2,14 +2,14 @@ apiVersion: v1
kind: Service
metadata:
labels:
control-plane: controller-manager
control-plane: operator
app.kubernetes.io/name: service
app.kubernetes.io/instance: controller-manager-metrics-service
app.kubernetes.io/instance: operator-metrics-service
app.kubernetes.io/component: kube-rbac-proxy
app.kubernetes.io/created-by: frontier
app.kubernetes.io/part-of: frontier
app.kubernetes.io/managed-by: kustomize
name: controller-manager-metrics-service
name: operator-metrics-service
namespace: system
spec:
ports:
@@ -18,4 +18,4 @@ spec:
protocol: TCP
targetPort: https
selector:
control-plane: controller-manager
control-plane: operator

View File

@@ -15,5 +15,5 @@ roleRef:
name: leader-election-role
subjects:
- kind: ServiceAccount
name: controller-manager
name: operator
namespace: system

View File

@@ -15,5 +15,5 @@ roleRef:
name: manager-role
subjects:
- kind: ServiceAccount
name: controller-manager
name: operator
namespace: system

View File

@@ -4,5 +4,5 @@ metadata:
labels:
app.kubernetes.io/name: frontier
app.kubernetes.io/managed-by: kustomize
name: controller-manager
name: operator
namespace: system

View File

@@ -8,7 +8,7 @@ metadata:
app.kubernetes.io/managed-by: kustomize
app.kubernetes.io/name: namespace
app.kubernetes.io/part-of: frontier
control-plane: controller-manager
control-plane: operator
name: frontier-system
---
apiVersion: apiextensions.k8s.io/v1
@@ -108,11 +108,6 @@ spec:
- enabled
- mtls
type: object
required:
- port
- serviceName
- serviceType
- tls
type: object
nodeAffinity:
description: Node affinity is a group of node affinity scheduling
@@ -315,14 +310,9 @@ spec:
description: Service Type string describes ingress methods
for a service
type: string
required:
- port
- service
- serviceType
type: object
required:
- edgebound
- replicas
- servicebound
type: object
frontlas:
@@ -337,10 +327,6 @@ spec:
description: Service Type string describes ingress methods
for a service
type: string
required:
- port
- service
- serviceType
type: object
nodeAffinity:
description: Node affinity is a group of node affinity scheduling
@@ -533,9 +519,6 @@ spec:
type: object
replicas:
type: integer
required:
- controlplane
- replicas
type: object
required:
- frontier
@@ -570,7 +553,7 @@ metadata:
labels:
app.kubernetes.io/managed-by: kustomize
app.kubernetes.io/name: frontier
name: frontier-controller-manager
name: frontiercluster-operator
namespace: frontier-system
---
apiVersion: rbac.authorization.k8s.io/v1
@@ -583,7 +566,7 @@ metadata:
app.kubernetes.io/managed-by: kustomize
app.kubernetes.io/name: role
app.kubernetes.io/part-of: frontier
name: frontier-leader-election-role
name: frontiercluster-leader-election-role
namespace: frontier-system
rules:
- apiGroups:
@@ -621,8 +604,34 @@ rules:
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: frontier-manager-role
name: frontiercluster-manager-role
rules:
- apiGroups:
- ""
resources:
- pods
- secrets
- services
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
- apiGroups:
- apps
resources:
- deployments
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
- apiGroups:
- frontier.singchia.io
resources:
@@ -660,7 +669,7 @@ metadata:
app.kubernetes.io/managed-by: kustomize
app.kubernetes.io/name: clusterrole
app.kubernetes.io/part-of: frontier
name: frontier-metrics-reader
name: frontiercluster-metrics-reader
rules:
- nonResourceURLs:
- /metrics
@@ -677,7 +686,7 @@ metadata:
app.kubernetes.io/managed-by: kustomize
app.kubernetes.io/name: clusterrole
app.kubernetes.io/part-of: frontier
name: frontier-proxy-role
name: frontiercluster-proxy-role
rules:
- apiGroups:
- authentication.k8s.io
@@ -702,15 +711,15 @@ metadata:
app.kubernetes.io/managed-by: kustomize
app.kubernetes.io/name: rolebinding
app.kubernetes.io/part-of: frontier
name: frontier-leader-election-rolebinding
name: frontiercluster-leader-election-rolebinding
namespace: frontier-system
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: frontier-leader-election-role
name: frontiercluster-leader-election-role
subjects:
- kind: ServiceAccount
name: frontier-controller-manager
name: frontiercluster-operator
namespace: frontier-system
---
apiVersion: rbac.authorization.k8s.io/v1
@@ -723,14 +732,14 @@ metadata:
app.kubernetes.io/managed-by: kustomize
app.kubernetes.io/name: clusterrolebinding
app.kubernetes.io/part-of: frontier
name: frontier-manager-rolebinding
name: frontiercluster-manager-rolebinding
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: frontier-manager-role
name: frontiercluster-manager-role
subjects:
- kind: ServiceAccount
name: frontier-controller-manager
name: frontiercluster-operator
namespace: frontier-system
---
apiVersion: rbac.authorization.k8s.io/v1
@@ -743,14 +752,14 @@ metadata:
app.kubernetes.io/managed-by: kustomize
app.kubernetes.io/name: clusterrolebinding
app.kubernetes.io/part-of: frontier
name: frontier-proxy-rolebinding
name: frontiercluster-proxy-rolebinding
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: frontier-proxy-role
name: frontiercluster-proxy-role
subjects:
- kind: ServiceAccount
name: frontier-controller-manager
name: frontiercluster-operator
namespace: frontier-system
---
apiVersion: v1
@@ -759,12 +768,12 @@ metadata:
labels:
app.kubernetes.io/component: kube-rbac-proxy
app.kubernetes.io/created-by: frontier
app.kubernetes.io/instance: controller-manager-metrics-service
app.kubernetes.io/instance: operator-metrics-service
app.kubernetes.io/managed-by: kustomize
app.kubernetes.io/name: service
app.kubernetes.io/part-of: frontier
control-plane: controller-manager
name: frontier-controller-manager-metrics-service
control-plane: operator
name: frontiercluster-operator-metrics-service
namespace: frontier-system
spec:
ports:
@@ -773,7 +782,7 @@ spec:
protocol: TCP
targetPort: https
selector:
control-plane: controller-manager
control-plane: operator
---
apiVersion: apps/v1
kind: Deployment
@@ -781,24 +790,24 @@ metadata:
labels:
app.kubernetes.io/component: manager
app.kubernetes.io/created-by: frontier
app.kubernetes.io/instance: controller-manager
app.kubernetes.io/instance: operator
app.kubernetes.io/managed-by: kustomize
app.kubernetes.io/name: deployment
app.kubernetes.io/part-of: frontier
control-plane: controller-manager
name: frontier-controller-manager
control-plane: operator
name: frontiercluster-operator
namespace: frontier-system
spec:
replicas: 1
selector:
matchLabels:
control-plane: controller-manager
control-plane: operator
template:
metadata:
annotations:
kubectl.kubernetes.io/default-container: manager
labels:
control-plane: controller-manager
control-plane: operator
spec:
containers:
- args:
@@ -830,7 +839,7 @@ spec:
- --leader-elect
command:
- /manager
image: harbor.moresec.cn/moresec/frontiercluster-controller:1.0.0
image: singchia/frontiercluster-controller:1.0.0
imagePullPolicy: Always
livenessProbe:
httpGet:
@@ -859,5 +868,5 @@ spec:
- ALL
securityContext:
runAsNonRoot: true
serviceAccountName: frontier-controller-manager
serviceAccountName: frontiercluster-operator
terminationGracePeriodSeconds: 10

View File

@@ -33,16 +33,17 @@ const (
func (r *FrontierClusterReconciler) ensureDeployment(ctx context.Context, fc v1alpha1.FrontierCluster) (bool, error) {
log := log.FromContext(ctx)
log.Info("Creating/Updating Frontier Deployment")
if err := r.ensureFrontierDeployment(ctx, fc); err != nil {
return false, fmt.Errorf("error creating/updating frontier Deployment: %s", err)
}
log.Info("Create/Updating Frontlas Deployment")
if err := r.ensureFrontlasDeployment(ctx, fc); err != nil {
return false, fmt.Errorf("error creating/updating frontlas Deployment: %s", err)
}
log.Info("Creating/Updating Frontier Deployment")
if err := r.ensureFrontierDeployment(ctx, fc); err != nil {
return false, fmt.Errorf("error creating/updating frontier Deployment: %s", err)
}
currentFrontierDeployment, err := r.client.GetDeployment(ctx, fc.FrontierDeploymentNamespacedName())
if err != nil {
return false, fmt.Errorf("error getting Deployment: %s", err)

View File

@@ -76,17 +76,17 @@ var _ = Describe("controller", Ordered, func() {
_, err = utils.Run(cmd)
ExpectWithOffset(1, err).NotTo(HaveOccurred())
By("deploying the controller-manager")
By("deploying the operator")
cmd = exec.Command("make", "deploy", fmt.Sprintf("IMG=%s", projectimage))
_, err = utils.Run(cmd)
ExpectWithOffset(1, err).NotTo(HaveOccurred())
By("validating that the controller-manager pod is running as expected")
By("validating that the operator pod is running as expected")
verifyControllerUp := func() error {
// Get pod name
cmd = exec.Command("kubectl", "get",
"pods", "-l", "control-plane=controller-manager",
"pods", "-l", "control-plane=operator",
"-o", "go-template={{ range .items }}"+
"{{ if not .metadata.deletionTimestamp }}"+
"{{ .metadata.name }}"+
@@ -101,7 +101,7 @@ var _ = Describe("controller", Ordered, func() {
return fmt.Errorf("expect 1 controller pods running, but got %d", len(podNames))
}
controllerPodName = podNames[0]
ExpectWithOffset(2, controllerPodName).Should(ContainSubstring("controller-manager"))
ExpectWithOffset(2, controllerPodName).Should(ContainSubstring("operator"))
// Validate pod status
cmd = exec.Command("kubectl", "get",