add customizations for apps.krusie.io/v1alpha1/DaemonSet
Signed-off-by: yike21 <yike21@qq.com>
This commit is contained in:
parent
c3d54ccccf
commit
f051591a84
|
@ -0,0 +1,109 @@
|
||||||
|
apiVersion: config.karmada.io/v1alpha1
|
||||||
|
kind: ResourceInterpreterCustomization
|
||||||
|
metadata:
|
||||||
|
name: declarative-configuration-daemonset
|
||||||
|
spec:
|
||||||
|
target:
|
||||||
|
apiVersion: apps.kruise.io/v1alpha1
|
||||||
|
kind: DaemonSet
|
||||||
|
customizations:
|
||||||
|
statusAggregation:
|
||||||
|
luaScript: >
|
||||||
|
function AggregateStatus(desiredObj, statusItems)
|
||||||
|
if statusItems == nil then
|
||||||
|
return desiredObj
|
||||||
|
end
|
||||||
|
if desiredObj.status == nil then
|
||||||
|
desiredObj.status = {}
|
||||||
|
end
|
||||||
|
if desiredObj.metadata.generation == nil then
|
||||||
|
desiredObj.metadata.generation = 0
|
||||||
|
end
|
||||||
|
generation = desiredObj.metadata.generation
|
||||||
|
currentNumberScheduled = 0
|
||||||
|
numberMisscheduled = 0
|
||||||
|
desiredNumberScheduled = 0
|
||||||
|
numberReady = 0
|
||||||
|
updatedNumberScheduled = 0
|
||||||
|
numberAvailable = 0
|
||||||
|
numberUnavailable = 0
|
||||||
|
daemonSetHash = 0
|
||||||
|
for i = 1, #statusItems do
|
||||||
|
if statusItems[i].status ~= nil and statusItems[i].status.currentNumberScheduled ~= nil then
|
||||||
|
currentNumberScheduled = currentNumberScheduled + statusItems[i].status.currentNumberScheduled
|
||||||
|
end
|
||||||
|
if statusItems[i].status ~= nil and statusItems[i].status.numberMisscheduled ~= nil then
|
||||||
|
numberMisscheduled = numberMisscheduled + statusItems[i].status.numberMisscheduled
|
||||||
|
end
|
||||||
|
if statusItems[i].status ~= nil and statusItems[i].status.desiredNumberScheduled ~= nil then
|
||||||
|
desiredNumberScheduled = desiredNumberScheduled + statusItems[i].status.desiredNumberScheduled
|
||||||
|
end
|
||||||
|
if statusItems[i].status ~= nil and statusItems[i].status.numberReady ~= nil then
|
||||||
|
numberReady = numberReady + statusItems[i].status.numberReady
|
||||||
|
end
|
||||||
|
if statusItems[i].status ~= nil and statusItems[i].status.updatedNumberScheduled ~= nil then
|
||||||
|
updatedNumberScheduled = updatedNumberScheduled + statusItems[i].status.updatedNumberScheduled
|
||||||
|
end
|
||||||
|
if statusItems[i].status ~= nil and statusItems[i].status.numberAvailable ~= nil then
|
||||||
|
numberAvailable = numberAvailable + statusItems[i].status.numberAvailable
|
||||||
|
end
|
||||||
|
if statusItems[i].status ~= nil and statusItems[i].status.numberUnavailable ~= nil then
|
||||||
|
numberUnavailable = numberUnavailable + statusItems[i].status.numberUnavailable
|
||||||
|
end
|
||||||
|
if statusItems[i].status ~= nil and statusItems[i].status.observedGeneration ~= nil and statusItems[i].status.observedGeneration ~= '' then
|
||||||
|
generation = statusItems[i].status.observedGeneration
|
||||||
|
end
|
||||||
|
if statusItems[i].status ~= nil and statusItems[i].status.daemonSetHash ~= nil and statusItems[i].status.daemonSetHash ~= '' then
|
||||||
|
daemonSetHash = statusItems[i].status.daemonSetHash
|
||||||
|
end
|
||||||
|
end
|
||||||
|
desiredObj.status.observedGeneration = generation
|
||||||
|
desiredObj.status.currentNumberScheduled = currentNumberScheduled
|
||||||
|
desiredObj.status.numberMisscheduled = numberMisscheduled
|
||||||
|
desiredObj.status.desiredNumberScheduled = desiredNumberScheduled
|
||||||
|
desiredObj.status.numberReady = numberReady
|
||||||
|
desiredObj.status.updatedNumberScheduled = updatedNumberScheduled
|
||||||
|
desiredObj.status.numberAvailable = numberAvailable
|
||||||
|
desiredObj.status.numberUnavailable = numberUnavailable
|
||||||
|
desiredObj.status.daemonSetHash = daemonSetHash
|
||||||
|
return desiredObj
|
||||||
|
end
|
||||||
|
statusReflection:
|
||||||
|
luaScript: >
|
||||||
|
function ReflectStatus (observedObj)
|
||||||
|
status = {}
|
||||||
|
if observedObj == nil or observedObj.status == nil then
|
||||||
|
return status
|
||||||
|
end
|
||||||
|
status.observedGeneration = observedObj.status.observedGeneration
|
||||||
|
status.currentNumberScheduled = observedObj.status.currentNumberScheduled
|
||||||
|
status.numberMisscheduled = observedObj.status.numberMisscheduled
|
||||||
|
status.desiredNumberScheduled = observedObj.status.desiredNumberScheduled
|
||||||
|
status.numberReady = observedObj.status.numberReady
|
||||||
|
status.updatedNumberScheduled = observedObj.status.updatedNumberScheduled
|
||||||
|
status.numberAvailable = observedObj.status.numberAvailable
|
||||||
|
status.numberUnavailable = observedObj.status.numberUnavailable
|
||||||
|
status.daemonSetHash = observedObj.status.daemonSetHash
|
||||||
|
return status
|
||||||
|
end
|
||||||
|
healthInterpretation:
|
||||||
|
luaScript: >
|
||||||
|
function InterpretHealth(observedObj)
|
||||||
|
if observedObj.status.observedGeneration ~= observedObj.metadata.generation then
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
if observedObj.status.updatedNumberScheduled < observedObj.status.desiredNumberScheduled then
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
if observedObj.status.numberAvailable < observedObj.status.updatedNumberScheduled then
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
dependencyInterpretation:
|
||||||
|
luaScript: >
|
||||||
|
local kube = require("kube")
|
||||||
|
function GetDependencies(desiredObj)
|
||||||
|
refs = kube.getPodDependencies(desiredObj.spec.template, desiredObj.metadata.namespace)
|
||||||
|
return refs
|
||||||
|
end
|
|
@ -0,0 +1,34 @@
|
||||||
|
apiVersion: apps.kruise.io/v1alpha1
|
||||||
|
kind: DaemonSet
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: sample-daemonset
|
||||||
|
name: sample
|
||||||
|
namespace: test-kruise-daemonset
|
||||||
|
spec:
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: sample-daemonset
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: sample-daemonset
|
||||||
|
spec:
|
||||||
|
volumes:
|
||||||
|
- name: configmap
|
||||||
|
configMap:
|
||||||
|
name: my-sample-config
|
||||||
|
containers:
|
||||||
|
- name: nginx
|
||||||
|
image: nginx:alpine
|
||||||
|
env:
|
||||||
|
- name: logData
|
||||||
|
valueFrom:
|
||||||
|
configMapKeyRef:
|
||||||
|
name: mysql-config
|
||||||
|
key: log
|
||||||
|
- name: lowerData
|
||||||
|
valueFrom:
|
||||||
|
configMapKeyRef:
|
||||||
|
name: mysql-config
|
||||||
|
key: lower
|
|
@ -0,0 +1,44 @@
|
||||||
|
apiVersion: apps.kruise.io/v1alpha1
|
||||||
|
kind: DaemonSet
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: sample-daemonset
|
||||||
|
name: sample
|
||||||
|
namespace: test-kruise-daemonset
|
||||||
|
generation: 1
|
||||||
|
spec:
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: sample-daemonset
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: sample-daemonset
|
||||||
|
spec:
|
||||||
|
volumes:
|
||||||
|
- name: configmap
|
||||||
|
configMap:
|
||||||
|
name: my-sample-config
|
||||||
|
containers:
|
||||||
|
- name: nginx
|
||||||
|
image: nginx:alpine
|
||||||
|
env:
|
||||||
|
- name: logData
|
||||||
|
valueFrom:
|
||||||
|
configMapKeyRef:
|
||||||
|
name: mysql-config
|
||||||
|
key: log
|
||||||
|
- name: lowerData
|
||||||
|
valueFrom:
|
||||||
|
configMapKeyRef:
|
||||||
|
name: mysql-config
|
||||||
|
key: lower
|
||||||
|
status:
|
||||||
|
currentNumberScheduled: 1
|
||||||
|
daemonSetHash: 7dd59cf749
|
||||||
|
desiredNumberScheduled: 1
|
||||||
|
numberAvailable: 1
|
||||||
|
numberMisscheduled: 0
|
||||||
|
numberReady: 1
|
||||||
|
observedGeneration: 1
|
||||||
|
updatedNumberScheduled: 1
|
|
@ -0,0 +1,25 @@
|
||||||
|
applied: true
|
||||||
|
clusterName: member1
|
||||||
|
health: Healthy
|
||||||
|
status:
|
||||||
|
currentNumberScheduled: 1
|
||||||
|
daemonSetHash: 7dd59cf749
|
||||||
|
desiredNumberScheduled: 1
|
||||||
|
numberAvailable: 1
|
||||||
|
numberMisscheduled: 0
|
||||||
|
numberReady: 1
|
||||||
|
observedGeneration: 1
|
||||||
|
updatedNumberScheduled: 1
|
||||||
|
---
|
||||||
|
applied: true
|
||||||
|
clusterName: member3
|
||||||
|
health: Healthy
|
||||||
|
status:
|
||||||
|
currentNumberScheduled: 1
|
||||||
|
daemonSetHash: 7dd59cf749
|
||||||
|
desiredNumberScheduled: 1
|
||||||
|
numberAvailable: 1
|
||||||
|
numberMisscheduled: 0
|
||||||
|
numberReady: 1
|
||||||
|
observedGeneration: 1
|
||||||
|
updatedNumberScheduled: 1
|
Loading…
Reference in New Issue