เดเดเตเดเดณเตเดเต เดฌเตเดฒเตเดเดฟเตฝ เดเดคเดฟเดจเดเด เดฒเตเดเดจเดเตเดเตพ เดธเดเดธเดพเดฐเดฟเดเตเดเต
เดเดจเตเดคเตเดเตเดฃเตเดเต?
เดเดฐเต เดทเตเตฝ-เดเดชเตเดชเดฑเตเดฑเตเดฑเตผ เดเดจเตเดจ เดเดถเดฏเด เดตเดณเดฐเต เดฒเดณเดฟเดคเดฎเดพเดฃเต: เดเตเดฌเตผเดจเตเดฑเตเดฑเดธเต เดเดฌเตโเดเดเตเดฑเตเดฑเตเดเดณเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดเดตเดจเตเดฑเตเดเตพ เดธเดฌเตโเดธเตโเดเตเดฐเตเดฌเตเดเตเดฏเตเดฏเตเด, เด เดเดตเดจเตเดฑเตเดเตพ เดฒเดญเดฟเดเตเดเตเดฎเตเดชเตเตพ, เดเดฐเต เดฌเดพเดนเตเดฏ เดชเตเดฐเตเดเตเดฐเดพเด เดธเดฎเดพเดฐเดเดญเดฟเดเตเดเตเด, เดเดตเดจเตเดฑเดฟเดจเตเดเตเดเตเดฑเดฟเดเตเดเตเดณเตเดณ เดตเดฟเดตเดฐเดเตเดเตพ เดจเตฝเดเตเดจเตเดจเต:
เดเตเดฒเดธเตเดฑเตเดฑเดฑเตเดเดณเตเดเต เดชเตเดฐเดตเตผเดคเตเดคเดจ เดธเดฎเดฏเดคเตเดคเต, เดถเดฐเดฟเดฏเดพเดฏ เดฐเตเดคเดฟเดฏเดฟเตฝ เดฏเดพเดจเตเดคเตเดฐเดฟเดเดฎเดพเดเตเดเดพเตป เดเดเตเดเตพ เดถเดฐเดฟเดเตเดเตเด เดเดเตเดฐเดนเดฟเดเตเดเตเดจเตเดจ เดเตเดฑเดฟเดฏ เดเตเดฒเดฟเดเตพ เดชเตเดฐเดคเตเดฏเดเตเดทเดชเตเดชเตเดเดพเตป เดคเตเดเดเตเดเดฟเดฏเดชเตเดชเตเตพ เด เดคเดฟเดจเตเดฑเต เดเดตเดถเตเดฏเดเดค เดเดฏเตผเดจเตเดจเต. เด เดเตเดฑเดฟเดฏ เดเตเดฒเดฟเดเดณเตเดฒเตเดฒเดพเด เดฒเดณเดฟเดคเดฎเดพเดฏ เดฌเดพเดทเต เดธเตเดเตเดฐเดฟเดชเตเดฑเตเดฑเตเดเตพ เดเดชเดฏเตเดเดฟเดเตเดเดพเดฃเต เดชเดฐเดฟเดนเดฐเดฟเดเตเดเดคเต, เดเดจเตเดจเดฟเดฐเตเดจเตเดจเดพเดฒเตเด, เดจเดฟเดเตเดเตพเดเตเดเดฑเดฟเดฏเดพเดตเตเดจเตเดจเดคเตเดชเตเดฒเต, เดเตเดฒเดพเดเดเดฟเตฝ เดเดชเตเดชเดฑเตเดฑเตเดฑเตผเดฎเดพเดฐเต เดเดดเตเดคเตเดจเตเดจเดคเดพเดฃเต เดจเดฒเตเดฒเดคเต. เดตเตเดฏเดเตเดคเดฎเดพเดฏเตเด, เด เดคเตเดคเดฐเด เดเดฐเต เดเตเดฑเดฟเดฏ เดเตเดฒเดฟเดเตเดเตเด เดเดฐเต เดเดชเตเดชเดฑเตเดฑเตเดฑเดฑเตเดเต เดชเตเตผเดฃเตเดฃเดฎเดพเดฏ เดตเดฟเดเดธเดจเดคเตเดคเดฟเตฝ เดจเดฟเดเตเดทเตเดชเดฟเดเตเดเตเดจเตเดจเดคเต เดซเดฒเดชเตเดฐเดฆเดฎเดฒเตเดฒ.
15 เดฎเดฟเดจเดฟเดฑเตเดฑเดฟเดจเตเดณเตเดณเดฟเตฝ เดเดชเตเดชเดฑเตเดฑเตเดฑเตผ
เดเดฐเต เดเตเดฌเตผเดจเตเดฑเตเดฑเดธเต เดเตเดฒเดธเตเดฑเตเดฑเดฑเดฟเตฝ เดเดจเตเดคเตเดเตเดเต เดเดเตเดเตเดฎเตเดฑเตเดฑเต เดเตเดฏเตเดฏเดพเด, เดทเตเตฝ-เดเดชเตเดชเดฑเตเดฑเตเดฑเตผ เดเดเตเดเดจเต เดธเดนเดพเดฏเดฟเดเตเดเดพเด เดเดจเตเดจเดคเดฟเดจเตเดฑเต เดเดฐเต เดเดฆเดพเดนเดฐเดฃเด เดจเตเดเตเดเดพเด. เดเดฐเต เดเดฆเดพเดนเดฐเดฃเด เดเดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจเดคเดพเดฏเดฟเดฐเดฟเดเตเดเตเด: เดกเตเดเตเดเตผ เดฐเดเดฟเดธเตเดเตเดฐเดฟ เดเดเตเดธเดธเต เดเตเดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดเดฐเต เดฐเดนเดธเตเดฏเด เดชเดเตผเดคเตเดคเตเด.
เดเดฐเต เดธเตเดตเดเดพเดฐเตเดฏ เดฐเดเดฟเดธเตโเดเตเดฐเดฟเดฏเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดเดฟเดคเตเดฐเดเตเดเตพ เดเดชเดฏเตเดเดฟเดเตเดเตเดจเตเดจ เดชเตเดกเตเดเดณเดฟเตฝ เดฐเดเดฟเดธเตโเดเตเดฐเดฟ เดเดเตโเดธเดธเต เดเตเดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดกเดพเดฑเตเดฑเดฏเตเดณเตเดณ เดเดฐเต เดฐเดนเดธเตเดฏเดคเตเดคเดฟเดฒเตเดเตเดเตเดณเตเดณ เดฒเดฟเดเตเดเต เด เดตเดฏเตเดเต เดฎเดพเดจเดฟเดซเตเดธเตเดฑเตเดฑเดฟเตฝ เดเดฃเตเดเดพเดฏเดฟเดฐเดฟเดเตเดเดฃเด. เดเดฐเต เดจเตเดฏเดฟเดเดธเตโเดชเตเดฏเตโเดธเดฟเดฒเตเด เดชเตเดกเตโเดธเต เดธเตเดทเตโเดเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเต เดฎเตเดฎเตเดชเต เด เดฐเดนเดธเตเดฏเด เดธเตเดทเตโเดเดฟเดเตเดเดฟเดฐเดฟเดเตเดเดฃเด. เดเดคเต เดธเตเดตเดฎเตเดงเดฏเดพ เดเตเดฏเตเดฏเดพเตป เดเดดเดฟเดฏเตเด, เดชเดเตเดทเต เดเดเตเดเตพ เดกเตเดจเดพเดฎเดฟเดเต เดเตปเดตเดฏเตเตบเดฎเตเดจเตเดฑเตเดเตพ เดธเดเตเดเตเดเดฐเดฟเดเตเดเตเดเดฏเดพเดฃเตเดเตเดเดฟเตฝ, เดเดฐเต เดเดชเตเดฒเดฟเดเตเดเตเดทเดจเตเดฑเต เดจเตเดฏเดฟเดเดธเตเดชเตเดธเต เดตเดณเดฐเตเดฏเดงเดฟเดเด เดฎเดพเดฑเตเด. เดเตเดเดพเดคเต 2-3 เดเดชเตเดฒเดฟเดเตเดเตเดทเดจเตเดเตพ เดเดฒเตเดฒเตเดเตเดเดฟเตฝ... เดฐเดนเดธเตเดฏเดเตเดเดณเตเดเต เดเดฃเตเดฃเด เดตเดณเดฐเต เดตเดฒเตเดคเดพเดฏเดฟเดฐเดฟเดเตเดเตเด. เดฐเดนเดธเตเดฏเดเตเดเดณเตเดเตเดเตเดฑเดฟเดเตเดเต เดเดฐเต เดเดพเดฐเตเดฏเด เดเตเดเดฟ: เดเดพเดฒเดพเดเดพเดฒเดเตเดเดณเดฟเตฝ เดฐเดเดฟเดธเตเดเตเดฐเดฟ เดเดเตเดธเดธเต เดเตเดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเต เดเต เดฎเดพเดฑเตเดฑเดพเตป เดเดพเตป เดเดเตเดฐเดนเดฟเดเตเดเตเดจเตเดจเต. เดเดเตเดตเดฟเตฝ, เดฎเดพเดจเตเดตเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดจเดเตเดเตพ เดเดฐเต เดชเดฐเดฟเดนเดพเดฐเดฎเดพเดฏเดฟ เดชเตเตผเดฃเตเดฃเดฎเดพเดฏเตเด เดซเดฒเดชเตเดฐเดฆเดฎเดฒเตเดฒ โ เดฐเดนเดธเตเดฏเดเตเดเตพ เดธเตเดทเตเดเดฟเดเตเดเตเดจเตเดจเดคเตเด เด เดชเตเดกเตเดฑเตเดฑเต เดเตเดฏเตเดฏเตเดจเตเดจเดคเตเด เดเดเตเดเตพ เดเดเตเดเตเดฎเตเดฑเตเดฑเต เดเตเดฏเตเดฏเตเดฃเตเดเดคเตเดฃเตเดเต.
เดฒเดณเดฟเดคเดฎเดพเดฏ เดเดเตเดเตเดฎเตเดทเตป
เดเดฐเต N เดธเตเดเตเดเดจเตเดฑเดฟเดฒเตเด เดเดฐเดฟเดเตเดเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเดจเตเดจ เดเดฐเต เดทเตเตฝ เดธเตเดเตเดฐเดฟเดชเตเดฑเตเดฑเต เดเดดเตเดคเดพเด, เดเดฐเต เดฐเดนเดธเตเดฏเดคเตเดคเดฟเดจเตเดฑเต เดธเดพเดจเตเดจเดฟเดงเตเดฏเดคเตเดคเดฟเดจเดพเดฏเดฟ เดจเตเดฏเดฟเดเดธเตเดชเตเดธเตเดเตพ เดชเดฐเดฟเดถเตเดงเดฟเดเตเดเตเดจเตเดจเต, เดฐเดนเดธเตเดฏเด เดเดฒเตเดฒเตเดเตเดเดฟเตฝ, เด เดคเต เดธเตเดทเตเดเดฟเดเตเดเดชเตเดชเตเดเตเด. เด เดชเดฐเดฟเดนเดพเดฐเดคเตเดคเดฟเดจเตเดฑเต เดชเตเดฐเดฏเตเดเดจเด, เดเดคเต เดเตเดฐเตเดฃเดฟเตฝ เดเดฐเต เดทเตเตฝ เดธเตเดเตเดฐเดฟเดชเตเดฑเตเดฑเต เดชเตเดฒเต เดเดพเดฃเดชเตเดชเตเดเตเดจเตเดจเต เดเดจเตเดจเดคเดพเดฃเต - เดเดฒเตเดฒเดพเดตเตผเดเตเดเตเดฎเดพเดฏเดฟ เดเดฐเต เดเตเดฒเดพเดธเดฟเดเต, เดฎเดจเดธเตเดธเดฟเดฒเดพเดเตเดเดพเดตเตเดจเตเดจ เดธเดฎเตเดชเดจเด. เด เดคเดฟเดจเตเดฑเต เดฒเตเดเตเดเตเดเตพเดเตเดเดฟเดเดฏเดฟเดฒเตเดณเตเดณ เดเดเดตเตเดณเดฏเดฟเตฝ เดเดฐเต เดชเตเดคเดฟเดฏ เดจเตเดฏเดฟเดเดธเตโเดชเตเดฏเตโเดธเต เดธเตเดทเตโเดเดฟเดเตเดเดพเตป เดเดดเดฟเดฏเตเด, เดเตเดฑเดเตเดเต เดธเดฎเดฏเดคเตเดคเตเดเตเดเต เด เดคเต เดเดฐเต เดฐเดนเดธเตเดฏเดตเตเดฎเดฟเดฒเตเดฒเดพเดคเต เดจเดฟเดฒเดจเดฟเตฝเดเตเดเตเด, เดเดคเต เดชเตเดกเตเดเตพ เดธเดฎเดพเดฐเดเดญเดฟเดเตเดเตเดจเตเดจเดคเดฟเตฝ เดชเดฟเดถเดเตเดเดณเดฟเดฒเตเดเตเดเต เดจเดฏเดฟเดเตเดเตเด.
เดทเตเตฝ-เดเดชเตเดชเดฑเตเดฑเตเดฑเตผ เดเดณเตเดณ เดเดเตเดเตเดฎเตเดทเตป
เดเดเตเดเดณเตเดเต เดธเตเดเตเดฐเดฟเดชเตเดฑเตเดฑเต เดถเดฐเดฟเดฏเดพเดฏเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเต, เดเดฐเต เดจเตเดฏเดฟเดเดธเตเดชเตเดธเต เดเตเตผเดเตเดเตเดฎเตเดชเตเตพ, เดเตเดฒเดพเดธเดฟเดเต เดเตเดฐเตเตบ เดฒเตเดเตเดเต เดเดฐเต เดฒเตเดเตเดเต เดเดชเดฏเตเดเดฟเดเตเดเต เดฎเดพเดฑเตเดฑเดฟเดธเตเดฅเดพเดชเดฟเดเตเดเตเดฃเตเดเดคเตเดฃเตเดเต: เด เดธเดพเดนเดเดฐเตเดฏเดคเตเดคเดฟเตฝ, เด เดคเต เดเดชเดฏเตเดเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเต เดฎเตเดฎเตเดชเต เดจเดฟเดเตเดเตพเดเตเดเต เดเดฐเต เดฐเดนเดธเตเดฏเด เดธเตเดทเตเดเดฟเดเตเดเดพเตป เดเดดเดฟเดฏเตเด. เดทเตเตฝ-เดเดชเตเดชเดฑเตเดฑเตเดฑเตผ เดเดชเดฏเตเดเดฟเดเตเดเต เดเดคเต เดเดเตเดเดจเต เดจเดเดชเตเดชเดฟเดฒเดพเดเตเดเดพเดฎเตเดจเตเดจเต เดจเตเดเตเดเดพเด.
เดเดฆเตเดฏเด, เดจเดฎเตเดเตเดเต เดคเดฟเดฐเดเตเดเดฅ เดจเตเดเตเดเดพเด. เดทเตเตฝ-เดเดชเตเดชเดฑเตเดฑเตเดฑเตผ เดชเดฆเดเตเดเดณเดฟเดฒเตเดณเตเดณ เดธเตเดเตเดฐเดฟเดชเตเดฑเตเดฑเตเดเดณเต เดนเตเดเตเดเตเดเตพ เดเดจเตเดจเต เดตเดฟเดณเดฟเดเตเดเตเดจเตเดจเต. เดเดฐเต เดเตเดเดฟเดฏเตเดฎเดพเดฏเดฟ เดเดเตเดฎเตเดชเตเตพ เดเดฐเต เดเตเดณเตเดคเตเดคเตเด --config
เด
เดคเดฟเดจเตเดฑเต เดฌเตเตปเดกเดฟเดเดเตเดเดณเตเดเตเดเตเดฑเดฟเดเตเดเต เดทเตเตฝ-เดเดชเตเดชเดฑเตเดฑเตเดฑเดฑเต เด
เดฑเดฟเดฏเดฟเดเตเดเตเดจเตเดจเต, เด
เดคเดพเดฏเดคเต. เดเดคเตเดเตเดเต เดเดตเดจเตเดฑเตเดเดณเดฟเดฒเดพเดฃเต เดเดคเต เดฒเตเดเตเดเต เดเตเดฏเตเดฏเตเดฃเตเดเดคเต. เดเดเตเดเดณเตเดเต เดเดพเดฐเตเดฏเดคเตเดคเดฟเตฝ เดเดเตเดเตพ เดเดชเดฏเตเดเดฟเดเตเดเตเด onKubernetesEvent
:
#!/bin/bash
if [[ $1 == "--config" ]] ; then
cat <<EOF
{
"onKubernetesEvent": [
{ "kind": "namespace",
"event":["add"]
}
]}
EOF
fi
เดเดตเดจเตเดฑเตเดเตพ เดเตเตผเดเตเดเตเดจเตเดจเดคเดฟเตฝ เดเดเตเดเตพเดเตเดเต เดคเดพเตฝเดชเตเดชเดฐเตเดฏเดฎเตเดฃเตเดเตเดจเตเดจเต เดเดตเดฟเดเต เดตเดฟเดตเดฐเดฟเดเตเดเตเดจเตเดจเต (add
) เดคเดฐเดคเตเดคเดฟเดฒเตเดณเตเดณ เดตเดธเตเดคเตเดเตเดเตพ namespace
.
เดเดตเดจเตเดฑเต เดธเดเดญเดตเดฟเดเตเดเตเดฎเตเดชเตเตพ เดเดเตเดธเดฟเดเตเดฏเตเดเตเดเต เดเตเดฏเตเดฏเตเดจเตเดจ เดเตเดกเต เดจเดฟเดเตเดเตพ เดเดชเตเดชเตเตพ เดเตเตผเดเตเดเตเดฃเตเดเดคเตเดฃเตเดเต:
#!/bin/bash
if [[ $1 == "--config" ]] ; then
# ะบะพะฝัะธะณััะฐัะธั
cat <<EOF
{
"onKubernetesEvent": [
{ "kind": "namespace",
"event":["add"]
}
]}
EOF
else
# ัะตะฐะบัะธั:
# ัะทะฝะฐัั, ะบะฐะบะพะน namespace ะฟะพัะฒะธะปัั
createdNamespace=$(jq -r '.[0].resourceName' $BINDING_CONTEXT_PATH)
# ัะพะทะดะฐัั ะฒ ะฝัะผ ะฝัะถะฝัะน ัะตะบัะตั
kubectl create -n ${createdNamespace} -f - <<EOF
apiVersion: v1
kind: Secret
metadata:
...
data:
...
EOF
fi
เดเตเดณเตเดณเดพเด! เดซเดฒเด เดเตเดฑเตเดคเตเด เดฎเดจเตเดนเดฐเดตเตเดฎเดพเดฏ เดเดฐเต เดคเดฟเดฐเดเตเดเดฅเดฏเดพเดฏเดฟเดฐเตเดจเตเดจเต. เดเดคเต "เดชเตเดจเดฐเตเดเตเดเตเดตเดฟเดชเตเดชเดฟเดเตเดเดพเตป", เดฐเดฃเตเดเต เดเดเตเดเดเตเดเตพ เด เดตเดถเตเดทเดฟเดเตเดเตเดจเตเดจเต: เดเดฟเดคเตเดฐเด เดคเดฏเตเดฏเดพเดฑเดพเดเตเดเดฟ เดเตเดฒเดธเตเดฑเตเดฑเดฑเดฟเตฝ เดธเดฎเดพเดฐเดเดญเดฟเดเตเดเตเด.
เดเดฐเต เดนเตเดเตเดเต เดเดชเดฏเตเดเดฟเดเตเดเต เดเดฐเต เดเดฟเดคเตเดฐเด เดคเดฏเตเดฏเดพเดฑเดพเดเตเดเตเดจเตเดจเต
เดจเดฟเดเตเดเตพ เดธเตเดเตเดฐเดฟเดชเตเดฑเตเดฑเต เดจเตเดเตเดเดฟเดฏเดพเตฝ, เดเดฎเดพเตปเดกเตเดเตพ เดเดชเดฏเตเดเดฟเดเตเดเตเดจเตเดจเดคเดพเดฏเดฟ เดจเดฟเดเตเดเตพเดเตเดเต เดเดพเดฃเดพเตป เดเดดเดฟเดฏเตเด kubectl
ะธ jq
. เดเดคเดฟเดจเตผเดคเตเดฅเด เดเดฟเดคเตเดฐเดคเตเดคเดฟเตฝ เดเดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดเดพเดฐเตเดฏเดเตเดเตพ เดเดฃเตเดเดพเดฏเดฟเดฐเดฟเดเตเดเดฃเด: เดเดเตเดเดณเตเดเต เดนเตเดเตเดเต, เดเดตเดจเตเดฑเตเดเตพ เดจเดฟเดฐเตเดเตเดทเดฟเดเตเดเตเดเดฏเตเด เดนเตเดเตเดเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเดเตเดเตเดเดฏเตเด เดเตเดฏเตเดฏเตเดจเตเดจ เดเดฐเต เดทเตเตฝ-เดเดชเตเดชเดฑเตเดฑเตเดฑเตผ, เดนเตเดเตเดเต เดเดชเดฏเตเดเดฟเดเตเดเตเดจเตเดจ เดเดฎเดพเตปเดกเตเดเตพ (kubectl, jq). Hub.docker.com-เตฝ เดเดคเดฟเดจเดเด เดคเดจเตเดจเต เดทเตเตฝ-เดเดชเตเดชเดฑเตเดฑเตเดฑเตผ, kubectl, jq เดเดจเตเดจเดฟเดต เดชเดพเดเตเดเตเดเตเดเตเดฏเตโเดค เดเดฐเต เดฑเตเดกเดฟเดฎเตเดฏเตเดกเต เดเดฎเตเดเต เดเดฃเตเดเต. เดเดฐเต เดฒเดณเดฟเดคเดฎเดพเดฏ เดนเตเดเตเดเต เดเตเตผเดเตเดเดพเตป เดฎเดพเดคเตเดฐเดฎเดพเดฃเต เด
เดตเดถเตเดทเดฟเดเตเดเตเดจเตเดจเดคเต Dockerfile
:
$ cat Dockerfile
FROM flant/shell-operator:v1.0.0-beta.1-alpine3.9
ADD namespace-hook.sh /hooks
$ docker build -t registry.example.com/my-operator:v1 .
$ docker push registry.example.com/my-operator:v1
เดเดฐเต เดเตเดฒเดธเตเดฑเตเดฑเดฑเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเดจเตเดจเต
เดจเดฎเตเดเตเดเต เดตเตเดฃเตเดเตเด เดนเตเดเตเดเต เดจเตเดเตเดเดพเด, เด เดธเดฎเดฏเด เดเตเดฒเดธเตเดฑเตเดฑเดฑเดฟเตฝ เดเดจเตเดคเต เดชเตเดฐเดตเตผเดคเตเดคเดจเดเตเดเตพ เดเตเดฏเตเดฏเตเดจเตเดจเต, เดเดคเตเดเตเดเต เดตเดธเตเดคเตเดเตเดเดณเดพเดฃเต เด เดคเต เดเตเดฏเตเดฏเตเดจเตเดจเดคเต เดเดจเตเดจเต เดเดดเตเดคเตเด:
- เดจเตเดฏเดฟเดเดธเตเดชเตเดธเต เดธเตเดทเตเดเดฟเดเตเดเตฝ เดเดตเดจเตเดฑเตเดเตพ เดธเดฌเตเดธเตเดเตเดฐเตเดฌเต เดเตเดฏเตเดฏเตเดจเตเดจเต;
- เดฒเตเดเตเดเต เดเตเดฏเตเดฏเตเดจเตเดจเดฟเดเดคเตเดคเต เดเดดเดฟเดเตเดฏเตเดณเตเดณ เดจเตเดฏเดฟเดเดธเตเดชเตเดธเตเดเดณเดฟเตฝ เดเดฐเต เดฐเดนเดธเตเดฏเด เดธเตเดทเตเดเดฟเดเตเดเตเดจเตเดจเต.
เดเดเตเดเดณเตเดเต เดเดฎเตเดเต เดฒเตเดเตเดเต เดเตเดฏเตเดฏเตเดจเตเดจ เดชเตเดกเดฟเดจเต เด เดชเตเดฐเดตเตผเดคเตเดคเดจเดเตเดเตพ เดเตเดฏเตเดฏเดพเดจเตเดณเตเดณ เด เดจเตเดฎเดคเดฟเดเตพ เดเดฃเตเดเดพเดฏเดฟเดฐเดฟเดเตเดเดฃเดฎเตเดจเตเดจเต เดเดคเต เดฎเดพเดฑเตเดจเตเดจเต. เดจเดฟเดเตเดเดณเตเดเต เดธเตเดตเดจเตเดคเด เดธเตผเดตเตเดธเต เด เดเตเดเตเดฃเตเดเต เดธเตเดทเตเดเดฟเดเตเดเตเดเตเดฃเตเดเต เดเดคเต เดเตเดฏเตเดฏเดพเตป เดเดดเดฟเดฏเตเด. เด เดจเตเดฎเดคเดฟ เดเตเดฒเดธเตเดฑเตเดฑเตผ เดฑเตเตพ, เดเตเดฒเดธเตเดฑเตเดฑเตผ เดฑเตเตพ เดฌเตเตปเดกเดฟเดเดเต เดเดจเตเดจเดฟเดตเดฏเตเดเต เดฐเตเดชเดคเตเดคเดฟเดฒเดพเดฏเดฟเดฐเดฟเดเตเดเดฃเด, เดเดพเดฐเดฃเด เดฎเตเดดเตเดตเตป เดเตเดฒเดธเตเดฑเตเดฑเดฑเดฟเตฝ เดจเดฟเดจเตเดจเตเดฎเตเดณเตเดณ เดตเดธเตเดคเตเดเตเดเดณเดฟเตฝ เดเดเตเดเตพเดเตเดเต เดคเดพเตฝเดชเตเดชเดฐเตเดฏเดฎเตเดฃเตเดเต.
YAML-เดฒเต เด เดตเดธเดพเดจ เดตเดฟเดตเดฐเดฃเด เดเดคเตเดชเตเดฒเตเดฏเดพเดฏเดฟเดฐเดฟเดเตเดเตเด:
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: monitor-namespaces-acc
---
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRole
metadata:
name: monitor-namespaces
rules:
- apiGroups: [""]
resources: ["namespaces"]
verbs: ["get", "watch", "list"]
- apiGroups: [""]
resources: ["secrets"]
verbs: ["get", "list", "create", "patch"]
---
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRoleBinding
metadata:
name: monitor-namespaces
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: monitor-namespaces
subjects:
- kind: ServiceAccount
name: monitor-namespaces-acc
namespace: example-monitor-namespaces
เดเดฐเต เดฒเดณเดฟเดคเดฎเดพเดฏ เดตเดฟเดจเตเดฏเดพเดธเดฎเดพเดฏเดฟ เดจเดฟเดเตเดเตพเดเตเดเต เด เดธเดเดฌเดฟเตพ เดเตเดฏเตเดค เดเดฟเดคเตเดฐเด เดธเดฎเดพเดฐเดเดญเดฟเดเตเดเดพเด:
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: my-operator
spec:
template:
spec:
containers:
- name: my-operator
image: registry.example.com/my-operator:v1
serviceAccountName: monitor-namespaces-acc
เดธเตเดเดฐเตเดฏเดพเตผเดคเตเดฅเด, เดทเตเตฝ-เดเดชเตเดชเดฑเตเดฑเตเดฑเตผ เดธเดฎเดพเดฐเดเดญเดฟเดเตเดเตเดเดฏเตเด เดธเตเดทเตเดเดฟเดเตเด เดฎเดพเดจเดฟเดซเตเดธเตเดฑเตเดฑเตเดเตพ เดชเตเดฐเดฏเตเดเดฟเดเตเดเตเดเดฏเตเด เดเตเดฏเตเดฏเตเดจเตเดจ เดเดฐเต เดชเตเดฐเดคเตเดฏเตเด เดจเตเดฏเดฟเดเดธเตเดชเตเดธเต เดธเตเดทเตเดเดฟเดเตเดเดชเตเดชเตเดเตเดจเตเดจเต:
$ kubectl create ns example-monitor-namespaces
$ kubectl -n example-monitor-namespaces apply -f rbac.yaml
$ kubectl -n example-monitor-namespaces apply -f deployment.yaml
เด เดคเตเดฐเดฏเตเดฏเตเดณเตเดณเต: เดทเตเตฝ-เดเดชเตเดชเดฑเตเดฑเตเดฑเตผ เดเดฐเดเดญเดฟเดเตเดเตเด, เดจเตเดฏเดฟเดเดธเตโเดชเตเดธเต เดธเตเดทเตโเดเดฟเดเตเดเตฝ เดเดตเดจเตเดฑเตเดเตพ เดธเดฌเตโเดธเตโเดเตเดฐเตเดฌเต เดเตเดฏเตเดฏเตเดเดฏเตเด เดเดตเดถเตเดฏเดฎเตเดณเตเดณเดชเตเดชเตเตพ เดนเตเดเตเดเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเดเตเดเตเดเดฏเตเด เดเตเดฏเตเดฏเตเด.
เด
เดเตเดเดจเต, เดเดฐเต เดฒเดณเดฟเดคเดฎเดพเดฏ เดทเตเตฝ เดธเตเดเตเดฐเดฟเดชเตเดฑเตเดฑเต เดเตเดฌเตผเดจเตเดฑเตเดฑเดธเดฟเดจเตเดฑเต เดฏเดฅเดพเตผเดคเตเดฅ เดเดชเตเดชเดฑเตเดฑเตเดฑเดฑเดพเดฏเดฟ เดฎเดพเดฑเดฟ เดเดฐเต เดเตเดฒเดธเตเดฑเตเดฑเดฑเดฟเดจเตเดฑเต เดญเดพเดเดฎเดพเดฏเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเดจเตเดจเต. เดเตเดฒเดพเดเตเดเดฟเตฝ เดเดชเตเดชเดฑเตเดฑเตเดฑเตผเดฎเดพเดฐเต เดตเดฟเดเดธเดฟเดชเตเดชเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดธเดเตเดเตเตผเดฃเตเดฃเดฎเดพเดฏ เดชเตเดฐเดเตเดฐเดฟเดฏเดฏเดฟเดฒเตเดฒเดพเดคเต เดเดคเตเดฒเตเดฒเดพเด:
เด เดตเดฟเดทเดฏเดคเตเดคเดฟเตฝ เดฎเดฑเตเดฑเตเดฐเต เดฆเตเดทเตเดเดพเดจเตเดคเดฎเตเดฃเตเดเต...
เดเดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดชเตเดฐเดธเดฟเดฆเตเดงเตเดเดฐเดฃเดเตเดเดณเดฟเดฒเตเดจเตเดจเดฟเตฝ เดเดเตเดเตพ เด
เดคเดฟเดจเตเดฑเต เด
เตผเดคเตเดฅเด เดเตเดเตเดคเตฝ เดตเดฟเดถเดฆเดฎเดพเดฏเดฟ เดตเตเดณเดฟเดชเตเดชเตเดเตเดคเตเดคเตเด.
เดซเดฟเตฝเดเตเดเดฑเดฟเดเดเต
เดเดฌเตโเดเดเตโเดฑเตเดฑเตเดเตพ เดเตเดฐเดพเดเตเดเตเดเตเดฏเตเดฏเตเดจเตเดจเดคเต เดจเดฒเตเดฒเดคเดพเดฃเต, เดชเดเตเดทเต เดชเดฒเดชเตเดชเตเดดเตเด เดชเตเดฐเดคเดฟเดเดฐเดฟเดเตเดเตเดฃเตเด เดเดตเดถเตเดฏเดฎเตเดฃเตเดเต เดเดฟเดฒ เดเดฌเตเดเดเตเดฑเตเดฑเต เดชเตเดฐเตเดชเตเดชเตผเดเตเดเดฟเดเตพ เดฎเดพเดฑเตเดฑเตเดจเตเดจเต, เดเดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดตเดฟเดจเตเดฏเดพเดธเดคเตเดคเดฟเดฒเต เดชเดเตผเดชเตเดชเตเดเดณเตเดเต เดเดฃเตเดฃเด เดฎเดพเดฑเตเดฑเตเดจเตเดจเดคเดฟเดจเต เดเดฌเตเดเดเตเดฑเตเดฑเต เดฒเตเดฌเดฒเตเดเตพ เดฎเดพเดฑเตเดฑเตเดจเตเดจเดคเดฟเดจเต.
เดเดฐเต เดเดตเดจเตเดฑเต เดเดคเตเดคเตเดฎเตเดชเตเตพ, เดทเตเตฝ-เดเดชเตเดชเดฑเตเดฑเตเดฑเตผ เดเดฌเตเดเดเตเดฑเตเดฑเดฟเดจเตเดฑเต JSON เดฎเดพเดจเดฟเดซเตเดธเตเดฑเตเดฑเต เดธเตเดตเตเดเดฐเดฟเดเตเดเตเดจเตเดจเต. เด JSON-เตฝ เดจเดฎเตเดเตเดเต เดคเดพเตฝเดชเตเดชเดฐเตเดฏเดฎเตเดณเตเดณ เดชเตเดฐเตเดชเตเดชเตผเดเตเดเดฟเดเตพ เดคเดฟเดฐเดเตเดเตเดเตเดคเตเดคเต เดนเตเดเตเดเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเดเตเดเดพเด เดฎเดพเดคเตเดฐเด เด
เดตเตผ เดฎเดพเดฑเตเดฎเตเดชเตเตพ. เดเดคเดฟเดจเดพเดฏเดฟ เดเดฐเต เดฎเตเดคเดพเดจเดฎเตเดฃเตเดเต jqFilter
, JSON เดฎเดพเดจเดฟเดซเตเดธเตเดฑเตเดฑเดฟเดฒเตเดเตเดเต เดชเตเดฐเดฏเตเดเดฟเดเตเดเตเดจเตเดจ jq เดเดเตเดธเตเดชเตเดฐเดทเตป เดจเดฟเดเตเดเตพ เดตเตเดฏเดเตเดคเดฎเดพเดเตเดเตเดฃเตเดเดคเตเดฃเตเดเต.
เดเดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดตเดฟเดจเตเดฏเดพเดธ เดตเดธเตเดคเตเดเตเดเตพเดเตเดเตเดณเตเดณ เดฒเตเดฌเดฒเตเดเดณเดฟเดฒเต เดฎเดพเดฑเตเดฑเดเตเดเดณเตเดเต เดชเตเดฐเดคเดฟเดเดฐเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเต, เดจเดฟเดเตเดเตพ เดซเตเตฝเดกเต เดซเดฟเตฝเดเตเดเตผ เดเตเดฏเตเดฏเตเดฃเตเดเดคเตเดฃเตเดเต labels
เดตเดฏเดฒเดฟเดจเต เดชเตเดฑเดคเตเดคเต metadata
. เดเตเตบเดซเดฟเดเดฑเตเดทเตป เดเดคเตเดชเตเดฒเตเดฏเดพเดฏเดฟเดฐเดฟเดเตเดเตเด:
cat <<EOF
{
"onKubernetesEvent": [
{ "kind": "deployment",
"event":["update"],
"jqFilter": ".metadata.labels"
}
]}
EOF
เด jqFilter เดเดเตเดธเตเดชเตเดฐเดทเตป เดตเดฟเดจเตเดฏเดพเดธเดคเตเดคเดฟเดจเตเดฑเต เดจเตเดฃเตเด JSON เดฎเดพเดจเดฟเดซเตเดธเตเดฑเตเดฑเดฟเดจเต เดฒเตเดฌเดฒเตเดเดณเตเดณเตเดณ เดนเตเดฐเดธเตเดต JSON เดเดเตเดเดฟ เดฎเดพเดฑเตเดฑเตเดจเตเดจเต:
เด เดนเตเดฐเดธเตเดต JSON เดฎเดพเดฑเตเดฎเตเดชเตเตพ เดฎเดพเดคเตเดฐเดฎเต เดทเตเตฝ-เดเดชเตเดชเดฑเตเดฑเตเดฑเตผ เดนเตเดเตเดเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเดเตเดเตเดเดฏเตเดณเตเดณเต, เดฎเดฑเตเดฑเต เดชเตเดฐเตเดชเตเดชเตผเดเตเดเดฟเดเดณเดฟเดฒเตเดเตเดเตเดณเตเดณ เดฎเดพเดฑเตเดฑเดเตเดเตพ เด
เดตเดเดฃเดฟเดเตเดเดชเตเดชเตเดเตเด.
เดนเตเดเตเดเต เดฒเตเดเตเดเต เดธเดจเตเดฆเตผเดญเด
เดเดตเดจเตเดฑเตเดเตพเดเตเดเดพเดฏเดฟ เดจเดฟเดฐเดตเดงเดฟ เดเดชเตเดทเดจเตเดเตพ เดตเตเดฏเดเตเดคเดฎเดพเดเตเดเดพเตป เดนเตเดเตเดเต เดเตเตบเดซเดฟเดเดฑเตเดทเตป เดจเดฟเดเตเดเดณเต เด เดจเตเดตเดฆเดฟเดเตเดเตเดจเตเดจเต - เดเดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดเตเดฌเตผเดจเตเดฑเตเดฑเดธเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดเดตเดจเตเดฑเตเดเตพเดเตเดเตเดณเตเดณ 2 เดเดชเตโเดทเดจเตเดเดณเตเด 2 เดทเตเดกเตเดฏเตเดณเตเดเดณเตเด:
{"onKubernetesEvent":[
{"name":"OnCreatePod",
"kind": "pod",
"event":["add"]
},
{"name":"OnModifiedNamespace",
"kind": "namespace",
"event":["update"],
"jqFilter": ".metadata.labels"
}
],
"schedule": [
{ "name":"every 10 min",
"crontab":"* */10 * * * *"
}, {"name":"on Mondays at 12:10",
"crontab": "* 10 12 * * 1"
]}
เดเดฐเต เดเตเดฑเดฟเดฏ เดตเตเดฏเดคเดฟเดเดฒเดจเด: เด
เดคเต, เดทเตเตฝ-เดเดชเตเดชเดฑเตเดฑเตเดฑเตผ เดชเดฟเดจเตเดคเตเดฃเดฏเตเดเตเดเตเดจเตเดจเต เดเตเดฐเตเดฃเตเดเดพเดฌเต เดถเตเดฒเดฟเดฏเดฟเดฒเตเดณเตเดณ เดธเตเดเตเดฐเดฟเดชเตเดฑเตเดฑเตเดเตพ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเดเตเดเตเดจเตเดจเต. เดเตเดเตเดคเตฝ เดตเดฟเดถเดฆเดพเดเดถเดเตเดเตพ เดเดฃเตเดเตเดคเตเดคเดพเดจเดพเดเตเด
เดเดจเตเดคเตเดเตเดฃเตเดเดพเดฃเต เดนเตเดเตเดเต เดธเดฎเดพเดฐเดเดญเดฟเดเตเดเดคเตเดจเตเดจเต เดตเตเตผเดคเดฟเดฐเดฟเดเตเดเดฑเดฟเดฏเดพเตป, เดทเตเตฝ-เดเดชเตเดชเดฑเตเดฑเตเดฑเตผ เดเดฐเต เดคเดพเตฝเดเตเดเดพเดฒเดฟเด เดซเดฏเตฝ เดธเตเดทเตเดเดฟเดเตเดเตเดเดฏเตเด เด
เดคเดฟเดฒเตเดเตเดเตเดณเตเดณ เดชเดพเดค เดเดฐเต เดตเตเดฐเดฟเดฏเดฌเดฟเดณเดฟเตฝ เดนเตเดเตเดเดฟเดฒเตเดเตเดเต เดเตเดฎเดพเดฑเตเดเดฏเตเด เดเตเดฏเตเดฏเตเดจเตเดจเต. BINDING_CONTEXT_TYPE
. เดซเดฏเดฒเดฟเตฝ เดนเตเดเตเดเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเดเตเดเดพเดจเตเดณเตเดณ เดเดพเดฐเดฃเดคเตเดคเดฟเดจเตเดฑเต JSON เดตเดฟเดตเดฐเดฃเด เด
เดเดเตเดเดฟเดฏเดฟเดฐเดฟเดเตเดเตเดจเตเดจเต. เดเดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดเดฐเต 10 เดฎเดฟเดจเดฟเดฑเตเดฑเดฟเดฒเตเด เดนเตเดเตเดเต เดเดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดเดณเตเดณเดเดเตเดเดคเตเดคเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเด:
[{ "binding": "every 10 min"}]
... เดคเดฟเดเตเดเดณเดพเดดเตโเด เดเดคเต เดเดเตเดเดจเต เดคเตเดเดเตเดเตเด:
[{ "binding": "every 10 min"}, { "binding": "on Mondays at 12:10"}]
เดตเตเดฃเตเดเดฟ onKubernetesEvent
เดเตเดเตเดคเตฝ JSON เดเตเดฐเดฟเดเดฑเตเดเตพ เดเดฃเตเดเดพเดเตเด, เดเดพเดฐเดฃเด เด
เดคเดฟเตฝ เดตเดธเตเดคเตเดตเดฟเดจเตเดฑเต เดเดฐเต เดตเดฟเดตเดฐเดฃเด เด
เดเดเตเดเดฟเดฏเดฟเดฐเดฟเดเตเดเตเดจเตเดจเต:
[
{
"binding": "onCreatePod",
"resourceEvent": "add",
"resourceKind": "pod",
"resourceName": "foo",
"resourceNamespace": "bar"
}
]
เดซเตเตฝเดกเตเดเดณเตเดเต เดเดณเตเดณเดเดเตเดเด เด
เดตเดฏเตเดเต เดชเตเดฐเตเดเดณเดฟเตฝ เดจเดฟเดจเตเดจเต เดฎเดจเดธเตเดธเดฟเดฒเดพเดเตเดเดพเดจเตเด เดเตเดเตเดคเตฝ เดตเดฟเดถเดฆเดพเดเดถเดเตเดเตพ เดตเดพเดฏเดฟเดเตเดเดพเดจเตเด เดเดดเดฟเดฏเตเด resourceName
jq เดเดชเดฏเตเดเดฟเดเตเดเตเดจเตเดจเดคเต เดเดคเดฟเดจเดเด เดคเดจเตเดจเต เดฐเดนเดธเตเดฏเดเตเดเตพ เดเดตเตผเดคเตเดคเดฟเดเตเดเตเดจเตเดจ เดเดฐเต เดนเตเดเตเดเดฟเตฝ เดเดพเดฃเดฟเดเตเดเดฟเดฐเดฟเดเตเดเตเดจเตเดจเต:
jq -r '.[0].resourceName' $BINDING_CONTEXT_PATH
เดธเดฎเดพเดจเดฎเดพเดฏ เดฐเตเดคเดฟเดฏเดฟเตฝ เดจเดฟเดเตเดเตพเดเตเดเต เดฎเดฑเตเดฑเต เดซเตเตฝเดกเตเดเตพ เดฒเดญเดฟเดเตเดเตเด.
เด เดเตเดคเตเดคเดคเต เดเดจเตเดคเต?
เดชเตเดฐเตเดเดเตเดฑเตเดฑเต เดฑเดฟเดชเตเดชเตเดธเดฟเดฑเตเดฑเดฑเดฟเดฏเดฟเตฝ, เดเตป
เดชเตเดฐเตเดฎเดฟเดคเตเดฏเตเดธเต เดเดชเดฏเตเดเดฟเดเตเดเต เดฎเตเดเตเดฐเดฟเดเตโเดธเต เดถเตเดเดฐเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเต เดชเดฟเดจเตเดคเตเดฃเดฏเตเดฃเตเดเต - เดฒเดญเตเดฏเดฎเดพเดฏ เดฎเตเดเตเดฐเดฟเดเตโเดธเต เดตเดฟเดญเดพเดเดคเตเดคเดฟเตฝ เดตเดฟเดตเดฐเดฟเดเตเดเดฟเดฐเดฟเดเตเดเตเดจเตเดจเต
เดจเดฟเดเตเดเตพ เดเดนเดฟเดเตเดเตเดจเตเดจเดคเตเดชเตเดฒเต, เดทเตเตฝ-เดเดชเตเดชเดฑเตเดฑเตเดฑเตผ Go- เตฝ เดเดดเตเดคเตเดเดฏเตเด เดเดฐเต เดเดชเตเดชเตบ เดธเตเดดเตเดธเต เดฒเตเดธเตปเดธเดฟเดจเต เดเตเดดเดฟเตฝ เดตเดฟเดคเดฐเดฃเด เดเตเดฏเตเดฏเตเดเดฏเตเด เดเตเดฏเตเดฏเตเดจเตเดจเต (เด
เดชเตเดชเดพเดเตเดเต 2.0). เดเดคเต เดตเดฟเดเดธเดจ เดธเดนเดพเดฏเดคเตเดคเดฟเดจเตเด เดเดเตเดเตพ เดจเดจเตเดฆเดฟเดฏเตเดณเตเดณเดตเดฐเดพเดฏเดฟเดฐเดฟเดเตเดเตเด
เดฐเดนเดธเตเดฏเดคเตเดคเดฟเดจเตเดฑเต เดฎเตเดเตเดชเดเด เดเดฏเตผเดคเตเดคเดฟ, เดทเตเตฝ เดเดชเตเดชเดฑเตเดฑเตเดฑเดฑเดพเดฃเตเดจเตเดจเตเด เดเดเตเดเตพ เดจเดฟเดเตเดเดณเต เด
เดฑเดฟเดฏเดฟเดเตเดเตเด เดเตเดฑเดฟเดฏ Kubernetes เดเตเดฒเดธเตเดฑเตเดฑเดฑเดฟเตฝ เดเตปเดธเตเดฑเตเดฑเดพเตพ เดเตเดฏเตเดค เดเดกเต-เดเดฃเตเดเตพ เดเดพเดฒเดฟเดเดฎเดพเดฏเดฟ เดจเดฟเดฒเดจเดฟเตผเดคเตเดคเดพเดจเตเด เดตเดฟเดตเดฟเดง เดธเตเดตเดฏเดฎเตเดตเดฏเตเดณเตเดณ เดชเตเดฐเดตเตผเดคเตเดคเดจเดเตเดเตพ เดจเดเดคเตเดคเดพเดจเตเด เดเดดเดฟเดฏเตเดจเตเดจ เดเดเตเดเดณเตเดเต เดธเดฟเดธเตเดฑเตเดฑเดคเตเดคเดฟเดจเตเดฑเต เดญเดพเดเด. เด เดธเดเดตเดฟเดงเดพเดจเดคเตเดคเตเดเตเดเตเดฑเดฟเดเตเดเต เดเตเดเตเดคเตฝ เดตเดพเดฏเดฟเดเตเดเตเด
เด เดธเดฟเดธเตเดฑเตเดฑเดคเตเดคเดฟเดจเตเดฑเต เดฌเดพเดเตเดเดฟ เดญเดพเดเด เดคเตเดฑเดเตเดเดพเตป เดเดเตเดเตพเดเตเดเต เดเดฐเต เดชเตเดฒเดพเดจเตเดฃเตเดเต: เดเดกเตเดเตบ-เดเดชเตเดชเดฑเตเดฑเตเดฑเดฑเตเด เดเดเตเดเดณเตเดเต เดนเตเดเตเดเตเดเดณเตเดเตเดฏเตเด เดฎเตเดกเตเดฏเตเดณเตเดเดณเตเดเตเดฏเตเด เดถเตเดเดฐเด. เดตเดดเดฟเดฏเดฟเตฝ, addon-operator เดเดคเดฟเดจเดเด เดเดฃเตเดเต
เดเดตเดฟเดเตเดคเตเดคเดจเตเดจเต เดจเดฟเตฝเดเตเดเตเด!
เดชเดฟ.เดเดธเต
เดเดเตเดเดณเตเดเต เดฌเตเดฒเตเดเดฟเดฒเตเด เดตเดพเดฏเดฟเดเตเดเตเด:
- ยซ
เดเตเดฌเตเตผเดจเตเดฑเตเดฑเดธเดฟเดจเดพเดฏเตเดณเตเดณ เดเดชเตเดชเดฑเตเดฑเตเดฑเตผเดฎเดพเตผ: เดธเตเดฑเตเดฑเตเดฑเตเดฑเตเดซเตเตพ เดเดชเตเดฒเดฟเดเตเดเตเดทเดจเตเดเตพ เดเดเตเดเดจเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเดเตเดเดพเด "; - ยซ
เดเตเดฒเดพเดเตเดเดฟเดฒเต เดเตเดฌเตเตผเดจเตเดฑเตเดฑเดธเดฟเดจเดพเดฏเดฟ เดเดฐเต เดเดชเตเดชเดฑเตเดฑเตเดฑเตผ เดเดดเตเดคเตเดจเตเดจเต "; - ยซ
เดเตเดฐเดพเดซเดพเดจเดฏเตโเดเตเดเดพเดฏเดฟ เดเดฐเต เดชเตเดคเดฟเดฏ เดชเตเดฒเดเดฟเตป เด เดตเดคเดฐเดฟเดชเตเดชเดฟเดเตเดเตเดจเตเดจเต - เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดธเตโเดฎเดพเดชเตเดชเต เดชเดพเดจเตฝ "; - ยซ
เดฒเตเดเตเดนเตเดธเต เด เดตเดคเดฐเดฟเดชเตเดชเดฟเดเตเดเตเดจเตเดจเต - เดเตเดฌเตผเดจเตเดฑเตเดฑเดธเดฟเดฒเต เดฒเตเดเตเดเตพเดเตเดเตเดชเตเดชเด เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดเดฐเต เดเดชเตเดชเตบ เดธเตเดดเตเดธเต เดธเดฟเดธเตเดฑเตเดฑเด "; - ยซ
เดเดเตเดเตพ เดเดฆเตเดฏเตเดเดฟเดเดฎเดพเดฏเดฟ dapp เด เดตเดคเดฐเดฟเดชเตเดชเดฟเดเตเดเตเดจเตเดจเต - CI/CD เด เดฑเตเดฑเดเตเดฑเตเดฑเดชเตเดชเดฃเดฟเดเตพเดเตเดเตเดณเตเดณ DevOps เดฏเตเดเตเดเดฟเดฒเดฟเดฑเตเดฑเดฟ ".
เด เดตเดฒเดเดฌเด: www.habr.com