8 ืืืคืจืื ืืื ืก
ืืคื ืืืกืืจืช, ืื ื ืฉืืืื ืืืฆืื
ืืืื ืืชืืกืคืืช ื-K8s
Kubernetes ืืฉื ื ืืช ืืชืขืฉืืื ืืืืืฉืืช ืืืื ืื ืฉืืืงืื ืื ืืืืจ:
- ืชืืื ืื ืืคืฉืืืช, ืื ืื ื ืืืจ ืื ืคืืขืืื ืขื ืืืฉืืื ืืื ืืืืจืช ืชืฆืืจื ืื ืืคืขืืช ืคืงืืื (Chef, Ansible...), ืืื ืืฉืชืืฉืื ืืงืืืืฅ ืงืื ืืืื ืจืื, ืฉืืจืืชืื ืืื'.
- ืื ืื ื ืืืืืื ืืืืื ืืืฉืืืื ืืืื ืืืฉืื ืขื ืื ืืืื ืกืื ืฉื ืืชืจ ืกืคืฆืืคื, ืขืืื ืืืฉืง: ืืชืืช ืืฉืืคื, ืขื ื ืฉื ืืืช ืืกืคืงืืืช ืืื'.
- ืขื K8s ืืขืืื ืื ืืืืช ื ืืืฉ ืืืชืจ ืืฉืืืืช ืืืืืืช ืืืืชืจ ืขื ืืจืืื ืชืฉืชืืช: ืืื ืืงืืช ืงื ื ืืืื, ืจืืคืื ืขืฆืื, ืกืืืื ืืช ืืชืงืืืช ืืื'.
ืขื ืืืช, ืืืืื, ืืื ืื ืื ืื ืืืง: Kubernetes ืื ืืืืื ืืชืืจืื ืืืฉืื ืืฉืื.
ืงืืืจื ื ืื ืืื ืงืืืืื ื ืฉืคืืชืจ ืืช ืื ืืืขืืืช ืฉื ืื ืืืฉืชืืฉืื. ืืืจืขืื Kubernetes ืืืจืืืช ืจืง ืืงืืืฆื ืฉื ืืคืื ืงืฆืืืช ืืืื ืืืืืืช ืืืืจืืืืช ืืงืืืืืช ื ืื ืืื ืึถืฉืืึผืึนื:
ืืืืช Kubernetes ืืืืืจื ืงืืืฆื ืืกืืกืืช ืฉื ืคืจืืืืืืืื ืืงืืืืฅ ืงืื ืืืื ืจืื, ื ืืืื ืชืขืืืจื ืืืืืื. ืืืืจื ื ืขืืืื ืืืชืจ ืคืืจืื ื
ืืฆื ืฉื ื, K8s ืืฆืืข ืืืืื ืืืืช ื ืืืจืืช ืืืจืืื ืืช ืืคืื ืงืฆืืืช ืืืืื ืืช, ืฉืขืืืจืืช ืืกืืืจ ืืืจืื - ืกืคึผึตืฆึดืืคึดื - ืฆืจืื ืืืฉืชืืฉ. ืชืืกืคืืช ื-Kubernetes ืื ืืืืจืืืชื ืฉื ืื ืืื ืืฉืืืืืช, ืฉืืืืืื ืืืชืงืื ืืืืืืืจ ืืช ืื ืืืจืืฉ ืืื ืฉืืืฉืืื ืฉืืื ืืืื "ืืฆืืจื ืื ืืื ื" [ืืื ืืคืชืืจ ืืช ืืืขืืืช ืืกืคืฆืืคืืืช ืฉืืื]. ืืืืื ืชืืกืคืืช ืืืืืจ? ืืืื ื ืกืชืื ืขื ืืื ืืืืืืืช.
ืืืืืืืช ืืชืืกืคืืช
ืืืืจ ืืชืงื ืช Kubernetes, ืื ื ืขืฉืืืื ืืืืืช ืืืคืชืขืื ืฉืืจืฉืช ืื ืืืฆื ืื ืื ืืืื ืืจืืงืฆืื ืฉื ืคืืืื ืื ืืชืื ืฆืืืช ืืื ืืื ืฆืืชืื ืื ืขืืืืช ืืคื ื ืขืฆืื. ืืืืช Kubernetes ืืื ื ืืืืืื ืืช ืืืืืืจืื ืืืจืืฉืื; ืืืงืื ืืืช, ืืื ืงืืืขืช ืืช ืืจืฉืช ืืืฉืง (
ืืืืื ืงืจืืื ืืื ืคืชืจืื ืืช ืืืกืื ื ืชืื ืื (ืืืกืง ืืงืืื, ืืชืงื ืืกืืืช ืจืฉืช, Ceph...). ืืชืืืื ืื ืืื ืืืืื, ืืื ืขื ืืืคืขืชื
ืืืืืืืช ืืืจืืช ืืืืืืช:
- Ingress-ืืงืจืื (ืจืื ืืช ืืืืงืืจืช ืฉืืื ื
ืืืืืจ ืืืืจืื ืฉืื ื ). -
ืื ืื cert : -
ืืืคืจืืืจืื ืืื ืืืืงื ืฉืืื ืฉื ืชืืกืคืื (ืืืืืืื ืืช ื-cert-manager ืฉืืืืืจ), ืื ืืืืืจืื ืคืจืืืืืืื(ืื) ืืืงืจ(ืื). ืืืืืืื ืฉื ืืขืืืื ืฉืืื ืืืืื ืจืง ืขื ืืื ืืืืืื ืฉืื ื ืืืืคืฉืจ ืื ื ืืืคืื ืจืืืื ืชืฉืชืืช ืืืื ืื (ืืืฉื, DBMS) ืืคืจืืืืืืืืื, ืฉืืจืื ืืืชืจ ืงื ืืขืืื ืืืชื (ืืื ืขื ืกื ืงืื ืืืื ืจืื ืืืืืจืืช ืฉืืื). ืืกืคืจ ืขืฆืื ืฉื ืืคืขืืืื ื ืืชื - ืื ืื ืจืืื ืืื ืขืืืื ืื ืืืื ืื ืืืืฆืืจ, ืื ืจืง ืขื ืืื ืฉื ืืื: - ืืืืื - ืืืืฉื ื ืืกืคืช ืืืืคื ืฉืื Kubernetes ืืคืจืืื ืืช ืืืืฉืง (Metrics API) ืืืืืฉืื (ืชืืกืคืืช ืฉื ืฆื ืฉืืืฉื ืืืื ืืชืื Prometheus, Datadog cluster agent...).
- ืขืืืจ ื ืืืืจ ืืกืืืืกืืืงื, ืฉืื ืืคืืขื ืื ืจืง ื ืืืฆืื
ืคืจืืืชืืืก ืืืจืืคื ื , ืืื ืื ืงืื-ืืฆื-ืืืื, ืฆืืืช-ืืฆืืื ืืื'.
ืืื ืื ืจืฉืืื ืืืื ืฉื ืชืืกืคืืช... ืืืฉื ืืืืจืช ืคืื ื ืื ืื ื ืืชืงืื ืื ืืืื 29 ืชืืกืคืืช (ืืืื ืืืฆืจืื ืืกื ืืื 249 ืืืืืืงืืื ืฉื Kubernetes). ืืืืืื ืคืฉืืืืช, ืืื ื ื ืืืืืื ืืจืืืช ืืช ืืืื ืฉื ืืฉืืื ืืื ืชืืกืคืืช.
ืืืืืืฆืื
ืืืคืขืืืื ื ืืขืื ืืืฆืข ืืืืืืฆืื ืฉื ืคืขืืืืช ืฉืืจืชืืืช ืฉืื ื ื ืชืงืืื ืืื ืืื ืืื. ืืืื ืืืืืืืช ืืืืืื ืืืืืชืืื ืฉืืชืืืช ืืืคืจืืืจ ืชืืื ืคืชืจืื ืืฆืืื:
- ืืฉ ืจืืฉืื ืคืจืื (ืืืืืจ ืืืจืฉ ืืชืืืจืืช) ืขื ืชืืื ืืช ืขืืืจ ืืืคืืืงืฆืื. ืืื ืื ืืื ืฉืืื ืคืื ืืืงืฆื ืกืื ืืืืื ืืืืคืฉืจ ืืืืืช ืืจืืฉืื. ืืืฉืืื ืฉืื ื ืืื ืืืืืื ืฉืืกืื ืืื ื ืืฆื ืืืจืื ืืฉืืืช, ืื ืฉืืคืืืื ืืืืื ืืืืจืื ืชืืื ืืช. ืืืืืืช ืืืืืช ืืจืื ืืคืืืงืฆืืืช (ืฉืื ืืืช ืืื ืฆืจืืื ืกืื), ืืฉืืืืฉื ืืขืืื ืืช ืืกืืืืช ืขืฆืื ืืืืคื ืงืืืข, ืื ืฉืืืคืฉืจืืช ืืคืจืืฉ ืกืืืืช ืืื ืืชืืืืช. ืืื ืื ืืืคืขืื ืืืฆืื: ืื ื ืืืฆืจืื ืืงืจ ืฉืืืื ืืืืคืขืช ืืจืื ืืฉืืืช ืืขื ืกืื ืืืจืืข ืื ืืืกืืฃ ืกืื ืืืจืื ืืฉืืืช.
- ืืืจืืจืช ืืืื, ืืืฉื ื-pods ืืืื ืืจื ื ืืกืืจื. ืืื ืืคืขืืื ืื ืขืฉืื ืืืืืจืฉ: ืื ืืืืื ื ืฉืื ืื ืื ืืจืฉืืช ืืืืฉื ืืขืืื ืืคืฉืืืช, ืืืื ืืืจืืฉ ืืืืื ืืืืช ืกืคืฆืืคืืืช, ืืืฉื, ืขื ืืื ื ืืืืืช ืฉื ืชืืืืช ืืกืืืืช ืืืจืื ืืฉืืืช. ืืื ืืืคืขืื ืืืื ืืขืืืจ ืื ื ืืื? ื ืืฆืจ ืืงืจ ืืืืชืื ืขื ืฉืชืืคืืข ืืชืืืืช ืืืจืื ืืฉืืืช ืืืืกืืฃ ืืช ืืืืื ืืืช ืืืชืืืื ืืืืฉื ืืืื ืืจื ื.
- ืืฆื ืืืื: ื ื ืื ืฉืืืื ื ืฆืจืืืื ืืืืกืืฃ ืืฉืื ืืกืืื
ืึฐืึทืืชึดืื , ืื ืืฉ ืื ืชืืืืช ืืืื (ืขื ืืืืืฉืื ืงืืืืืช). ืืคืขืืืืช ืขื ืืืคืขืื ืืจืืจืืช...
ืืื ืืฉืืื ืืฉ ืืคืชืืจ ืืฉืืืืช ืฉืืจืชืืืช, ื ื ืืื ื ืืชื ืืขืฉืืช ืืืช ืืืืฆืขืืช ืืืคืจืืืจืื.
ืืกืืืื ืื ืืกืืคืืจืื ืืืชืืืจืื, ืืืขื ื ืืืกืงื ื ืฉ ืืขืืืื ื ืืื ื- Kubernetes ืืชื ืฆืจืื: ื) ืืืชืงืื ืชืืกืคืืช, ื) ืืคืชื ืืคืขืืืื (ืืคืชืจืื ืืฉืืืืช ื ืืืื ืืืืืืืืืช).
ืืื ืืืชืืื ืืฆืืจื ืขืืืจ Kubernetes?
ืืืืคื ืืืื, ืืชืืื ืืช ืคืฉืืื:
... ืืื ืื ืืกืชืืจ ืฉ:
- ื-API ืฉื Kubernetes ืืื ืืืจ ืื ืืจืืืืืืื ืฉืืืงื ืืจืื ืืื ืืฉืืื ืื;
- ืื ืืชืื ืืช ืื ืืชืืื ืืืืื (ืฉืคืช ืืื ื ืืืจื ืืฉืคื ืืืืขืืคืช ืื ืืฉ ืื ืืกืืจืช ืืืืืืช -
SDK ืฉื ืืคืขืื ); - ืืืฆื ืืืื ืืืกืืจืช ืขืฆืื.
ืืฉืืจื ืืชืืชืื ื: ืืืชืื ืืงืจ (ืืคืขืื) ืืืื ืืืืฆืื ืืฉืืืื ืืฉืืขืืชืืื ืืืืื ืืืืจ. ืื ืืืื ืืืฆืืง ืขืืืจ ืืืคืจืืืจืื "ืืืืืื" - ื ืืื, ืขืืืจ MySQL DBMS. ืืื ืื ื ืืืืจ ืืช ืืืืืืืืช ืฉืชืืืจื ืืขืื (ืืืืื ืกืืืืช, ืืืฉื ืืคืืืื ืืืื ืืจื ื...), ืฉืื ืื ืื ื ืจืืฆืื ืืขืฉืืช ืืืช ืืฆืืจื ื ืืื ื, ืื ื ืืื ืฉืืืืืฅ ืฉืืืฉืงืข ืืขืื ืขื ืืชืืฆืื ืฉืื ื ืฆืจืืืื ืืขืช:
ืืืืคื ืืืื, ืืชืขืืจืจืช ืืืืื: ืืฉืงืืขื ืืฉืืืื ืจืืื ืืืฆืื ืืช ืืืื ืืืชืืื ืืืชืืืช ืืฆืืจืืช, ืื ืขืฉื ืืืช ืืืจื ืืืฉื ื (ืืื ืืืจ). ืืื ืืคืชืืจ ืืช ืื - ืืื ืืืฆืื ืคืฉืจื ืืื ืืงืฆืืืช ืืืื - ืืฆืจื ื ืคืจืืืงื ืืฉืื ื:
ืืคืขืื ืืขืืคืช
ืืื ืืื ืขืืื? ืืืฉืืื ืืฉ ืชืจืืื ืืืืื Go ืืื ืืจื ืขื ืืืคืจืืืจ ืืขืืคืช. ืืืื ืืฉ ืกื ืฉื ืืืื (ืคืจืืื ื ืืกืคืื ืขืืืื - ืจืื ืืืื). ืืคืขืื ืืืขืืคืช ืขืฆืื ืื ืื ืขื ืืกืืืืืช ืืืจืืขืื ื-Kubernetes API, ืขื ืืชืจืืฉืืชื ืืื ืืฉืืง ืืช ื-hooks ืืืชืืืืื.
ืืื ืืคืขืื ืืคืื ืืืืข ืืืืื ืืืื ืืืชืงืฉืจ ืืืืื ืืืจืืขืื? ืืืืืข ืืื ืืืขืืจ ืืืคืขืื ืืืขืืคืช ืขื ืืื ืืืืื ืขืฆืื, ืืื ืขืืฉืื ืืืช ืืคืฉืืืช ืจืื.
Hook ืืื ืกืงืจืืคื Bash ืื ืื ืงืืืฅ ืืคืขืื ืืืจ ืฉืืงืื ืืจืืืื ื ืืืื --config
ืืืฉืื ืขื JSON. ืืืืจืื ืงืืืข ืืืื ืืคืฆืื ืืขื ืืื ืื ืืืชื ืืืืืื ืืืจืืขืื (ืขืืืจ ืืคืฆืื ืืื) ืืฉ ืืืืื:
ืื ื ืืืืื ืืช ืืืืฉืื ื-shell-operator ืฉื ืืืช ืืืืืืืืช ืฉืื ื - ืคืืจืืง ืกืืืืช ืืืืฉื ืืจืืฉืื ืคืจืื ืขื ืชืืื ืืช ืืคืืืงืฆืื. ืื ืืืจืื ืืฉื ื ืฉืืืื.
ืชืจืืื: 1. ืืชืื ืื
ืงืืื ืื, ืืืืง ื ืขืื --config
, ืืืฆืืื ืฉืื ื ืืขืื ืืื ืื ืืืจืืื ืฉืืืช, ืืืืืืื ืืจืืข ืืืฆืืจื ืฉืืื:
[[ $1 == "--config" ]] ; then
cat << EOF
{
"onKubernetesEvent": [
{
"kind": "namespace",
"event": ["add"]
}
]
}
EOF
โฆ
ืืื ืืืจืื ืืืืืืื? ืื ืื ืคืฉืื:
โฆ
else
createdNamespace=$(jq -r '.[0].resourceName' $BINDING_CONTEXT_PATH)
kubectl create -n ${createdNamespace} -f - << EOF
Kind: Secret
...
EOF
fi
ืืฆืขื ืืจืืฉืื ืืื ืืืืืช ืืืื ืืจืื ืฉืืืช ื ืืฆืจ, ืืืฉื ื ืืื ืืืฆืืจ ืืืชื ืืืืฆืขืืช kubectl
ืกืื ืขืืืจ ืืจืื ืืฉืืืช ืืื.
ืชืจืืื: 2. ืืจืืืช ืืชืืื ื
ืื ืฉื ืืชืจ ืืื ืืืขืืืจ ืืช ืืงืจืก ืฉื ืืฆืจ ืืืคืขืื ืืืขืืคืช - ืืื ืขืืฉืื ืืืช? ื-Shell-operator ืขืฆืื ืืืืข ืืชืืื ืช Docker, ืื ืืืฉืืื ืฉืื ื ืืื ืืืืกืืฃ ืืช ื-hook ืืกืคืจืืื ืืืืืืช ืืชืืื ื ืืื:
FROM flant/shell-operator:v1.0.0-beta.1
ADD my-handler.sh /hooks
ืื ืื ืฉื ืืชืจ ืืื ืืืจืืื ืืืชื ืืืืืืฃ ืืืชื:
$ docker build -t registry.example.com/my-operator:v1 .
$ docker push registry.example.com/my-operator:v1
ืืืืข ืืืืจืื ืืื ืืคืจืืก ืืช ืืชืืื ื ืืืฉืืื. ืืื ืืขืฉืืช ืืืช, ืืืื ื ืืชืื ืคึผึฐืจึดืืกึธื:
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: my-operator
spec:
template:
spec:
containers:
- name: my-operator
image: registry.example.com/my-operator:v1 # 1
serviceAccountName: my-operator # 2
ืืฉ ืืฉืื ืื ืืฉืชื ื ืงืืืืช:
- ืืื ืืืงืฆืื ืฉื ืืชืืื ื ืืืืฉื ืฉื ืืฆืจื;
- ืืื ืจืืื ืืขืจืืช ืฉ(ืืื ืืคืืืช) ืืงืืง ืืืจืฉืืืช ืืืืจืฉื ืืืืจืืขืื ื-Kubernetes ืืืืงืฆืืช ืกืืืืช ืืืจืืื ืฉืืืช, ืืืื ืื ื ืืืฆืจืื ServiceAccount (ืืืขืจืืช ืืืืื) ืขืืืจ ื-hook.
ืชืืฆืื - ืคืชืจื ื ืืช ืืืขืื ืฉืื ื ืงืจืืื ืืฉืคืื ืขืืืจ Kubernetes ืืืืคื ืฉืืืฆืจ ืืืคืจืืืจ ืืคืืจืืง ืกืืืืช.
ืชืืื ืืช ืืืจืืช ืฉื ืืคืขืื ืืขืืคืช
ืืื ืืืืืื ืืช ืืืืืืืงืืื ืืืกืื ืฉืืืจืช ืฉืืื ืืขืืื ืืืชื, ื ืืชื ืืกื ื ืืืชื, ืืืืจื ืืคื ืชืืืืืช ืืกืืืืืช (ืื ืืืืฆืขืืช matchExpressions
):
"onKubernetesEvent": [
{
"selector": {
"matchLabels": {
"foo": "bar",
},
"matchExpressions": [
{
"key": "allow",
"operation": "In",
"values": ["wan", "warehouse"],
},
],
}
โฆ
}
]
ืืกืืคืง ืื ืื ืื ืื ืืขืช ืืคืืืืช, ืืฉืจ - ืืืืฆืขืืช ืืกื ื jq - ืืืคืฉืจ ืืืืืจ ืืืืืืงืื JSON ืืืืืื ืืงืื ืื, ืฉืืื ื ืืชืจื ืจืง ืืืชื ืคืจืืืจืื ืฉืื ื ืจืืฆืื ืืขืงืื ืืืจ ืฉืื ืืืื.
ืืืฉืจ ื ืงืจื ืืืง, ืืคืขืื ืืคืื ืขืืืจ ืืืชื ื ืชืื ื ืืืืืืงื, ืืฉืจ ืืืื ืืฉืืฉ ืืื ืฆืืจื.
ืืืืจืืขืื ืฉืืคืขืืืื ืืืงืก ืืื ื ืืืืืืื ืืืืจืืขื Kubernetes: ื-Shell-operator ืืกืคืง ืชืืืื ืขืืืจ ืืืื ืงืืจื ืืคื ืืื (ืืืืื ื-crontab ืืืื ืืื ืื ืืกืืจืชื), ืืื ืื ืืืจืืข ืืืืื ืืืคืขืื. ื ืืชื ืืฉืื ืืช ืื ืืืืจืืขืื ืืืื ืืืืงืฆืืช ืืืชื ืืืืชื ืืืง.
ืืขืื ืฉืชื ืชืืื ืืช ืฉื ืืคืขืื ืืืขืืคืช:
- ืื ืขืืื ืืืืคื ืืกืื ืืจืื ื. ืืืืืื ืฉืืชืงืื ืืืจืืข Kubernetes (ืืืื ืืืืืืงื ืฉื ืืฆืจ), ืืืจืืขืื ืืืจืื (ืืืื ืืืชื ืืืืืืงื ืฉื ืืืง) ืืืื ืืืชืจืืฉ ืืืฉืืื, ืื-hooks ืฆืจืื ืืชืช ืืช ืืืขืช ืขื ืื. ืื ื-hook ืืืฆืข ืขื ืฉืืืื, ืื ืืืจืืจืช ืืืื ืื ืืืื ืึดืืึผืึนืจ ืขื ืืืฉืืื ืืืฆืืืช (ื ืืชื ืืฉื ืืช ืืชื ืืืืช ืื).
- ืื ืืืืฆื ืืืืื ืขืืืจ Prometheus, ืฉืืืชื ืืชื ืืืื ืืืืื ืื ื-Shell-operator ืขืืื, ืืื ืืช ืืกืคืจ ืืฉืืืืืช ืขืืืจ ืื ืื ืืืช ืืืื ืืชืืจ ืื ืืืื.
ืืกืืืื ืืืง ืื ืฉื ืืื"ื:
ืืชืงื ืช ืชืืกืคืืช
ืืขืืืื ื ืืื ืขื Kubernetes, ืืืืืจ ืื ืืฆืืจื ืืืชืงื ืช ืชืืกืคืืช. ืื ื ืืกืคืจ ืื ืขื ืื ืืืืฆืขืืช ืืืืืื ืฉื ืืืจื ืฉื ืืืืจื ืฉืื ื ืืื ืื ืื ื ืขืืฉืื ืืช ืื ืขืืฉืื.
ืืชืืื ื ืืขืืื ืขื Kubernetes ืขื ืืกืคืจ ืืฉืืืืืช, ืฉืืชืืกืคืช ืืืืืื ืืืืื ืืืืชื Ingress. ืืื ืฆืืจื ืืืชืงืื ืืืชื ืืฆืืจื ืฉืื ื ืืื ืืฉืืื, ืืืฆืจื ื ืืกืคืจ ืชืฆืืจืืช YAML ืขืืืจ ืกืืืืืช ืฉืื ืืช: ืืชืืช ืืฉืืคื, AWS...
ืืื ืฉืืื ืืืชืจ ืืฉืืืืืช, ืืื ืืืชืจ ืชืฆืืจืืช. ืื ืืกืฃ, ืฉืืคืจื ื ืืช ืืชืฆืืจืืช ืืืื ืขืฆืื, ืืืชืืฆืื ืืื ืื ืืคืื ืืืืจืืื ืืืช ืืืื:
ืืื ืืขืฉืืช ืกืืจ, ืืชืืื ื ืขื ืชืกืจืื (install-ingress.sh
), ืฉืืงื ืืืืขืื ืืช ืกืื ืืืฉืืื ืฉืืืื ื ืคืจืืก, ืืฆืจ ืืช ืชืฆืืจืช ื-YAML ืื ืืืฆื ืืืืื ืืืชื ืื Kubernetes.
ืืงืืฆืืจ, ืืืจื ืื ืืกืคืช ืฉืื ื ืืืืืืืื ืืงืฉืืจ ืื ืืื ืืืืงืื:
- ืืื ืืขืืื ืขื ืชืฆืืจืืช YAML, ื ืืจืฉ ืื ืืข ืชืื ืืช (ืืฉืืืื ืืจืืฉืื ืื ืื ืคืฉืื ืกื);
- ืขื ืืืืืื ืืืกืคืจ ืืืฉืืืืืช, ืืืืข ืืฆืืจื ืืขืืืื ืืืืืืื (ืืคืชืจืื ืืืืงืื ืืืืชืจ ืืื ืืฉืื ืืช ืืกืงืจืืคื ื-Git, ืืขืืื ืืืชื ืืืืฆืขืืช cron ืืืืคืขืื ืืืชื);
- ื ืืจืฉ ืชืกืจืื ืืืื ืขืืืจ ืคืจืืืชืืืก (
install-prometheus.sh
), ืขื ืืืช, ืื ืืืื ืืขืืืื ืฉืืื ืืืจืฉ ืืจืื ืืืชืจ ื ืชืื ื ืงืื, ืืื ืื ืืืืกืื ืฉืืื (ืืฆืืจื ืืืื - ืืจืืืืช ืืืืฉืืื), ืืืืง ืืื ืชืื ืื (ืกืืกืืืืช) ืืืืืื ืืืืืืฆืจ ืืืืคื ืืืืืืื: - ืืกืืืื ืืืคืืฅ ืืฉืื ืื ืืกืืจ ืืืกืคืจ ืืื ืืืืื ืฉื ืืฉืืืืืช ืืื ืื ืืืื, ืื ืืื ื ืฉืืชืงืื ืื (ืืืืืจ ืฉื ื ืกืงืจืืคืืื: ืขืืืจ Ingress ื-Prometheus) ืืื ืฆืืจื ืืกืืืื'ืื ื (ืืกืคืจ ืกื ืืคืื ื-Git, ืืกืคืจ ืงืจืื ืื ืืื ืืขืืื ืืืชื ืืืชืืื: ืืฆืืืืช ืื ืืฉืืืืืช ืืืืงื);
- ั
kubectl apply
ืื ืืคื ืืืืืช ืงืฉื ืืขืืื ืืืชื ืื ืื ืื ืืฆืืจืชื ืืืื ืืืื ืืืฆืืจ ืจืง ืืืืืืงืืื, ืืื ืื ืืงืื ืืืืืืช ืขื ืืขืืื/ืืืืืง ืืืชื; - ืืื ืืกืจืืช ืื ื ืืื ืคืื ืงืฆืืืช ืฉืื ืืืฉืื ื ืืื ืืืืชื ืืื:
- ืฉืืืื ืืืื ืขื ืืชืืฆืื ืฉื ืขืืืื ื ืืฉืืืืืช,
- ืงืืืขื ืืืืืืืืช ืฉื ืืื ืคืจืืืจืื (ืงืื ืขืืืจ ืกืงืจืืคืืื ืืืชืงื ื) ืขื ืกืื ื ืชืื ืื ืฉื ืืชื ืืงืื ืืืืฉืืื (ืืืืื),
- ืืชืคืชืืืชื ืืืืืืช ืืฆืืจื ืฉื ืืืืื ืืชืืฉื.
ืืช ืื ืื ืืกืืื ืืืฆืืืจ ืืื ืืืฉืื ื ืืืกืืจืช ืืคืจืืืงื ืืืืจ ืฉืื ื -
ืืคืขืื ืชืืกืฃ
ืื ืืืืกืก ืขื ืืคืขืื ืืืขืืคืช ืฉืืืจ ืืืืืจ. ืื ืืืขืจืืช ื ืจืืืช ืื:
ืืืืจืื ืืืืื ืืชืืืกืคืื ืืืื ืืคืขืืื ืืืขืืคืช:
- ืืืกืื ืขืจืืื,
- ืชืจืฉืื ืืื,
- ืืจืืื ืื ืขืืงื ืืืจ ืืืืจ ืืขืจืืื ืืืืงืจื ืฉื ืฉืื ืืืื ืืืฉืื - ืืืงืฉ ืืืื ืืืืื ืืืืฉ ืืช ืืชืจืฉืื.
ืื, ื ืืื ืืืืื ืืืืจืืข ื-Kubernetes, ืืืฉืืง ืืืง, ืืืชืื ืืืง ืื ื ืืื ืืืฆืข ืฉืื ืืืื ืืืืกืื, ืืืืืจ ืืื ืืืจืื ืืชืจืฉืื ืืืืฉ. ืืชืจืฉืื ืืืชืงืื, ืื ื ืืคืจืืืื ืืช ืงืืืฆืช ืืืืื ืืืชืจืฉืื ืืจืืื ืืื, ืฉืื ื ืงืืจืืื ืื ืืืืื:
ืืืืืื ืืืืืช ืืืืืืื ืจืืื, ืืืืืื ืื ืื ื ืืืกืืคืื ืืืื ืืืืืืืื, ืื ืืช ืขืจืืื ืืืืืืืช ืืจืืื ืฉืื ืืจ ืืช ืืื ืืช ืืืืืืืืช ืืื.
ืขืืฉืื, ืืฉืืฉืื ืงืืจื ื-Kubernetes, ืื ืื ื ืืืืืื ืืืืื ืืืื ืืืืฆืขืืช ืืืง ืขืืืื ืืืฉื ืืช ืืฉืื ืืื ืืช ืืืืืืืืช. ืืฉืื ืื ืืื ืืืจืืฉ ืืืืจืื ืืื ืืืืืืืื ืืืฉืืื ืืืชืืืื:
ืกืืืื ืื ืขืื ื ืขื ืื ืืืจืืฉืืช ืืืชืงื ืช ืชืืกืคืืช ืฉืฆืืื ื ืืขืื:
- ืืื ืืืจืื ืขื ืชืื ืืืช ืืืฆืืจืืช.
- ืืขืืืช ืืขืืืื ืืืืืืืื ื ืคืชืจื ืืืืฆืขืืช ืืืง ืขืืืื, ืฉืขืืืจ ืืจืืฉืื ืืคื ืืื ืืื ืื, ืืื ืืื ืจืืื ืฉื ืชืืื ืช ืืขืจืืช ืืืฉื, ืืืืื ืืืชื (ืืืืืจ "ืขืฆืื").
- ืืืกืื ืืืืจืืช ืืืฉืืื ืืืืฉื ืืืืฆืขืืช ConfigMap, ืืืืื ืืช ืื ืชืื ืื ืืขืืงืจืืื ืขืืืจ ืืืืกืื (ืืืชืืื ืื ื ืืขื ืื ืืืืกืื).
- ืืขืืืช ืืืฆืืจืช ืกืืกืืืืช, ืืืืื ืืืืืื ืืชืืฉื ื ืคืชืจื ืืืืฆืขืืช ืืืงืก.
- ืืืื ืืืฉืืช ืืืืืช ืืชืืืืช, ืฉืืื Docker ืชืืื ืืืืฅ ืืงืืคืกื.
- ืืชืืฆืื ืื ืืืจืช ืืืืฆืขืืช ืืืืื ืฉืืืืฆืขืืชื ื ืืื ืืืืื ืืช ืืืฆื.
ืื ืืืขืจืืช ืืื ืืืืฉืืช ืืฆืืจื ืฉื ืืื ืืจื ืืืื ื-Go, ืฉื ืงืจื addon-operator. ืื ืืืจื ืืชืจืฉืื ืืืืจืืืช ืคืฉืื ืืืชืจ:
ืืืจืืื ืืขืืงืจื ืืชืจืฉืื ืื ืืื ืกื ืฉื ืืืืืืื (ืืืืืฉ ืืืคืืจ ืืืื). ืืขืช ื ืืื ืืืชืื ืืืืื ืืชืืกืคืช ืื ืืจืฉืช ืืืขื ืืืืฅ ืืืืืืช ืืืืืื ืฉืืื ืืืชืงื ืืื ืืฉืืื, ืืขืืืื ืืืืื ืืืืจืืขืื ืืืจืืฉืื ืื ืืืฉืืื.
ืฉืืืืฉืื ืฉื "ืคืื ื".
ืืืื ืื ื ืืืื ืืืฉืื ืืช ืืืืืืืื ืขืืืจ addon-operator? ืคืจืกืื ืืกืคืจืืื ืฉืื ื ืืื ืืฉืื ืืื ืขืืืจื ื; ืื ืื ื ืืชืื ื ืื ืืขืฉืืช ืืืช ืืงืืฅ.
ืกืจืืื ืื ืืฉืงืืคืืืช
ืกืจืืื ืืืืืคืขื (~50 ืืงืืช):
ืืฆืืช ืืื"ื:
ื .ื.
ืืืืืืื ื ืืกืคืื ืืืืื ืฉืื ื:
- ยซ
ืืกืื ื ืชืื ืื ื-Kubernetes "; (ืืืืืจื ืกืืืืืืจืื; 8 ืื ืืืืืจ 2018 ื-HighLoad++); - ยซ
ื ืืืืจ ื-Kubernetes "; (ืืืืืจื ืกืืืืืืจืื; 28 ืืืื 2018 ื-RootConf); - ยซ
ืฉืืืืช ืขืืืื ืืืืืฆืืช ื-CI/CD ืขื Kubernetes ื-GitLab "; (ืืืืืจื ืกืืืืืืจืื; 7 ืื ืืืืืจ 2017 ื-HighLoad++); - ยซ
ืื ืืกืืื ืฉืื ื ืขื Kubernetes ืืคืจืืืงืืื ืงืื ืื "; (ืืืืืจื ืกืืืืืืจืื; 6 ืืืื ื 2017 ื-RootConf).
ืืืชืื ืฉืชืชืขื ืืื ืื ืืคืจืกืืืื ืืืืื:
ืืงืืจ: www.habr.com