ืืขืจื. ืชืจืืื: ืืืืจื ืืืืจ ืื ืื ืืื ืืกืื ืืืืจื ืฆ'ืืืช ืงืื ื, pipetail. ืื ืืฆืืืื ืืืจืืื ืจืฉืืื ื ืคืืื ืฉื ืืขืืืช [ืืคืขืืื ืื ืืืืืช, ืื ืขืืืื] ืืืืงืืช ืืืื ืืชืคืืกืืช ืืืืขืืช ืืงืฉืืจืืช ืืชืคืขืื ืฉื ืืฉืืืืืช Kubernetes.
ืืืืื ืฉื ืืช ืืฉืืืืฉ ื-Kubernetes, ืขืืื ื ืขื ืืกืคืจ ืจื ืฉื ืืฉืืืืืช (ืื ืื ืืืืื ืืื ืื ืื ืืืืื - ื-GCP, AWS ื-Azure). ืขื ืืืื ืืชืืื ื ืืฉืื ืื ืฉืืื ืืขืืืืช ืืืืจืืช ืขื ืขืฆืื ืื ืืืื. ืืืื, ืืื ืืื ืืืฉื: ืืช ืจืืื ืขืฉืื ื ืืขืฆืื ื!
ืืืืืจ ืืืื ืืช ืืฉืืืืืช ืื ืคืืฆืืช ืืืืชืจ ืืื ืืืืืจ ืืืฆื ืืชืงื ืืืชื.
1. ืืฉืืืื: ืืงืฉืืช ืืืืืืืช
ืคืจืื ืื ืืืืื ืจืืื ืืชืฉืืืช ืืื ืืงืจืืื ืืืืชืจ ืืืืงืื ืืจืืฉืื ืืจืฉืืื.
ืืงืฉืช ืืขืื ืืืจื ืืื ืื ืฉืื ืฆืืื ืืื ืื ืฉืืฉ ืื ืขืจื ื ืืื ืืืื (ืืื ืืืงื ืืื ืฉืืืชืจ ืชืจืืืืื ืขื ืื ืฆืืืช). ืืคืืื, ืืฆืืชืื ืืืคืืื ืืขืืืก ืืชืจ. ืืืื ืื ืฉื ืขืืืก ืืืื, ืืื ืืขืืืื ืฉื ืืฆืืืช ืื ืืฆื ืืืืืื ืืขืืืก ืขืืืื ืืกืืื ืืงืื ืจืง ืืช ืื ืฉืืื "ืืืงืฉ" ืขื ืืื ืืฆืขืจืช ืืขืื. ืื ืืืืื ืืืืืืช ืืื ืืืืืืจ ืฉื ืืืืฉืื, ืืคืกืงืช ืืื ืืืฉืืืืช ืื ื ืขืืืืช ืืืจืืช. (ืงืจื ืขืื ืขื ืื ืืชืจืืื ืืืจ ืฉืื ื ืืืจืื: "
BestEffort (ืึฐืืึนื ืื ืืึผืืึธืฅ):
resources: {}
ืืงืฉืช ืืขืื ื ืืืื ืืืืืื (ืืืื ืื ืืึผืืึธืฅ):
resources:
Requests:
cpu: "1m"
ืืฆื ืฉื ื, ื ืืืืืช ืฉื ืืืืืช CPU ืืืืื ืืืืืื ืืืืืื ืืืชื ืกืืืจ ืขื ืืืืืจื ืฉืขืื ืขื ืืื ืชืจืืืืื, ืื ืื ืืขืื ืืฆืืืช ืืื ื ืืขืื ืืืืืื. ืฉืื, ืื ืืืื ืืืืืื ืืขืืืืืื ืืืืืจืื. ืืืืืืงืช ื ืืฉืืช ืกืืื ืืคืจืืืจ ืืืกืช CPU CFS ืืืืืช ืืื ืืงืก ืืืฆืขืจืช ืืขืื ืืืชืื ืืืืืืืช ืฉื ืงืืขื, ืืื ืื ืืฉืืชืช ืืืกืช ื-CFS... ืืืจืื ืืฆืขืจ, ืืืืืืช ืืขืื ืขืืืืืช ืืืจืื ืืืืชืจ ืืขืืืช ืืื ืฉืื ืืืืืืช ืืคืชืืจ. ืืืืข ื ืืกืฃ ืขื ืื ื ืืชื ืืืฆืื ืืงืืฉืืจ ืืืื.
ืืืืจ ืืืืื (ืืชืืืืืืช ืืชืจ) ืืขืืืช ืืืืจืื ืืืืืืช ืืืืืื ืืืขืืืช ืืืืืืช ืืืชืจ. ืืืขื ืืืืืืช ื-CPU ืืจืืื ืืืืืื ืขื ืืืืืจื ืฉืขืื, ืืขืื ืฉืืืขื ืืืืืืช ืืืืืจืื ืืจืืื ืืืจืืืช ืืคืื. ืืื ืื ืคืขื ืืชืืื ื ืช OOMkill? ืื, ืขื ืื ืืืืืง ืื ืื ื ืืืืจืื.
ืืื ืืชื ืจืืฆื ืืืืขืจ ืืช ืืกืืืจืืช ืฉืื ืืงืจื? ืื ืชืงืฆื ืืชืจ ืขื ืืืืื ืืืืจืื ืืืฉืชืืฉ ื-Guaranteed QoS (ืืืืืช ืฉืืจืืช) ืขื ืืื ืืืืจืช ืืงืฉืช ืืืืืจืื ืืืืืื (ืืื ืืืืืื ืืืื). ืงืจื ืขืื ืขื ืื ื
ืืชืคืจืฅ (ืกืืืื ืืืื ืืืชืจ ืืืืืจื OOM):
resources:
requests:
memory: "128Mi"
cpu: "500m"
limits:
memory: "256Mi"
cpu: 2
ืืืืื:
resources:
requests:
memory: "128Mi"
cpu: 2
limits:
memory: "128Mi"
cpu: 2
ืื ืขืฉืื ืืขืืืจ ืืขืช ืืืืจืช ืืฉืืืื?
ืขื ืฉืจืช ืืืืื ืืชื ืืืื ืืจืืืช ืืช ืฆืจืืืช ืืฉืืื ืืืขืื ืื ืืืืืช ืืืช ืืฉืืืืฉ ืืืืืจืื ืืคื ืชืจืืืืื (ืืืืืืืช ืืชืืื). ืกืืืจ ืืื ืื ืฉืืชื ืืืจ ืืฉืชืืฉ ืื. ืคืฉืื ืืคืขื ืืช ืืคืงืืืืช ืืืืืช:
kubectl top pods
kubectl top pods --containers
kubectl top nodes
ืขื ืืืช, ืื ืืฆืืืื ืจืง ืฉืืืืฉ ื ืืืื. ืื ืืืื ืืชืช ืื ืืืฉื ืืก ืขื ืกืืจ ืืืืื, ืืื ืืกืืคื ืฉื ืืืจ ืชืฆืืจื ืืืกืืืจืื ืฉื ืฉืื ืืืื ืืืืืื ืืืืจื ืืื (ืืื ืืขื ืืช ืขื ืฉืืืืช ืืื: "ืื ืืื ืขืืืก ืืฉืื ืฉื ืืืขืื?", "ืื ืืื ืืขืืืก ืืชืืื ืืืืงืจ?" ืืื'). ืืฉืืื ืื ืืชื ืืืื ืืืฉืชืืฉ ืคืจืืืชืืืก, ื ืชืื ืื ืืืืื ื ืืกืคืื. ืื ืคืฉืื ืืงืืืื ืืืืื ื-metrics-server ืืืืืกื ืื ืืืชื, ืืืืฉืชืืฉ ืืืื ืืฉืืื ืืืชื ืืืชืื ื ืืืชื ืืืชืื.
ืฉืืืืฉ ืืขืื ืืืื ืืืืฉืื ืืื ื ืืฉืืื ืงืื. ืื ืืื ืืฉืืง ืืืจืืก ืื ืืืื. ืื ืืชื ืืฉืื ืืืชืจ ืืื ืขืืืจ ืืื ืืืฉืื ืขื ืฆืจืืื ืืืืฆืขืช ื ืืืื (ื ื ืื ~10%), ืื ื ืืืืืฆืื ืืืกืชืื ืขื ืืืฆืจืื ืืืืืกืกืื ืขื AWS Fargate ืื Virtual Kubelet. ืื ืื ืืืื ืขื ืืืื ืืืื ืืื ืฉืจืช/ืชืฉืืื ืืคื ืฉืืืืฉ, ืฉืขืฉืื ืืืชืืจืจ ืืืืื ืืืชืจ ืืชื ืืื ืืืื.
2. ืืืืงืืช ืืืื ืืืช ืืืืื ืืช
ืืืจืืจืช ืืืื, ืืืืงืืช ืืืื ืืืช ืืืืื ืืช ืืื ื ืืืคืขืืืช ื-Kubernetes. ืืืคืขืืื ืื ืฉืืืืื ืืืืืืง ืืืชื...
ืืื ืืื ืขืื ืืชื ืืืื ืืืืื ืืคืขืื ืืืืฉ ืฉื ืฉืืจืืช ืืืงืจื ืฉื ืฉืืืื ืงืืื ืืช? ืืืื ืืืื ืืขืืืก ืืืืข ืฉืคืื ืืืื ืืงืื ืชื ืืขื? ืื ืฉืืื ืืืื ืืืชืืืื ืขื ืืืชืจ ืชืขืืืจื?
ืืืื ืื ืืื ืืืืืืืื ืืขืชืื ืงืจืืืืช ืืื ืขื ืืฉื ื:
- ืื - ืืืืงืช "ืืืฉืจืืืช", ืืฉืจ ืืคืขืืื ืืืืฉ ืืช ืืคืื ืื ืืื ื ืืฉื;
- ืืืื ืืช - ืืืืงืช ืืืื ืืช, ืื ืืื ื ืืฉืืช, ืืื ืื ืชืงืช ืืช ืืคืื ืืฉืืจืืช Kubernetes (ื ืืชื ืืืืืง ืืืช ืืืืฆืขืืช
kubectl get endpoints
) ืืืชื ืืขื ืื ืืืืขื ืืืื ืขื ืฉืืืืืงื ืืืื ืชืืฉืื ืืืฆืืื.
ืฉื ื ืืืืืงืืช ืืืื ืืืฆืข ืืืืื ืื ืืืืืจ ืืืืื ืฉื ืืคืื. ืื ืืืื ืืฉืื.
ืชืคืืกื ืฉืืืื ื ืคืืฆื ืืื ืฉืืืืงืืช ืืืื ืืช ืืืคืขืืืช ืจืง ืืขืช ืืืคืขืื, ืื ืฉืืืืื ืืืื ืืืขืช ืฉืืคืื ืืืื (Ready
) ืืืืื ืืืชืืื ืืขืื ืชืขืืืจื. ืขื ืืืช, ืื ืจืง ืืืช ืืืืคืฉืจืืืืช ืืฉืืืืฉ ืืื.
ืืคืฉืจืืช ื ืืกืคืช ืืื ืืืืืช ืฉืืชื ืืขื ืขื ืืคืื ืืืืืืช ื ืืขืืืก ืืืชื (ืื ืฉืืคืื ืืืฆืข ืืืฉืืืื ืขืชืืจื ืืฉืืืื). ืืืงืจื ืื, ืืืืงืช ืืืืื ืืช ืขืืืจืช ืืืคืืืช ืืช ืืขืืืก ืขื ืืชืจืืื ื"ืืงืจืจ" ืืืชื. ืืืฆืืข ืืืฆืื ืฉื ืืืืงืช ืืืื ืืช ืืขืชืื ืืืคืฉืจ ืืืืืจื ืฉืื ืืช ืืขืืืก ืขื ืืชืจืืื. ืืืงืจื ืื (ืื ืืืื ืืืืื ืืช ื ืืฉื), ืืืฉืืื ืืืืื ืืืืื ืืืื ืืืื ืื ืืืขืื. ืืื ืืืคืขืื ืืืืฉ ืคืื ืฉืืื ืืจืื ืืขืืื ืงืฉื?
ืืื, ืืืงืจืื ืืกืืืืื, ืืื ืืืืงืืช ืืื ืขืืืฃ ืขื ืืคืขืืชื ืขื ืคืจืืืจืื ืฉืืืืืจื ืืฆืืจื ืฉืืืื. ืืืืืจ ืืขืื, ืื ืืืืงืช ืืืื ืืืช ืืขืชืืงื ืืืืงืช ืืืื ืืช, ืื ืืชื ืืืขืื ืืืืื. ืืคืฉืจืืช ืืคืฉืจืืช ืืื ืืืืืืจ
ืฉื ื ืกืืื ืืืืืงืืช ืื ืืืืจืื ืืืืืฉื ืืืฉืจ ืชืืืช ื ืคืืฆื ื ืืฉืืช, ืืืจืช ืื ืืืืื ืืืฉื ืืืืจื (ืืืื ืืคืืืช) ืฉื ืื ืืชืจืืืืื. ืืืืืื ืืืจืืช,
3. LoadBalancer ืขืืืจ ืื ืฉืืจืืช HTTP
ืกืืืจ ืืื ืื ืฉืืฉ ืื ืฉืืจืืชื HTTP ืืืฉืืื ืฉืื ืฉืชืจืฆื ืืืขืืืจ ืืขืืื ืืืืฆืื.
ืื ืชืคืชื ืืช ืืฉืืจืืช ืืชืืจ type: LoadBalancer
, ืืืงืจ ืฉืื (ืืืชืื ืืกืคืง ืืฉืืจืืช) ืืกืคืง ืืื ืื ืืฉื ืืืชื ืขื LoadBalancer ืืืฆืื ื (ืื ืืืืจื ืคืืขื ืขื L7, ืืื ืืคืืื ืขื L4), ืืื ืขืฉืื ืืืฉืคืืข ืขื ืืขืืืช (ืืชืืืช IPv4 ืกืืืืช ืืืฆืื ืืช, ืืื ืืืฉืื, ืืืื ืืฉื ืืื ) ืืฉื ืืฆืืจื ืืืฆืืจ ืืกืคืจ ืจื ืฉื ืืฉืืืื ืืืื.
ืืืงืจื ืื, ืืจืื ืืืชืจ ืืืืื ื ืืืฉืชืืฉ ืืืืื ืขืืืกืื ืืืฆืื ื ืืื, ืคืชืืืช ืฉืืจืืชื ื type: NodePort
. ืื ืืืชืจ ืืื, ืืจืื ืืฉืื ืืื nginx-ingress-controller (ืื ืืจืืคืืง), ืื ืืืื ืืืืื NodePort ื ืงืืืช ืงืฆื ืืืฉืืืืช ืืืืื ืืขืืืก ืืืืฆืื ื ืืชื ืชื ืืช ืืชื ืืขื ืืืฉืืื ืืืืฆืขืืช ืืืืจื-ืืฉืืื Kubernetes.
ืฉืืจืืชืื ืชืื ืืฉืืื (ืืืงืจื) ืืืจืื ืืืงืืืืื ืืื ืืจืืงืฆืื ืื ืขื ืื ืืืืืื "ืืชืงืฉืจ" ืืืืฆืขืืช ืฉืืจืืชืื ืืื ืืฉืืื IP ืืื ืื ืื ืืืืื ืฉืืจืืช ืืืื ื ืืืืฆืขืืช DNS. ืคืฉืื ืื ืชืฉืชืืฉ ื-DNS/IP ืืฆืืืืจื ืฉืืื, ืืืืืื ืฉืื ืืืื ืืืฉืคืืข ืขื ืืื ืืืฉืืื ืืืืืืื ืืช ืืขืืืช ืฉื ืฉืืจืืชื ืืขื ื.
4. ืงื ื ืืืื ืืืืืืื ืฉื ืืฉืืื ืืืื ืืงืืช ืืืฉืืื ืืช ืืชืืื ืืช ืฉืื
ืืฉืืชื ืืืกืืฃ ืฆืืชืื ืืืกืืจ ืืืชื ืืืฉืืื, ืื ืชืกืชืื ืขื ืืื ืืืืื ืืกืืกืืื ืืื ืฉืืืืฉ ืืืขืื ืืฆืืชืื ืืื. ืชืื ืื ืชืจืืืืื ืืืื ืืงืืช ืืืฉืืื ืจืืื ืืืืืืช, ืืืื ืืืงื ืืคืื/ืฆืืืช, ืคืืืื ืืกืืืื ืืช, ืืงืฉืืช ืืฉืืืื, QoS ืืื'. ืฉืืืืฉ ื-autoscaler ืืืฆืื ื ืฉืืื ื ืืืงื ืืืฉืืื ืืช ืื ืืืื ืกืื ืืืื ืขืืื ืืืืืื ืืืขืืืช.
ืชืืจ ืืขืฆืื ืฉืฆืจืื ืืชืืื ืคืื ืืกืืื, ืืื ืื ืืื ืืืขืื ืืืืื ืืชืืงืฉ/ืืคืืจืง ืืืคืื ื ืชืงืข ืืืฆื Pending
. Autoscaler ืืืฆืื ื ืจืืื ืืช ืขืืืก ืืืขืื ืื ืืืื ืืืืืฆืข (ืื ืืืืืงืฉ) ืืืื ื ืืืื ืืจืืื (ืืจืืื) - ืืื ื ืืืกืืฃ ืขืื ืฆืืืช. ืืชืืฆืื ืืื, ืืคืื ืืื ืื ืืชืืืื.
ืืืงืจื ืื, ืงื ื ืืืื ืืคืื (ืืจืืื) - ืืกืจืช ืฆืืืช ืืืฉืืื ืืื ืชืืื ืงืฉื ืืืชืจ ืืืืฉืื. ืชืืจ ืืขืฆืื ืฉืืฉ ืื ืชืจืืื ืืฆืื (ืขื ืืืกืื ืืชืืฉื ืืืืืจ). ืืจืืื ืืชืืฉืืื ืฉืืื ืืืจื ืืื ื ืืืืจ ืืืื ืืช ืกืคืฆืืคื ืืืื ื ืืฉืืืคืืื ืืืืืจ. ืืคืืื, ืื Autoscaler ืืืฆืื ื ืืืืง ืฆืืืช ืขื ืืคืื ืืื, ืืืชืืื ืื ืืืื ืืชืืื ืืช ืืคืื ืืื ืืฆืืืช ืืืจ, ืืืืืื ืฉื ืืชื ืืขืฉืืช ืืืช ืจืง ืืืืืจ ืืืืื ืืช ืฉืื ื ืืฆื ืืืืกืื ืืืชืืฉื. ืืคืื ืืืชืงืข ืืืฆื Pending
.
ืคืืคืืืจื ืืืื ืืงืืืืช Kubernetes
5. ืืื ืืช ืืืืืืช IAM/RBAC
ืืืืืจ ืืฉืืืืฉ ืืืฉืชืืฉื IAM ืขื ืกืืืืช ืืชืืฉืืื ืขืืืจ ืืืื ืืช ืืืืฉืืืื. ืืจืื ืืืฉื ืืื ืืช ืืืืฆืขืืช ืชืคืงืืืื ืืืฉืืื ืืช ืฉืืจืืช (ืืฉืืื ืืช ืฉืืจืืช).
ืืขืชืื ืงืจืืืืช ืื ื ื ืชืงืืื ืืขืืืื ืฉืืคืชืืืช ืืืฉื (ืืกืืืืช) ืืงืืืืื ืืงืฉืืื ืืชืฆืืจืช ืืืคืืืงืฆืื, ืืื ืื ืืื ืืืื ืืช ืกืืืื ืืกืืืืช ืืืจืืช ืฉืืฉ ืื ื ืืืฉื ื-Cloud IAM. ืืฉืชืืฉ ืืชืคืงืืื IAM ืืืืฉืืื ืืช ืฉืืจืืช ืืืงืื ืืืฉืชืืฉืื ืืืืืช ืืฆืืจื.
ืฉืื ื-kube2iam ืืขืืืจ ืืฉืจ ืืชืคืงืืื IAM ืขืืืจ ืืฉืืื ืืช ืฉืืจืืช (ืืืชืืืจ ื
apiVersion: v1
kind: ServiceAccount
metadata:
annotations:
eks.amazonaws.com/role-arn: arn:aws:iam::123456789012:role/my-app-role
name: my-serviceaccount
namespace: default
ืืขืจื ืืืช. ืื ืืื ืงืฉื, ื ืืื?
ืืื ืื, ืื ืชืขื ืืง ืืจืฉืืืช ืืืฉืืื ืืช ืฉืืจืืช ืืคืจืืคืืื ืืืคืขืื admin
ะธ cluster-admin
ืื ืื ืื ืฆืจืืืื ืืช ืื. ืื ืงืฆืช ืืืชืจ ืงืฉื ืืืืฉืื, ืืืืืื ื-RBAC K8s, ืืื ืืืืื ืฉืืื ืืช ืืืืืฅ.
6. ืื ืชืกืชืื ืขื ืื ืื ืืืงื ืืืืืืืืช ืืชืจืืืืื
ืชืืจ ืืขืฆืื ืฉืืฉ ืื ืฉืืืฉื ืืขืชืงืื ืฉื ืคืจืืกื ืืืฉืื ืืฆืืืช. ืืฆืืืช ื ืืคื, ืืืื ืืืชื ืื ืืืขืชืงืื. ืืฆื ืื ื ืขืื, ื ืืื? ืืื ืืื ืื ืืืขืชืงืื ืืื ืืืืชื ืฆืืืช? ืืื Kubernetes ืื ืืืืจื ืืกืคืง ืืืื ืืช ืืืืื (HA)?!
ืืจืืข ืืืื, ืืชืืื Kubernetes, ืืืืืืชื, ืืื ื ืขืืื ืืืืื ืืงืืื ืื ืคืจื (ืื ืื ืืืงื) ืขืืืจ ืชืจืืืืื. ืืฉ ืืฆืืื ืืืชื ืืืคืืจืฉ:
// ะพะฟััะตะฝะพ ะดะปั ะบัะฐัะบะพััะธ
labels:
app: zk
// ะพะฟััะตะฝะพ ะดะปั ะบัะฐัะบะพััะธ
affinity:
podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchExpressions:
- key: "app"
operator: In
values:
- zk
topologyKey: "kubernetes.io/hostname"
ืื ืืื. ืืขืช ืืคืืืื ืืชืืืื ื ืืฆืืชืื ืฉืื ืื (ืืฆื ืื ื ืืืง ืจืง ืืืืื ืืชืืืื, ืื ืื ืืืืื ืคืขืืืชื - ืืืื requiredDuringSchedulingIgnoredDuringExecution
).
ืืื ืื ืื ื ืืืืจืื ืขื podAntiAffinity
ืืฆืืชืื ืฉืื ืื: topologyKey: "kubernetes.io/hostname"
, - ืืื ืขื ืืืืจื ืืืื ืืช ืฉืื ืื. ืืื ืืืืฉื HA ืื ืืื ืืื, ืชืฆืืจื ืืืคืืจ ืขืืืง ืืืชืจ ืื ืืฉื ืื.
7. ืืชืขืืืืช ื-PodDisruptionBudgets
ืชืืจ ืืขืฆืื ืฉืืฉ ืื ืขืืืก ืืืฆืืจ ืขื ืืฉืืื Kubernetes. ืืขืช ืืขืช, ืืฉ ืืขืืื (ืื ืืืื) ืืช ืืฆืืชืื ืืืช ืืืฉืืื ืขืฆืื. PodDisruptionBudget (PDB) ืืื ืืฉืื ืืื ืืกืื ืขืจืืืช ืฉืืจืืช ืืื ืื ืืื ืืฉืืืืืช ืืืฉืชืืฉืื.
PDB ืืืคืฉืจ ืื ืืืืื ืข ืืืคืจืขืืช ืฉืืจืืช ืื ืืจืืืช ืขื ืืื ืืืกืืจ ืืฆืืชืื:
apiVersion: policy/v1beta1
kind: PodDisruptionBudget
metadata:
name: zk-pdb
spec:
minAvailable: 2
selector:
matchLabels:
app: zookeeper
ืืืืืื ืื, ืืชื, ืืืฉืชืืฉ ืฉื ืืืฉืืื, ืืฆืืืจ ืืคื ื ืืื ืืืื: "ืืื, ืืฉ ืื ืฉืืจืืช ืฉืืืจื ืื ืืืืช, ืืื ืืฉื ื ืื ืชืขืฉื, ืื ื ืจืืฆื ืฉืืืื ืืคืืืช 2 ืืขืชืงืื ืฉื ืืฉืืจืืช ืืื ืชืืื ืืืื ืื."
ืืชื ืืืื ืืงืจืื ืขืื ืขื ืื
8. ืืกืคืจ ืืฉืชืืฉืื ืื ืกืืืืืช ืืืฉืืื ืืฉืืชืฃ
ืืจืืื ืฉืืืช ืฉื Kubernetes (ืืจืืื ืฉืืืช) ืื ืืกืคืงืื ืืืืื ืืืง.
ืชืคืืกื ืฉืืืื ื ืคืืฆื ืืื ืฉืื ืืชื ืคืืจืก ืขืืืก ืื-ืคืจืื ืืืจืื ืฉืืืช ืืื ืืืขืื ืช ืคืจืื ืืืจืื ืืืจ, ืื ืื ืื ืืฉืคืืขื ืื ืขื ืื ืืฉืื ืฆืืจื... ืขื ืืืช, ื ืืชื ืืืฉืื ืจืื ืืกืืืืช ืฉื ืืืืื ืืืืฆืขืืช ืืงืฉืืช/ืืืืืืช ืืฉืืืื, ืงืืืขืช ืืืกืืช ืืืืืจืช priorityClasses. ืืืืื "ืคืืื" ืืกืืื ืืืืฉืืจ ืื ืชืื ืื ืืกืืคืง ืขื ืืื ืืืงื, ืกืืืื ืืช, ืืชืืื (ืื ืืืจืจื ืฆืืชืื), ืื ืืคืจืื ืืื ืืื ืื ืงืฉื ืืืืฉื.
ืื ืฉืฆืจืื ืืฉืื ืืช ืฉื ื ืกืืื ืขืืืกื ืืขืืืื ืืืืชื ืืฉืืื ืืฆืืจื ืืืชืืืื ืขื ืืืจืืืืช. ืื ืืื ืฆืืจื ืืื, ืืืชื ืืืื ืืืจืฉืืช ืืขืฆืื ืืงืื ืืื ืืื ืขืื ืืฉืืื ืืื (ื ื ืื, ืืขื ื ืฆืืืืจื), ืื ืขืืืฃ ืืขืฉืืช ืืืช. ืื ืืฉืื ืจืืช ืืืืื ืืืืื ืืืจืื.
9. ืืืื ืืืช ืชื ืืขื ืืืฆืื ืืช: ืืฉืืื
ืืขืชืื ืงืจืืืืช ืืืื ืื ื ืจืืืื ืฉืื ืืชืขืืืจื ืืชืื ืืืฉืืื ืืืืขื ืืจื ืฉืืจืืช ืืื NodePort, ืฉืขืืืจื ืืืืืจืช ืืืื ืืืช ืืจืืจืช ืืืืื externalTrafficPolicy: Cluster
... ืื ืืืืจ ืฉ NodePort ืคืชืื ืืื ืฆืืืช ืืืฉืืื, ืืืชื ืืืื ืืืฉืชืืฉ ืืื ืืื ืืื ืืื ืืืฆืืจ ืืื ืืจืืงืฆืื ืขื ืืฉืืจืืช ืืจืฆืื (ืกื ืฉื ืชืจืืืืื).
ืืื ืขื ืืืช, ืชืจืืืืื ืืืืชืืื ืืืฉืืืืื ืืฉืืจืืช NodePort ืื "ื ืืืื ืื ืืืจื ืืื ืจืง ืขื ืืกืืืื ืชืช-ืงืืืฆื ืฉื ืฆืืชืื ืืื. ืืืืืื ืืืจืืช, ืื ืื ื ืืชืืืจ ืืฆืืืช ืฉืืื ืื ืืช ืืคืื ืื ืืจืฉ, ืืื ืืขืืืจ ืชื ืืขื ืืฆืืืช ืืืจ, ืืืกืคืช ืืืค ืืืืืืช ืืฉืืื (ืื ืฆืืชืื ืืืืงืืื ืืืืืจื ืืืื ืืช/ืืจืืื ื ืชืื ืื ืฉืื ืื, ืืืฉืืื ืืืืื ืืืืืช ืื ืืืืื; ืื ืืกืฃ, ืขืืืืืช ืชืขืืืจืช ืืฆืืื ืืืืื).
ืืฆื ืฉื ื, ืื ืืฉืืจืืช Kubernetes ืืกืืื ืืฉ ืืืื ืืืช ืืืืืจืช externalTrafficPolicy: Local
, ืื NodePort ื ืคืชื ืจืง ืืืืชื ืฆืืชืื ืฉืืื ืคืืขืืื ืืคืืขื ืืคืืืื ืื ืืจืฉืื. ืืขืช ืฉืืืืฉ ืืืืื ืขืืืกืื ืืืฆืื ื ืฉืืืืง ืืช ืืืฆื (ืืืืงืช ืืจืืืืช) ื ืงืืืืช ืงืฆื (ืืื ืื ืงืืจื AWS ELB), ืืื ืืฉืื ืชืขืืืจื ืจืง ืืฆืืชืื ืืืจืืฉืื, ืฉืชืฉืคืืข ืืืืื ืขื ืขืืืืืื, ืฆืจืื ืืืฉืื, ืืฉืืื ืืช ืืฆืืื (ืืืฉืื ืืืฉืจ ืืืชืื ืืช ืืืชื ืืืืจ).
ืืฉ ืกืืืื ืืืื ืฉืืชื ืืืจ ืืฉืชืืฉ ืืืฉืื ืืื ืืจืืคืืง ืื nginx-ingress-controller ืื ืงืืืช ืงืฆื ืฉื NodePort (ืื LoadBalancer, ืืืฉืชืืฉืช ืื ื-NodePort) ืื ืืชืื ืชืขืืืจืช ืื ืืกืช HTTP, ืืืืืจืช ืืคืฉืจืืช ืื ืืืืื ืืืคืืืช ืืฉืืขืืชืืช ืืช ืืืฉืืื ืขืืืจ ืืงืฉืืช ืืืื.
ะ
10. ืื ืชืงืฉืืจ ืืืฉืืืืืช ืืื ืชืชืขืื ืืืืฉืืจ ืืฉืืืื
ืืขืืจ, ืืื ื ืืื ืืงืจืื ืืฉืจืชืื ืืฉืืืช ืคืจืืืื:
ืกืืคืืจ ืืืคืืกื (ืืืืกืก ืขื ืืืจืืขืื ืืืืชืืื): ืืื ืืชืืื ืืืืืืช ืงืื ืกืคื, ืื ืืืฉืืื ืืื ืฉื ืืื ืืืืงืืช... ืืืคื ืฉื ืื ืืืื ืขืืืื ืืฉืืืืฉ ืืืืฆืืจ, ืืืืื ืืคืืืื ืืืขืช ืื.
ืืื ืฉืื ืืืจ ืืื ื ืืฆืืืจืื ืฉืืืคืืื ืืืืืช ืืืื, ืื ืื ื ืืืืืฆืื ืืืกืืจ ืืืชื ืืื ืคืขื ืชืื ืืื ืชืจืืื ืืชืืืฉืฉืืช ืืืกืื (ืื ืืขืืืจ
ืืฆื ืฉื ื, ืืชื ืื ืฆืจืื ืืืืกืืฃ ืขื ืื ืืคืืืฆืืืช. ืขื ืืืื ืฉืืืช ืืืงืจื ืขืืืื ืืืืืช ืืืืืช. ืกืืืจ ืืื ืื ืฉืื ื ืืืข ืืืกืคืจ ืจื ืฉื ืืืืืืงืืื ืฉื ืืฆืจื ืืื ืกืืืืื (ืืฆื ืฉืืื ืืฉืืืืฉ ืืืื ืขื ืืืืจืืช ืืจืืจืช ืืืื, ืืื ืืกืืื ืฉืืืฆื ืฉืื ืืืคืืช configmap/ืกืืืืช ืื ืืชืขืืื - ืืชืืฆืื ืืื, ืืืคื ืืืืืืงืืื ืืฆืืืจืื ื- ืฉืืืช ืืืงืจื) ืื ืขื ืขืจืืื ืืชืืืช ืฉื ืืืืืืงืื kube-api (ืขืืืจ ืงื ื ืืืื ืืืืืืื, ืขืืืจ CI/CD, ืขืืืจ ื ืืืืจ, ืืืื ื ืืืจืืขืื, ืืงืจืื ืืื').
ืื ืืกืฃ, ืื ื ืืืืืฆืื ืืืืืง ืืช ืืกืืื SLA/SLO ืขื ืกืคืง Kubernetes ืืื ืืื ืืืฉืื ืื ืืขืจืืืช. ืืกืคืง ืืืื ืืืืืื ืฉืืืื ืืืืื ืืช ืฉืืืช (ืื ืจืืืื ืืืฉื ื ืฉืื), ืืื ืื ืขืืืื p99 ืฉื ืืงืฉืืช ืฉืืชื ืฉืืื ืืืื. ืืืืืื ืืืจืืช, ืืชื ืืืื ืืืืื ืก kubectl get nodes
, ืืงืื ืชืฉืืื ืจืง ืืืืจ 10 ืืงืืช, ืืืืช ืื ืชืืื ืืคืจื ืฉื ืชื ืื ืืกืื ืืฉืืจืืช.
11. ืืื ืืก: ืฉืืืืฉ ืืชืืืช ืืืืจืื ื
ืืื ืื ืืืจ ืงืืืกืืงื. ืืืืจืื ื ืื ื ื ืชืงืืื ืืืื ืืงื ืื ืืขืชืื ืจืืืงืืช ืืืชืจ, ืฉืื ืจืืื, ืืืืจ ืฉืืืื ืื ืืกืืื ืืจ, ืืคืกืืงื ืืืฉืชืืฉ ืืชื :latest
ืืืชืืื ืืืฆืืื ืืจืกืืืช. ืืืื!
ECR
ืชืงืฆืืจ
ืื ืชืฆืคื ืฉืืื ืืขืืื ืื ืืืื: Kubernetes ืืื ืื ืชืจืืคืช ืคืื. ืืคืืืงืฆืื ืืจืืขื
ืืชื ืืืื ืืืืืจ ืืช ืืืืืืืช ืืื ืืืฆืืืืช ืฉื ืฆืืืชืื ืฉืื ืื ื
ืื ืฉืจืืฆื ืืืืกืืฃ ืืจืฉืืืช ืืฉืืืืืช ืืืืคืืขื ืืืืืจ ืื ืืืื ืืคื ืืช ืืืื ื ืืืืืืืจ (
ื .ื ืืืืชืจืื
ืงืจื ืื ืืืืื ืฉืื ื:
- ยซ
ืขืืฆืื ืืฉืืืืืช Kubernetes: ืืื ืฆืจืืืื ืืืืืช? "; - ยซ
ื-ABC ืฉื ืืืืื ื-Kubernetes: ืืืืืช, ืืจืฉืื, ืืืงืืจืช "; - ยซ
ืงื ื ืืืื ืืืืืืื ืื ืืืื ืืฉืืืื ื- Kubernetes "(ืืืงืืจืช ืืืืืื ืืืืื); - ยซ
ConfigMaps ื-Kubernetes: ื ืืืื ืกืื ืฉืืืื ืืืขืช ืขืืืื ".
ืืงืืจ: www.habr.com