เบซเบกเบฒเบโเปเบซเบโ. เปเบ.: เบเบปเบโเบเบงเบฒเบกโเบเบตเปโเปเบกเปเบโเบชเปเบงเบโเบซเบเบถเปเบโเบเบญเบโเปเบญโเบเบฐโเบชเบฒเบโเบเบญเบโเปเบเบโเบเบฒเบโเปเบเปโเบเบฑเบโเบเบตเบกโเบกเบฒโเปเบโเปเบโเปเบกเบโเบชเบฒโเบเบฒโเบฅเบฐโเบเบฐโ
TL;DR: เบเบตเปเปเบกเปเบเปเบเบเบงเบฒเบเบเบตเปเบเบฐเบเปเบงเบเปเบซเปเบเปเบฒเบเบเบตเบเบฑเบเบเบฒเบเบเบณเปเบเปเปเบ Kubernetes:
เปเบเบเบเบฑเบเบงเบฝเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบญเบเบซเบฒ เปเบฅเบฐเปเบเปเปเบเบเปเปเบเบดเบเบเบฒเบเปเบเบเบธเปเบก. เบเบปเปเบเบชเบฐเบเบฑเบ (เปเบเบเบฒเบชเบฒเบญเบฑเบเบเบดเบ) เปเบกเปเบเบกเบตเบขเบนเป
เปเบกเบทเปเบญเบเบณเปเบเปเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบเปเบเปเบชเป Kubernetes, เปเบเบเบเบปเปเบงเปเบเปเบฅเปเบงเบกเบตเบชเบฒเบกเบญเบปเบเบเบฐเบเบญเบเบเบตเปเปเบเบปเปเบฒเบเปเบญเบเบเบณเบเบปเบ:
- เบเบฒเบเบเบฐเบเบดเบเบฑเบ - เบเบตเปเปเบกเปเบเบเบฐเปเบเบเบเบญเบเบชเบนเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบชเปเบฒเบเบชเปเบฒเปเบเบปเบฒเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบ, เปเบญเบตเปเบเบงเปเบฒเบเบฑเบ;
- เบเบฒเบเบเปเบฅเบดเบเบฒเบ โ เบเบปเบงเบเบธเปเบเบเปเบฝเบเบเบฒเบเปเบซเบผเบเบเบฒเบเปเบเบเบตเปเปเบเบเบขเบฒเบเบเบฒเบเบเบฐเบฅเบฒเบเบญเบเบฅเบฐเบซเบงเปเบฒเบเบเบฑเบ;
- Ingress โ เบฅเบฒเบโเบฅเบฐโเบญเบฝเบโเบเบญเบโเบเบฒเบโเบเบฐโเบฅเบฒโเบเบญเบโเบเบฐโเปเบเปโเบฎเบฑเบโเบเบฒเบโเปเบฅเบโเบเบฒเบโเบเบญเบโเบเบฒเบโเบเปโเบฅเบดโเบเบฒเบโ.
เบเบตเปเปเบกเปเบเบชเบฐเบซเบผเบธเบเปเบเบเบเบฃเบฒเบเบดเบเบเปเบงเบ:
1) เปเบ Kubernetes, เปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบเปเบเปเบฎเบฑเบเบเบฒเบเบเบฐเบฅเบฒเบเบญเบเบเบฒเบเปเบฅเบเบเบฒเบเบเบญเบเบเปเบฒเบเบชเบญเบเบเบฑเปเบเบเบญเบเบเบปเบงเบเบธเปเบเบเปเบฝเบเบเบฒเบเปเบซเบผเบ: เบเบฒเบเปเบเปเบฅเบฐเบเบฒเบเบเบญเบ.
2) เบเบปเบงเบเบธเปเบเบเปเบฝเบเบเบฒเบเปเบเปเบญเบตเปเบเบงเปเบฒเบเปเบฅเบดเบเบฒเบ, เบเบฒเบเบเบญเบเปเบญเบตเปเบเบงเปเบฒ Ingress.
3) เบเบฒเบเบเบฐเบเบดเบเบฑเบเบชเปเบฒเบเบเบฑเบเปเบฅเบฐเบเบดเบเบเบฒเบกเบเบงเบเบกเบฑเบ (เบเบงเบเบกเบฑเบเบเปเปเปเบเปเบเบทเบเบชเปเบฒเบเบเปเบงเบเบเบปเบเปเบญเบ).
เปเบซเปเปเบงเบปเปเบฒเบงเปเบฒเบเปเบฒเบเบเปเบญเบเบเบฒเบเบเบฑเบเปเบเปเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเบเบตเปเบเปเบฒเบเบเบฒเบ a la เบชเบฐเบเบฒเบเบเบตเปเบฅเบ. เบเบฒเบเบเบฑเปเบเบเปเบฒ YAML เบชเปเบฒเบฅเบฑเบเบกเบฑเบเบเบฐเบกเบตเบฅเบฑเบเบชเบฐเบเบฐเบเบตเป:
apiVersion: apps/v1
kind: Deployment # <<<
metadata:
name: my-deployment
labels:
track: canary
spec:
selector:
matchLabels:
any-name: my-app
template:
metadata:
labels:
any-name: my-app
spec:
containers:
- name: cont1
image: learnk8s/app:1.0.0
ports:
- containerPort: 8080
---
apiVersion: v1
kind: Service # <<<
metadata:
name: my-service
spec:
ports:
- port: 80
targetPort: 8080
selector:
name: app
---
apiVersion: networking.k8s.io/v1beta1
kind: Ingress # <<<
metadata:
name: my-ingress
spec:
rules:
- http:
paths:
- backend:
serviceName: app
servicePort: 80
path: /
เบเปเบฒเบเบดเบเบฒเบกเปเบกเปเบเบเปเบญเบเบเปเบฒเบเบเบฒเบงเปเบฅเบฐเบกเบฑเบเบเปเบฒเบเบเบตเปเบเบฐเบชเบฑเบเบชเบปเบเบเปเบฝเบงเบเบฑเบเบงเบดเบเบตเบเบฒเบเบญเบปเบเบเบฐเบเบญเบเบเบตเปเบเปเบฝเบงเบเปเบญเบเบเบฑเบเบเบฑเบเปเบฅเบฐเบเบฑเบ.
เบเบปเบงเบขเปเบฒเบ:
- เปเบกเบทเปเบญเปเบเบเบตเปเบเปเบฒเบเบเบงเบเปเบเปเบเบญเบ 80 เปเบฅเบฐเปเบงเบฅเบฒเปเบเบเบตเปเบเปเบฒเบเบเบงเบเปเบเป 8080?
- เบเปเบญเบเบเบงเบเบชเปเบฒเบเบเบญเบเปเบซเบกเปเบชเปเบฒเบฅเบฑเบเปเบเปเบฅเบฐเบเปเบฅเบดเบเบฒเบเปเบเบทเปเบญเปเบซเปเบเบงเบเปเบเบปเบฒเบเปเปเบเบฑเบเปเบเปเบ?
- เบเบทเปเบเปเบฒเบเบเบทเปเบชเบณเบเบฑเบเบเป? เบเบงเบเปเบเบปเบฒเบเบงเบเบเบฐเบเบทเบเบฑเบเบขเบนเปเบเบปเปเบงเบเบธเบเปเบซเปเบเบเป?
เบเปเบญเบเบเบตเปเบเบฐเบชเบธเบกเปเบชเปเบเบฒเบ debugging, เปเบซเปเบเบงเบเปเบฎเบปเบฒเบเบทเปเบงเบดเบเบตเบเบฒเบเบชเบฒเบกเบญเบปเบเบเบฐเบเบญเบเบเบตเปเบเปเบฝเบงเบเปเบญเบเบเบฑเบ. เปเบฅเบตเปเบกเบเบปเปเบเบเปเบงเบเบเบฒเบเปเบเปเบเบฒเบ เปเบฅเบฐเบเบฒเบเบเปเบฅเบดเบเบฒเบ.
เบเบงเบฒเบกเบชเปเบฒเบเบฑเบเบฅเบฐเบซเบงเปเบฒเบเบเบฒเบเบเปเบฒเปเบเปเบเปเปเบฅเบฐเบเบฒเบเบเปเบฅเบดเบเบฒเบ
เบเปเบฒเบเบเบฐเบเบฐเบซเบฅเบฒเบเปเบ, เปเบเปเบเบฒเบเบเบฑเบเบชเบปเปเบเปเบฅเบฐเบเบฒเบเบเปเบฅเบดเบเบฒเบเบเปเปเปเบเปเปเบเบทเปเบญเบกเบเปเปเปเบเบเบฒเบเปเบเบเปเปเบเบฒเบก. เปเบเบเบเบตเปเบเบฐ, เบเบฒเบเบเปเบฅเบดเบเบฒเบเบเบตเปเปเบเบเบเบปเบเปเบชเป Pods, เบเปเบฒเบกเบเบฒเบเปเบเปเบเบฒเบ.
เบเบฑเปเบเบเบฑเปเบ, เบเบงเบเปเบฎเบปเบฒเบกเบตเบเบงเบฒเบกเบชเบปเบเปเบเปเบเบงเบดเบเบตเบเบฒเบ Pods เปเบฅเบฐเบเบฒเบเบเปเบฅเบดเบเบฒเบเปเบกเปเบเบเปเบฝเบงเบเปเบญเบเบเบฑเบเบเบฑเบเปเบฅเบฐเบเบฑเบ. เบชเบฒเบกโเบชเบดเปเบโเบเบตเปโเบเบงเบโเบเบทเปโเบเปเบฒโ:
- เบเบปเบงเปเบฅเบทเบญเบ (
selector
) เบชเปเบฒเบฅเบฑเบเบเบฒเบเบเปเบฅเบดเบเบฒเบเบเปเบญเบเบเบปเบเบเบฑเบเบเปเบฒเบ Pod เบขเปเบฒเบเปเปเบญเบเปเบถเปเบเบญเบฑเบ. -
targetPort
เบเปเบญเบเบเบปเบเบเบฑเบcontainerPort
เบเบฑเบเบเบธเบเบฒเบเปเบ Pod เปเบเป. -
port
เบเบฒเบเบเปเบฅเบดเบเบฒเบเบชเบฒเบกเบฒเบเปเบเบฑเบเบญเบฑเบเปเบเบเปเปเบเป. เบเปเบฅเบดเบเบฒเบเบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบเบชเบฒเบกเบฒเบเบเปเบฒเปเบเปเบเบญเบเบเบฝเบงเบเบฑเบเปเบเบฒเบฐเบงเปเบฒเบเบงเบเปเบเบปเบฒเบกเบตเบเบตเปเบขเบนเป IP เบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบ.
เปเบเบเบงเบฒเบเบเปเปเปเบเบเบตเปเปเบเบฑเบเบเบปเบงเปเบเบเบเบฑเบเปเบปเบเบเปเบฒเบเปเบเบดเบเปเบเบฎเบนเบเปเบเบเบเบฒเบเบดเบ:
1) เบเบดเบเบเบฐเบเบฒเบเบฒเบเบงเปเบฒเบเบฒเบเบเปเบฅเบดเบเบฒเบเบเปเบฒเบเบฒเบเบฒเบเบเบฐเบฅเบฒเบเบญเบเปเบเบซเบฒเบเบฑเบเบเบตเปเปเบเปเบเบญเบ:
2) เปเบกเบทเปเบญเบชเปเบฒเบเบเบฑเบ, เบเปเบฒเบเบเปเบญเบเบฅเบฐเบเบธ containerPort
เบชเปเบฒเบฅเบฑเบเปเบเปเบฅเบฐเบเบฑเบเปเบเบเบฑเบ:
3) เปเบกเบทเปเบญเบชเปเบฒเบเบเบฒเบเบเปเบฅเบดเบเบฒเบ, เบเปเบฒเบเบเปเบญเบเบฅเบฐเบเบธ port
ะธ targetPort
. เปเบเปเบญเบฑเบเปเบเบเบตเปเปเบเปเปเบเบทเปเบญเปเบเบทเปเบญเบกเบเปเปเบเบฑเบเบเบนเปเบเบญเบเปเบเบเปเบเบต?
4) เบเปเบฒเบ targetPort
. เบกเบฑเบเบเปเบญเบเบเบปเบเบเบฑเบ containerPort
.
5) เปเบซเปเปเบงเบปเปเบฒเบงเปเบฒ port 3000 เปเบเบตเบเบขเบนเปเปเบ container. เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ, เบเปเบฒ targetPort
เบเบงเบเบเบฐเบเบทเบเบฑเบ.
เปเบเปเบเบฅเป YAML, เบเปเบฒเบเบเบทเป เปเบฅเบฐ ports
/ targetPort
เบเปเบญเบเบเบปเบเบเบฑเบ:
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-deployment
labels:
track: canary
spec:
selector:
matchLabels:
any-name: my-app
template:
metadata:
labels: # <<<
any-name: my-app # <<<
spec:
containers:
- name: cont1
image: learnk8s/app:1.0.0
ports:
- containerPort: 8080 # <<<
---
apiVersion: v1
kind: Service
metadata:
name: my-service
spec:
ports:
- port: 80
targetPort: 8080 # <<<
selector: # <<<
any-name: my-app # <<<
เปเบกเปเบเบซเบเบฑเบเบเปเบฝเบงเบเบฑเบเบเปเบฒเบเบเบทเป track: canary
เบขเบนเปเปเบเบดเบเบชเบธเบเบเบญเบเบเบฒเบเบชเปเบงเบเบเบฒเบเปเบเปเบเบฒเบ? เบกเบฑเบเบเบงเบเบเบฐเบเบปเบเบเบฑเบเบเป?
เบเปเบฒเบเบเบณเบเบฑเบเบเบตเปเปเบกเปเบเบชเบฐเปเบเบฒเบฐเบเบฒเบเบเบณเปเบเป เปเบฅเบฐเบเปเปเปเบเปเปเบเปเปเบเบเบเบฒเบเบเปเบฅเบดเบเบฒเบเปเบเบทเปเบญเบเบณเบเบปเบเปเบชเบฑเปเบเบเบฒเบ. เปเบเบเปเบฒเบชเบฑเบเบเปเบฒเบเปเบญเบทเปเบเป, เบกเบฑเบเบชเบฒเบกเบฒเบเบเบทเบเปเบเบเบเปเบฒเบเบญเบญเบเบซเบผเบทเบเปเบฒเบซเบเบปเบเบเปเบฒเบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบ.
เปเบกเปเบเบซเบเบฑเบเบเปเบฝเบงเบเบฑเบเบเบปเบงเปเบฅเบทเบญเบ matchLabels
?
เบกเบฑเบเบเปเบญเบเบเบปเบเบเบฑเบเบเปเบฒเบเบเบทเปเบเบญเบ Pod เบชเบฐเปเปเบต, เปเบเบทเปเบญเบเบเบฒเบเบงเปเบฒเบกเบฑเบเบเบทเบเบเปเบฒเปเบเปเปเบเบ Deployment เปเบเบทเปเบญเบเบดเบเบเบฒเบกเบเบฑเบ.
เปเบซเปเบชเบปเบกเบกเบธเบเบงเปเบฒเบเปเบฒเบเปเบเปเปเบฎเบฑเบเบเบฒเบเปเบเปเปเบเบเบตเปเบเบทเบเบเปเบญเบ. เบเบงเบเปเบเบดเปเบเบเบงเบเบกเบฑเบเปเบเบงเปเบ?
เบเปเบฒเบเบชเบฒเบกเบฒเบเบเบงเบเปเบเบดเปเบเบเปเบฒเบ pod เบเปเบงเบเบเปเบฒเบชเบฑเปเบเบเปเปเปเบเบเบตเป:
kubectl get pods --show-labels
เบซเบผเบท, เบเปเบฒ pods เปเบเบฑเบเบเบญเบเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเบเปเบฒเบเบงเบเบซเบเบถเปเบ:
kubectl get pods --selector any-name=my-app --show-labels
เบเปเบญเบเปเบ any-name=my-app
เปเบกเปเบเบเปเบฒเบเบเบทเป any-name: my-app
.
เบกเบตโเบเบงเบฒเบกโเบซเบเบธเปเบโเบเบฒเบโเบเบตเปโเปเบซเบผเบทเบญโ?
เบเปเบฒเบเบชเบฒเบกเบฒเบเปเบเบทเปเบญเบกเบเปเปเบเบฑเบเบเบฑเบเปเบเป! เปเบเบทเปเบญเปเบฎเบฑเบเบชเบดเปเบเบเบตเป, เบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเปเบเปเบเปเบฒเบชเบฑเปเบ port-forward
เปเบ kubectl. เบกเบฑเบเบญเบฐเบเบธเบเบฒเบเปเบซเปเบเปเบฒเบเบชเบฒเบกเบฒเบเปเบเบทเปเบญเบกเบเปเปเบเบฑเบเบเบฒเบเบเปเบฅเบดเบเบฒเบเปเบฅเบฐเบเบงเบเบชเบญเบเบเบฒเบเปเบเบทเปเบญเบกเบเปเป.
kubectl port-forward service/<service name> 3000:80
เบเบตเปเบเบตเป:
-
service/<service name>
โ เบเบทเปโเบเปโเบฅเบดโเบเบฒเบโ; เปเบเบเปเบฅเบฐเบเบตเบเบญเบเบเบงเบเปเบฎเบปเบฒเบกเบฑเบเปเบกเปเบmy-service
; - 3000 เปเบกเปเบเบเบญเบเบเบตเปเบเปเบญเบเบเบฒเบเปเบเบตเบเปเบเบเบญเบกเบเบดเบงเปเบเบต;
- 80 - เบเบญเบเบเบตเปเบฅเบฐเบเบธเปเบงเปเปเบเบเบฒเบเบชเบฐเบซเบเบฒเบก
port
เบเบฒเบเบเปเบฅเบดเบเบฒเบ.
เบเปเบฒเบเบฒเบเปเบเบทเปเบญเบกเบเปเปเปเบเปเบเบทเบเบชเปเบฒเบเบเบฑเปเบเบเบถเปเบ, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเบฒเบเบเบฑเปเบเบเปเบฒเปเบกเปเบเบเบทเบเบเปเบญเบ.
เบเปเบฒเบเบฒเบเปเบเบทเปเบญเบกเบเปเปเบฅเบปเปเบกเปเบซเบฅเบง, เบกเบตเบเบฑเบเบซเบฒเบเบฑเบเบเปเบฒเบเบเบทเปเบซเบผเบทเบเบญเบเบเปเปเบเบปเบเบเบฑเบ.
เบเบงเบฒเบกเบชเปเบฒเบเบฑเบเบฅเบฐเบซเบงเปเบฒเบเบเบฒเบเบเปเบฅเบดเบเบฒเบเปเบฅเบฐ Ingress
เบเบฑเปเบเบเบญเบเบเปเปเปเบเปเบเบเบฒเบเบชเบฐเบซเบเบญเบเบเบฒเบเปเบเบปเปเบฒเปเบเบดเบเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเปเบกเปเบเบเปเบฝเบงเบเปเบญเบเบเบฑเบเบเบฒเบเบเบฑเปเบเบเปเบฒ Ingress. Ingress เบเปเบญเบเบเบฒเบเบฎเบนเปเบงเบดเบเบตเบเบฒเบเบเบญเบเบซเบฒเบเปเบฅเบดเบเบฒเบ, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเบญเบเบซเบฒเบเบฑเบเปเบฅเบฐเบเบฒเบเบเบฐเบฅเบฒเบเบญเบเปเบเบเบเบปเบเบเบฑเบเบเบงเบเปเบเบปเบฒ. Ingress เบเบญเบเบซเบฒเบเบฒเบเบเปเบฅเบดเบเบฒเบเบเบตเปเบเปเบญเบเบเบฒเบเปเบเบเบเบทเปเปเบฅเบฐเบเบญเบเปเบเบตเบ.
เปเบเบฅเบฒเบเบฅเบฐเบญเบฝเบเบเบญเบ Ingress เปเบฅเบฐ Service เบชเบญเบเบเบฒเบฅเบฒเบกเบดเปเบเบตเบเปเบญเบเบเบปเบเบเบฑเบ:
-
servicePort
เปเบ Ingress เบเปเบญเบเบเบปเบเบเบฑเบเบเบฒเบฅเบฒเบกเบดเปเบเบตport
เปเบเบเบฒเบเบเปเบฅเบดเบเบฒเบ; -
serviceName
เปเบ Ingress เบเปเบญเบเบเบปเบเบเบฑเบเบเบฒเบเบชเบฐเบซเบเบฒเบกname
เปเบเบเบฒเบเบเปเบฅเบดเบเบฒเบ.
เปเบเบเบงเบฒเบเบเปเปเปเบเบเบตเปเบชเบฐเบซเบผเบธเบเบเบฒเบเปเบเบทเปเบญเบกเบเปเปเบเบญเบ:
1) เบเบฑเปเบเบเบตเปเปเบเบปเปเบฒเบฎเบนเปเปเบฅเปเบง, เบเปเบฅเบดเบเบฒเบเบเบฑเบเบชเบดเปเบเบเบตเปเปเบเปเบเบญเบ port
:
2) Ingress เบกเบตเบเบฒเบฅเบฒเบกเบดเปเบเบตเบเบตเปเปเบญเบตเปเบเบงเปเบฒ servicePort
:
3โ) เบเบปเบงโเบเปเบฒโเบเบปเบโเบเบฒเบโเบเบตเป (servicePort
) เบเปเบญเบเบเบปเบเบเบฑเบเบชเบฐเปเปเบต port
เปเบโเบเปเบฒโเบเบดโเบเบฒเบกโเบเบฒเบโเบเปโเบฅเบดโเบเบฒเบโ:
4) เบเปเบฒเบเบญเบ 80 เบเบทเบเบฅเบฐเบเบธเปเบงเปเปเบเบเปเบฅเบดเบเบฒเบ, เบกเบฑเบเปเบเบฑเบเบชเบดเปเบเบเปเบฒเปเบเบฑเบ servicePort
เบเบฑเบเปเบเบปเปเบฒเบเบฑเบ 80:
เปเบเบเบฒเบเบเบฐเบเบดเบเบฑเบ, เบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเปเบเปเปเบญเบปเบฒเปเบเปเบชเปเบเบฑเบเบชเบฒเบเบเบฑเปเบเบเปเปเปเบเบเบตเป:
apiVersion: v1
kind: Service
metadata:
name: my-service # <<<
spec:
ports:
- port: 80 # <<<
targetPort: 8080
selector:
any-name: my-app
---
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: my-ingress
spec:
rules:
- http:
paths:
- backend:
serviceName: my-service # <<<
servicePort: 80 # <<<
path: /
เบงเบดเบเบตเบเบฒเบเบเบงเบเบชเบญเบเบงเปเบฒ Ingress เบเปเบฒเบฅเบฑเบเปเบฅเปเบเบขเบนเปเบเป?
เบเปเบฒเบเบชเบฒเบกเบฒเบเบเปเบฒเปเบเปเบงเบดเบเบตเบเบฒเบเบเบตเปเบกเบต kubectl port-forward
, เปเบเปเปเบเบเบเบตเปเบเบฐเปเบซเปเบเปเบฅเบดเบเบฒเบเบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเปเบเบทเปเบญเบกเบเปเปเบเบฑเบเบเบปเบงเบเบงเบเบเบธเบก Ingress.
เบเปเบญเบเบญเบทเปเบ เปเบปเบ เบเปเบฒเบเบเปเบญเบเบเบญเบเบซเบฒเบเบทเปเบเบญเบเบเบฑเบเบเปเบงเบเบเบปเบงเบเบงเบเบเบธเบก Ingress:
kubectl get pods --all-namespaces
NAMESPACE NAME READY STATUS
kube-system coredns-5644d7b6d9-jn7cq 1/1 Running
kube-system etcd-minikube 1/1 Running
kube-system kube-apiserver-minikube 1/1 Running
kube-system kube-controller-manager-minikube 1/1 Running
kube-system kube-proxy-zvf2h 1/1 Running
kube-system kube-scheduler-minikube 1/1 Running
kube-system nginx-ingress-controller-6fc5bcc 1/1 Running
เบเบญเบเบซเบฒ Ingress pod (เบกเบฑเบเบญเบฒเบเบเบฐเบขเบนเปเปเบ namespace เบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบ) เปเบฅเบฐเบเปเบฒเปเบเบตเบเบเบฒเบเบเปเบฒเบชเบฑเปเบ describe
เปเบเบทเปเบญเบเบญเบเบซเบฒเบเบปเบงเปเบฅเบเบเบตเป Port:
kubectl describe pod nginx-ingress-controller-6fc5bcc
--namespace kube-system
| grep Ports
Ports: 80/TCP, 443/TCP, 18080/TCP
เบชเบธเบเบเปเบฒเบ, เปเบเบทเปเบญเบกเบเปเปเบเบฑเบเบเบฑเบ:
kubectl port-forward nginx-ingress-controller-6fc5bcc 3000:80 --namespace kube-system
เปเบเบเบฑเบเบเบธเบเบฑเบเบเบธเบเบเบฑเปเบเบเบตเปเบเปเบฒเบเบชเบปเปเบเบเปเบฒเบฎเปเบญเบเบเปเปเบเบเบฑเบเบเบญเบ 3000 เปเบเบเบญเบกเบเบดเบงเปเบเบตเบเบญเบเบเปเบฒเบ, เบกเบฑเบเบเบฐเบเบทเบเบชเบปเปเบเบเปเปเปเบเบซเบฒเบเบญเบ 80 เบเบญเบเบเบฑเบเบเปเบงเบเบเบปเบงเบเบงเบเบเบธเบก Ingress. เปเบเบเบเบฒเบเปเบ
เบชเบฐเบซเบผเบธเบเบเบญเบเบเบญเบ
เบเปเปเบซเปเบเบทเปเบญเบตเบเปเบเบทเปเบญเบซเบเบถเปเบเบงเปเบฒเบเบญเบเปเบฅเบฐเบเปเบฒเบเบเบทเปเปเบเบเปเบญเบเบเบปเบเบเบฑเบ:
- เบเบปเบงเปเบฅเบทเบญเบเปเบเบเปเบฒเบเบดเบเบฒเบกเบเบฒเบเบเปเบฅเบดเบเบฒเบเบเปเบญเบเบเบปเบเบเบฑเบเบเปเบฒเบเบเบทเปเบเบญเบเบเบฑเบ;
-
targetPort
เปเบเบเปเบฒเบเบดเบเบฒเบกเบเบฒเบเบเปเบฅเบดเบเบฒเบเบเปเบญเบเบเบปเบเบเบฑเบcontainerPort
เบเบฑเบเบเบธเบเบฒเบเปเบเบเบฑเบ; -
port
เปเบเบเปเบฒเบเบดเบเบฒเบกเบเบฒเบเบเปเบฅเบดเบเบฒเบเบชเบฒเบกเบฒเบเปเบเบฑเบเบญเบฑเบเปเบเบเปเปเบเป. เบเปเบฅเบดเบเบฒเบเบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบเบชเบฒเบกเบฒเบเบเปเบฒเปเบเปเบเบญเบเบเบฝเบงเบเบฑเบเปเบเบฒเบฐเบงเปเบฒเบเบงเบเปเบเบปเบฒเบกเบตเบเบตเปเบขเบนเป IP เบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบ; -
servicePort
Ingress เบเปเบญเบเบเบปเบเบเบฑเบport
เปเบเบเปเบฒเบเบดเบเบฒเบกเบเบญเบเบเบฒเบเบเปเบฅเบดเบเบฒเบ; - เบเบทเปเบเปเบฅเบดเบเบฒเบเบเปเบญเบเบเบปเบเบเบฑเบเบเปเบญเบเบเปเปเบกเบนเบ
serviceName
เปเบ Ingress.
เปเบเปเบซเบเปเบฒเปเบชเบเบเบฒเบ, เบกเบฑเบเบเปเปเบเบฝเบเบเปเบเบตเปเบเบฐเบฎเบนเปเบงเบดเบเบตเบเบฒเบเบเบฑเบเปเบเบเบชเปเบฒเบ YAML เบขเปเบฒเบเบเบทเบเบเปเบญเบ.
เบเบฐเปเบเบตเบเบซเบเบฑเบเบเบถเปเบเปเบกเบทเปเบญเบชเบดเปเบเบเบตเปเบเบดเบเบเบฒเบ?
เบเบฑเบเบญเบฒเบเบเบฐเบเปเปเปเบฅเบตเปเบกเบซเบผเบทเบกเบฑเบเบญเบฒเบเบเบฐเบเบฑเบ.
3 เบเบฑเปเบเบเบญเบเปเบเบเบฒเบเบงเบดเบเบดเบเปเบชเบเบฑเบเบซเบฒเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบเปเบ Kubernetes
เบเปเบญเบเบเบตเปเบเปเบฒเบเบเบฐเปเบฅเบตเปเบกเบเบปเปเบเบเบฒเบเบเบตเบเบฑเบเบเบฒเบเปเบเปเบเบฒเบเบเบญเบเบเปเบฒเบ, เบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเบกเบตเบเบงเบฒเบกเปเบเบปเปเบฒเปเบเบเบตเบเปเบฝเบงเบเบฑเบเบงเบดเบเบตเปเบฎเบฑเบเบงเบฝเบ Kubernetes.
เปเบเบทเปเบญเบเบเบฒเบเปเบเปเบฅเบฐเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบเบเบตเปเบเบฒเบงเปเบซเบฅเบเปเบ K8s เบกเบตเบชเบฒเบกเบญเบปเบเบเบฐเบเบญเบ, เบเบงเบเบกเบฑเบเบเบงเบเบเบฐเบเบทเบเปเบเปเปเบเปเบเบเปเบฒเบชเบฑเปเบเบเบตเปเปเบเปเบเบญเบ, เปเบฅเบตเปเบกเบเบปเปเบเบเบฒเบเบฅเบธเปเบกเบชเบธเบ.
- เบเปเบญเบเบญเบทเปเบ เปเบปเบ, เบเปเบฒเบ เบเบณ เปเบเบฑเบเบเปเบญเบเบฎเบฑเบเบเบฐเบเบฑเบเบงเปเบฒเบเบฑเบเปเบกเปเบเปเบฎเบฑเบเบงเบฝเบ, เบเบฒเบเบเบฑเปเบ ...
- เบเบงเบเปเบเบดเปเบเบงเปเบฒเบเบฒเบเบเปเบฅเบดเบเบฒเบเบชเบฐเบซเบเบญเบเบเบฒเบเบเบฐเบฅเบฒเบเบญเบเปเบซเปเบเบฑเบเบเบฑเบ, เปเบฅเบฐเบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ ...
- เบเบงเบเปเบเบดเปเบเบงเปเบฒ Ingress เบเบทเบเบเบฑเปเบเบเปเบฒเบขเปเบฒเบเบเบทเบเบเปเบญเบ.
เบเบฒเบเบชเบฐเปเบเบเบเบฒเบ:
1) เบเปเบฒเบเบเบงเบเปเบฅเบตเปเบกเบเบปเปเบเบเบญเบเบซเบฒเบเบฑเบเบซเบฒเบเบฒเบเบฅเบธเปเบกเบชเบธเบ. เบเปเบฒเบญเบดเบเปเบซเปเบเบงเบเปเบเบดเปเบเบงเปเบฒเบเบฑเบเบกเบตเบชเบฐเบเบฒเบเบฐเบเบฒเบ Ready
ะธ Running
:
2โ) เบเปเบฒโเบซเบฒเบโเบงเปเบฒโเบเบฑเบโเบเปเบญเบก (Ready
), เบเปเบฒเบเบเบงเบเบเบญเบเบซเบฒเบงเปเบฒเบเบฒเบเบเปเบฅเบดเบเบฒเบเปเบเบเบขเบฒเบเบเบฒเบเบเบฐเบฅเบฒเบเบญเบเบฅเบฐเบซเบงเปเบฒเบเบเบฑเบ:
3) เบชเบธเบเบเปเบฒเบ, เบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเบงเบดเปเบเบฒเบฐเบเบฒเบเปเบเบทเปเบญเบกเบเปเปเบฅเบฐเบซเบงเปเบฒเบเบเบฒเบเบเปเบฅเบดเบเบฒเบเปเบฅเบฐ Ingress:
1. เบเบฒเบเบงเบดเบเบดเบเปเบชเบเบญเบเบเบฑเบ
เปเบเบเปเบฅเบฐเบเบตเบซเบผเบฒเบเบเบตเปเบชเบธเบ, เบเบฑเบเบซเบฒเปเบกเปเบเบเปเบฝเบงเบเปเบญเบเบเบฑเบเบเบฑเบ. เปเบซเปเปเบเปเปเบเบงเปเบฒเบเบฑเบเบเบทเบเบฅเบฐเบเบธเปเบงเปเปเบเบฑเบ Ready
ะธ Running
. เบเปเบฒเบเบชเบฒเบกเบฒเบเบเบงเบเบชเบญเบเบเบตเปเปเบเบเปเบเปเบเปเบฒเบชเบฑเปเบ:
kubectl get pods
NAME READY STATUS RESTARTS AGE
app1 0/1 ImagePullBackOff 0 47h
app2 0/1 Error 0 47h
app3-76f9fcd46b-xbv4k 1/1 Running 1 47h
เปเบเบเบปเบเปเบเปเบฎเบฑเบเบเปเบฒเบชเบฑเปเบเบเปเบฒเบเปเบเบดเบ, เบเบฑเบเบชเบธเบเบเปเบฒเบเปเบกเปเบเบฅเบฐเบเบธเปเบงเปเปเบเบฑเบ Running
ะธ Ready
เบขเปเบฒเบเปเบเบเปเบเบฒเบก, เบเบตเปเบเปเปเปเบกเปเบเบเปเบฅเบฐเบเบตเบชเปเบฒเบฅเบฑเบเบญเบตเบเบชเบญเบเบเบปเบ.
เบงเบดเบเบตเบเบฒเบเปเบเบปเปเบฒเปเบเบชเบดเปเบเบเบตเปเบเบดเบเบเบฒเบ?
เบกเบตเบชเบตเปเบเปเบฒเบชเบฑเปเบเบเบตเปเปเบเบฑเบเบเบฐเปเบซเบเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบงเบดเบเบดเบเปเบช pods:
-
kubectl logs <ะธะผั pod'ะฐ>
เบญเบฐเบเบธเบเบฒเบเปเบซเปเบเปเบฒเบเบชเบฒเบกเบฒเบเบชเบฐเบเบฑเบเปเบกเปเบเปเบญเบเบเบฒเบเบเบฑเบเบเบธเบขเบนเปเปเบเบเบฑเบ; -
kubectl describe pod <ะธะผั pod'ะฐ>
เบญเบฐเบเบธเบเบฒเบเปเบซเปเบเปเบฒเบเปเบเบดเปเบเบเบฑเบเบเบตเบฅเบฒเบเบเบทเปเบเบญเบเปเบซเบเบเบฒเบเบเบตเปเบเปเบฝเบงเบเปเบญเบเบเบฑเบเบเบฑเบ; -
kubectl get pod <ะธะผั pod'ะฐ>
เบญเบฐเบเบธเบเบฒเบเปเบซเปเบเปเบฒเบเปเบเปเบฎเบฑเบเบเบฒเบเบเบฑเปเบเบเปเบฒ YAML เบเบญเบเบเบฑเบเบเบตเปเปเบเบฑเบเปเบงเปเปเบ Kubernetes; -
kubectl exec -ti <ะธะผั pod'ะฐ> bash
เบญเบฐเบเบธเบเบฒเบเปเบซเปเบเปเบฒเบเปเบเบตเบ shell เบเปเบฒเบชเบฑเปเบเปเบเบเปเบเปเบเบญเบเบขเบนเปเปเบเบซเบเบถเปเบเปเบเบเบฑเบเบเบธเบเบฑเบ
เปเบเบปเปเบฒเบเบงเบเปเบฅเบทเบญเบเบญเบฑเบเปเบ?
เบเบงเบฒเบกเบเบดเบเปเบกเปเบเบงเปเบฒเบเปเปเบกเบตเบเปเบฒเบชเบฑเปเบเบเบปเปเบงเปเบ. เบเบฒเบเบเบฐเบชเบปเบกเบเบฐเบชเบฒเบเบเบญเบเบชเบดเปเบเปเบซเบผเบปเปเบฒเบเบตเปเบเบงเบเบเบฐเบเบทเบเบเปเบฒเปเบเป.
เบเบฑเบเบซเบฒเบเบฑเบเบเบปเปเบงเปเบ
เบกเบตโเบชเบญเบโเบเบฐโเปเบเบโเบเบปเปเบโเบเปโเบเบญเบโเบเบงเบฒเบกโเบเบดเบโเบเบฒเบ pod เปเบกเปเบโ: เบเบงเบฒเบกโเบเบดเบโเบเบฒเบโเบเบฒเบโเปเบฅเบตเปเบกโเบเบปเปเบโเปเบฅเบฐโเบเบงเบฒเบกโเบเบดเบโเบเบฒเบ runtimeโ.
เบเบงเบฒเบกโเบเบดเบโเบเบฒเบโเบเบฒเบโเปเบฅเบตเปเบกโเบเบปเปเบโ:
-
ImagePullBackoff
-
ImageInspectError
-
ErrImagePull
-
ErrImageNeverPull
-
RegistryUnavailable
-
InvalidImageName
Runtime เบเบดเบโเบเบฒเบโ:
-
CrashLoopBackOff
-
RunContainerError
-
KillContainerError
-
VerifyNonRootError
-
RunInitContainerError
-
CreatePodSandboxError
-
ConfigPodSandboxError
-
KillPodSandboxError
-
SetupNetworkError
-
TeardownNetworkError
เบเปเปเบเบดเบเบเบฒเบเบเบฒเบเบขเปเบฒเบเปเบกเปเบเบเบปเบเปเบฅเบทเปเบญเบเบเบงเปเบฒเบเบปเบเบญเบทเปเบ. เบเบตเปเปเบกเปเบเบเบฒเบเบเปเปเบเบดเบเบเบฒเบเบเบปเปเบงเปเบเบเบตเปเบชเบธเบเปเบฅเบฐเบงเบดเบเบตเบเบฒเบเปเบเปเปเบเบเบงเบเบกเบฑเบ.
เบฎเบนเบเบเบฒเบPullBackOff
เบเปเปเบเบดเบเบเบฒเบเบเบตเปเบเบฒเบเบปเบเบเบถเปเบเปเบกเบทเปเบญ Kubernetes เบเปเปเบชเบฒเบกเบฒเบเปเบเปเบฎเบฑเบเบฎเบนเบเบเบฒเบเบชเปเบฒเบฅเบฑเบเบซเบเบถเปเบเปเบเบเบฑเบเบเบธ pod เปเบเป. เบเบตเปเปเบกเปเบเบชเบฒเบกเปเบซเบเบเบปเบเบเบปเปเบงเปเบเบเบตเปเบชเบธเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบตเป:
- เบเบทเปเบเบญเบเบฎเบนเบเบเบฒเบเปเบกเปเบเบเปเปเบเบทเบเบเปเบญเบ - เบเบปเบงเบขเปเบฒเบ, เบเปเบฒเบเปเบเปเปเบฎเบฑเบเบเบดเบเบเบฒเบเปเบเบกเบฑเบ, เบซเบผเบทเบฎเบนเบเบเบฒเบเบเปเปเบกเบต;
- เปเบเบเบเปเบฒเบชเบฑเปเบเบเบตเปเบเปเปเบกเบตเบขเบนเปเปเบฅเปเบงเปเบกเปเบเปเบเปเบฅเบฐเบเบธเปเบงเปเบชเปเบฒเบฅเบฑเบเบฎเบนเบเบเบฒเบ;
- เบฎเบนเบเบเบฒเบเบเบทเบเปเบเบฑเบเปเบงเปเปเบเบเบฐเบเบฝเบเบชเปเบงเบเบเบปเบง เปเบฅเบฐ Kubernetes เบเปเปเบกเบตเบเบฒเบเบญเบฐเบเบธเบเบฒเบเปเบเบปเปเบฒเปเบเบดเบเบกเบฑเบ.
เบชเบญเบเปเบซเบเบเบปเบเบเปเบฒเบญเบดเบเปเบกเปเบเบเปเบฒเบเบเบตเปเบเบฐเบเปเบฒเบเบฑเบ - เบเบฝเบเปเบเปเปเบเปเปเบเบเบทเปเบฎเบนเบเบเบฒเบเปเบฅเบฐเปเบเบฑเบ. เปเบเบเปเบฅเบฐเบเบตเบชเบธเบเบเปเบฒเบ, เบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเปเบชเปเบเปเปเบกเบนเบเบเบฐเบเปเบฒเบเบปเบงเบชเปเบฒเบฅเบฑเบเบเบฒเบเบฅเบปเบเบเบฐเบเบฝเบเบเบตเปเบเบทเบเบเบดเบเปเบงเปเปเบเบเบงเบฒเบกเบฅเบฑเบเปเบฅเบฐเปเบเบตเปเบกเบเบฒเบเปเบเบทเปเบญเบกเบเปเปเบเบฑเบเบกเบฑเบเปเบเบเบฑเบ. เปเบเปเบญเบเบฐเบชเบฒเบ Kubernetes
Crash Loop Back Off
Kubenetes เบเบดเปเบกเบเบงเบฒเบกเบเบดเบเบเบฒเบ CrashLoopBackOff
, เบเปเบฒเบเบฑเบเบเปเปเบชเบฒเบกเบฒเบเปเบฅเบตเปเบกเบเบปเปเบเปเบเป. เบเบตเปเบกเบฑเบเบเบฐเปเบเบตเบเบเบถเปเบเปเบกเบทเปเบญ:
- เบกเบต bug เปเบเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเบเบตเปเบเปเบญเบเบเบฑเบเบเปเปเปเบซเปเบกเบฑเบเบเบฒเบเบเบฒเบเปเบเบตเบเบเบปเบง;
- Container
เบเบฑเปเบเบเปเบฒเบเปเปเบเบทเบเบเปเบญเบ ; - เบเบฒเบเบเบปเบเบชเบญเบ Liveness เปเบเปเบฅเบปเปเบกเปเบซเบฅเบงเบซเบผเบฒเบเปเบเบทเปเบญเปเบเบตเบเปเบ.
เบเปเบฒเบเบเปเบญเบเบเบฐเบเบฒเบเบฒเบกเปเบเบซเบฒเปเบกเปเบเปเบญเบเบเบฒเบเบเบนเปเบเบญเบเปเบเบเปเบเบตเปเบเบทเปเบญเบเบญเบเบซเบฒเปเบซเบเบเบปเบเบชเปเบฒเบฅเบฑเบเบเบงเบฒเบกเบฅเบปเปเบกเปเบซเบผเบงเบเบญเบเบกเบฑเบ. เบเปเบฒเบกเบฑเบเบกเบตเบเบงเบฒเบกเบซเบเบธเปเบเบเบฒเบเปเบเบเบฒเบเปเบเบปเปเบฒเปเบเบดเบเบเบฑเบเบเบถเบเปเบเบทเปเบญเบเบเบฒเบเบงเปเบฒ container restarts เปเบงเปเบเบตเบเปเบ, เบเปเบฒเบเบชเบฒเบกเบฒเบเบเปเบฒเปเบเปเบเปเบฒเบชเบฑเปเบเบเปเปเปเบเบเบตเป:
kubectl logs <pod-name> --previous
เบกเบฑเบเบชเบฐเปเบเบเบเปเปเบเบงเบฒเบกเบเบดเบเบเบฒเบเบเบฒเบ incarnation เบเบตเปเบเปเบฒเบเบกเบฒเบเบญเบเบเบฑเบเบเบธ.
RunContainerError
เบเบงเบฒเบกเบเบดเบเบเบฒเบเบเบตเปเปเบเบตเบเบเบถเปเบเปเบกเบทเปเบญเบเปเบญเบเบเบฑเบเบเบธเบเปเปเบชเบฒเบกเบฒเบเปเบฅเบตเปเบกเบเบปเปเบเปเบเป. เบกเบฑเบเบเบปเบเบเบฑเบเบเบฑเบเบเบธเบเบฑเบเบเปเบญเบเบเบตเปเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบเบเบฐเปเบเบตเบเบเบปเบง. เบกเบฑเบเบกเบฑเบเบเบฐเปเบเบตเบเบกเบฒเบเบฒเบเบเบฒเบเบเบฑเปเบเบเปเบฒเบเบตเปเบเปเปเบเบทเบเบเปเบญเบ, เบเบปเบงเบขเปเบฒเบ:
- เบเบฐเบเบฒเบเบฒเบกเบเบดเบเบเบฑเปเบเบเบฐเบฅเบดเบกเบฒเบเบเบตเปเบเปเปเบกเบตเบขเบนเปเปเบเบฑเปเบ ConfigMap เบซเบผเบทเบเบงเบฒเบกเบฅเบฑเบ;
- เบเบงเบฒเบกเบเบฐเบเบฒเบเบฒเบกเบเบตเปเบเบฐเปเบเบทเปเบญเบกเบเปเปเบเบฐเบฅเบดเบกเบฒเบเบญเปเบฒเบเปเบเบปเปเบฒเบเบฑเปเบเปเบเบฑเบ read-write.
เบเบตเบกเบเบฒเบเปเบกเปเบเปเบซเบกเบฒเบฐเบชเบปเบกเบเบตเบชเปเบฒเบฅเบฑเบเบเบฒเบเบงเบดเปเบเบฒเบฐเบเบงเบฒเบกเบเบดเบเบเบฒเบเบเบฑเปเบเบเปเบฒเบง kubectl describe pod <pod-name>
.
Pods เบขเบนเปเปเบเบชเบฐเบเบฒเบเบฐเบเบตเปเบเบฑเบเบเปเบฒเบเบขเบนเป
เปเบกเบทเปเบญเบชเปเบฒเบเปเบฅเปเบง, เบเบฑเบเบเบฑเบเบขเบนเปเปเบเบชเบฐเบเบฒเบเบฐ Pending
.
เปเบเบฑเบเบซเบเบฑเบเบชเบดเปเบเบเบตเปเปเบเบตเบเบเบถเปเบ?
เบเบตเปเปเบกเปเบเปเบซเบเบเบปเบเบเบตเปเปเบเบฑเบเปเบเปเบเป (เบเปเบญเบเบชเบปเบกเบกเบธเบเบงเปเบฒเบเบปเบงเบเปเบฒเบเบปเบเปเบงเบฅเบฒเปเบฎเบฑเบเบงเบฝเบเปเบเปเบเบต):
- เบเบธเปเบกเบเปเปเบกเบตเบเบฑเบเบเบฐเบเบฒเบเบญเบเบเบฝเบเบเป, เปเบเบฑเปเบ: เบเบฐเบฅเบฑเบเบเบฒเบเบเบฐเบกเบงเบเบเบปเบ เปเบฅเบฐเปเปเบงเบเบเบงเบฒเบกเบเบณ, เปเบเบทเปเบญเปเบฅเปเบเบเบญเบ.
- เบงเบฑเบเบเบธเปเบเปเบเบทเบเบเบดเบเบเบฑเปเบเบขเบนเปเปเบ namespace เบเบตเปเปเบซเบกเบฒเบฐเบชเบปเบก
ResourceQuota
เปเบฅเบฐเบเบฒเบเบชเปเบฒเบ pod เบเบฐเปเบฎเบฑเบเปเบซเป namespace เปเบเปเบเบตเบเปเบเบเปเบฒ. - Pod เบเบทเบเบเบนเบเบกเบฑเบเบเบฑเบ Pending
PersistentVolumeClaim
.
เปเบเบเปเบฅเบฐเบเบตเบเบตเป, เปเบเบฐเบเปเบฒเปเบซเปเปเบเปเบเปเบฒเบชเบฑเปเบ kubectl describe
เปเบฅเบฐเบเบงเบเปเบเบดเปเบเบเบฒเบเบชเปเบงเบ Events
:
kubectl describe pod <pod name>
เปเบเบเปเบฅเบฐเบเบตเบเบญเบเบเบงเบฒเบกเบเบดเบเบเบฒเบเบเบตเปเบเปเบฝเบงเบเปเบญเบเบเบฑเบ ResourceQuotas
, เบกเบฑเบเปเบเบฐเบเปเบฒเปเบซเปเปเบเบดเปเบเบเบฑเบเบเบถเบเบเบญเบเบเบธเปเบกเปเบเบเปเบเปเบเปเบฒเบชเบฑเปเบ
kubectl get events --sort-by=.metadata.creationTimestamp
เบเบฑเบเบเปเปเบเปเบญเบก
เบเปเบฒเบเบฑเบเบเบทเบเบฅเบฐเบเบธเปเบงเปเปเบเบฑเบ Running
, เปเบเปเบเปเปเปเบเปเบขเบนเปเปเบเบชเบฐเบเบฒเบเบฐ Ready
, เบซเบกเบฒเบเบเบงเบฒเบกเบงเปเบฒเบเบฒเบเบเบงเบเบชเบญเบเบเบงเบฒเบกเบเปเบญเบกเบเบญเบเบกเบฑเบ (เบเบฒเบโเบชเปเบฒโเบซเบผเบงเบโเบเบงเบฒเบกโเบเปเบญเบกโ) เบฅเบปเปเบกเปเบซเบฅเบง.
เปเบกเบทเปเบญเบชเบดเปเบเบเบฑเปเบเบเปเบฒเบงเปเบเบตเบเบเบถเปเบ, เบเบฑเบเบเปเปเปเบเบทเปเบญเบกเบเปเปเบเบฑเบเบเบฒเบเบเปเบฅเบดเบเบฒเบเปเบฅเบฐเบเปเปเบกเบตเบเบฒเบเบเบฐเบฅเบฒเบเบญเบเปเบซเบฅเปเบเบซเบฒเบกเบฑเบ. เบเบงเบฒเบกเบฅเบปเปเบกเปเบซเบผเบงเบเบญเบเบเบฒเบเบเบปเบเบชเบญเบเบเบงเบฒเบกเบเปเบญเบกเปเบกเปเบเปเบเบตเบเบเบฒเบเบเบฑเบเบซเบฒเปเบเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบ. เปเบเบเปเบฅเบฐเบเบตเบเบตเป, เปเบเบทเปเบญเบเบญเบเบซเบฒเบเปเปเบเบดเบเบเบฒเบ, เบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเบงเบดเปเบเบฒเบฐเบชเปเบงเบ Events
เปเบโเบเบฒเบโเบญเบญเบโเบเปเบฒโเบชเบฑเปเบโ kubectl describe
.
2. เบเบฒเบเบงเบดเบเบดเบเปเบชเบเบฒเบเบเปเบฅเบดเบเบฒเบ
เบเปเบฒเบเบฑเบเบเบทเบเบฅเบฐเบเบธเปเบงเปเปเบเบฑเบ Running
ะธ Ready
, เปเบเปเบเบฑเบเบเปเปเบเบฑเบเบกเบตเบเปเบฒเบเบญเบเบเบฒเบเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบ, เบเปเบฒเบเบเบงเบเบเบงเบเปเบเบดเปเบเบเบฒเบเบเบฑเปเบเบเปเบฒเบเบฒเบเบเปเบฅเบดเบเบฒเบ.
เบเบฒเบเบเปเบฅเบดเบเบฒเบเปเบกเปเบเบฎเบฑเบเบเบดเบเบเบญเบเบชเปเบฒเบฅเบฑเบเปเบชเบฑเปเบเบเบฒเบเบเบฒเบเบเบฐเบฅเบฒเบเบญเบเปเบเบซเบฒเบเบฑเบเปเบเบเบเบถเปเบเบเบฑเบเบเปเบฒเบเบเบทเปเบเบญเบเบเบงเบเปเบเบปเบฒ. เบเบฑเปเบเบเบฑเปเบ, เบชเบดเปเบเบเปเบฒเบญเบดเบเบเบตเปเบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเปเบฎเบฑเบเปเบกเปเบเบเบงเบเปเบเบดเปเบเบเปเบฒเบเบงเบเบเบฑเบเบเบตเปเปเบฎเบฑเบเบงเบฝเบเบเบฑเบเบเบฒเบเบเปเบฅเบดเบเบฒเบ. เปเบเบทเปเบญเปเบฎเบฑเบเบชเบดเปเบเบเบตเป, เบเปเบฒเบเบชเบฒเบกเบฒเบเบเบงเบเปเบเบดเปเบเบเบธเบเบชเบดเปเบเบชเบธเบเปเบเบเบฒเบเบเปเบฅเบดเบเบฒเบ:
kubectl describe service <service-name> | grep Endpoints
เบเบธเบเบชเบดเปเบเบชเบธเบเปเบกเปเบเบเบนเปเบเบญเบเบเปเบฒเบเบญเบเปเบเบเบเบญเบก <IP-ะฐะดัะตั:ะฟะพัั>
, เปเบฅเบฐเบขเปเบฒเบเบซเบเปเบญเบเบซเบเบถเปเบเบเบนเปเบเบฑเปเบเบเปเบฒเบงเบเปเบญเบเบกเบตเบขเบนเปเปเบเบเบปเบเบเบฐเบฅเบดเบ (เบเบฑเปเบเปเบกเปเบ, เบขเปเบฒเบเบซเบเปเบญเบเบซเบเบถเปเบเบเบฑเบเปเบฎเบฑเบเบงเบฝเบเบเบฑเบเบเบฒเบเบเปเบฅเบดเบเบฒเบ).
เบเปเบฒเบเบฒเบเบชเปเบงเบ Endpoins
เบซเบงเปเบฒเบเปเบเบปเปเบฒ, เบชเบญเบเบเบฒเบเปเบฅเบทเบญเบเปเบกเปเบเปเบเบฑเบเปเบเปเบเป:
- เบเปเปเบกเบตเบเบฑเบเบเบตเปเบกเบตเบเปเบฒเบเบเบทเปเบเบตเปเบเบทเบเบเปเบญเบ (เบเปเบฒเปเบเบฐเบเปเบฒ: เบเบงเบเปเบเบดเปเบเบงเปเบฒ namespace เบเบทเบเปเบฅเบทเบญเบเบขเปเบฒเบเบเบทเบเบเปเบญเบ);
- เบกเบตเบเปเปเบเบดเบเบเบฒเบเปเบเบเปเบฒเบเบเปเบฅเบดเบเบฒเบเบขเบนเปเปเบเบเบปเบงเปเบฅเบทเบญเบ.
เบเปเบฒเบเปเบฒเบเปเบซเบฑเบเบฅเบฒเบเบเบทเปเบเบญเบเบเบธเบเบชเบดเปเบเบชเบธเบเปเบเปเบเบฑเบเบเปเปเบชเบฒเบกเบฒเบเปเบเบปเปเบฒเบซเบฒเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบเปเบเป, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ, เบเบนเปเบเบทเบเปเบเบฒเบฐเบฎเปเบฒเบเบเบตเปเบญเบฒเบเบเบฐเปเบกเปเบเปเบกเบเปเบกเปเปเบ. targetPort
เปเบเบเปเบฒเบญเบฐเบเบดเบเบฒเบเบเบฒเบเบเปเบฅเบดเบเบฒเบ.
เบงเบดเบเบตเบเบฒเบเบเบงเบเบชเบญเบเบเบฒเบเปเบฎเบฑเบเบงเบฝเบเบเบญเบเบเบฒเบเบเปเบฅเบดเบเบฒเบ?
เปเบเบเบเปเปเบเปเบฒเบเบถเบเปเบเบดเบเบเบฐเปเบเบเบเบญเบเบเบฒเบเบเปเบฅเบดเบเบฒเบ, เบเปเบฒเบเบชเบฒเบกเบฒเบเบเปเบฒเปเบเปเบเปเบฒเบชเบฑเปเบ kubectl port-forward
เปเบเบทเปเบญเปเบเบทเปเบญเบกเบเปเปเบเบฑเบเบกเบฑเบ:
kubectl port-forward service/<service-name> 3000:80
เบเบตเปเบเบตเป:
-
<service-name>
โ เบเบทเปโเบเปโเบฅเบดโเบเบฒเบโ; - 3000 เปเบกเปเบเบเบญเบเบเบตเปเบเปเบฒเบเปเบเบตเบเบขเบนเปเปเบเบเบญเบกเบเบดเบงเปเบเบต;
- 80 - เบเบญเบเบขเบนเปเบเปเบฒเบเบเบฒเบเบเปเบฅเบดเบเบฒเบ.
3. เบเบฒเบเบงเบดเบเบดเบเปเบช Ingress
เบเปเบฒเบเปเบฒเบเปเบเปเบญเปเบฒเบเบกเบฒเบฎเบญเบเบเบตเป, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ:
- เบเบฑเบเปเบกเปเบเบฅเบฐเบเบธเปเบงเปเปเบเบฑเบ
Running
ะธReady
; - เบเบฒเบโเบเปโเบฅเบดโเบเบฒเบโเบชเบปเบโเบเบปเบโเบชเปเบฒโเปเบฅเบฑเบโเบเบฒเบโเปเบเปโเบเบฐโเบเบฒเบโเปเบโเบเบปเปเบง podsโ.
เบขเปเบฒเบเปเบเบเปเบเบฒเบก, เบเปเบฒเบเบเบฑเบเบเปเปเบชเบฒเบกเบฒเบเปเบเบปเปเบฒเบซเบฒ app เปเบเป.
เบเบตเปเบซเบกเบฒเบเบเบงเบฒเบกเบงเปเบฒเบเบปเบงเบเบงเบเบเบธเบก Ingress เบชเปเบงเบเบซเบผเบฒเบเบญเบฒเบเบเบฐเบเปเปเบเบทเบเบเบฑเปเบเบเปเบฒเบขเปเบฒเบเบเบทเบเบเปเบญเบ. เปเบเบทเปเบญเบเบเบฒเบเบเบปเบงเบเบงเบเบเบธเบก Ingress เปเบเบฑเบเบญเบปเบเบเบฐเบเบญเบเบเบญเบเบเบฒเบเบชเปเบงเบเบเบตเบชเบฒเบกเปเบเบเบธเปเบก, เบกเบตเบงเบดเบเบตเบเบฒเบ debugging เบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบเบเบถเปเบเบเบฑเบเบเบฐเปเบเบเบเบญเบเบกเบฑเบ.
เปเบเปเบเปเบญเบเบเบตเปเบเปเบฒเบเบเบฐเปเบเปเปเบเบทเปเบญเบเบกเบทเบเบดเปเบชเบเปเบเบทเปเบญเบเปเบฒเบเบปเบ Ingress, เบเปเบฒเบเบชเบฒเบกเบฒเบเปเบฎเบฑเบเบเบฒเบเบชเบดเปเบเบเบฒเบเบขเปเบฒเบเบเบตเปเบเปเบฒเบเบเบฒเบเบซเบผเบฒเบ. Ingress เปเบเป serviceName
ะธ servicePort
เปเบเบทเปเบญเปเบเบทเปเบญเบกเบเปเปเบเบฑเบเบเบฒเบเบเปเบฅเบดเบเบฒเบ. เบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเบเบงเบเปเบเบดเปเบเบงเปเบฒเบเบงเบเปเบเบปเบฒเบเบทเบเบเบฑเปเบเบเปเบฒเบขเปเบฒเบเบเบทเบเบเปเบญเบ. เบเปเบฒเบเบชเบฒเบกเบฒเบเปเบฎเบฑเบเปเบเปเปเบเบเปเบเปเบเปเบฒเบชเบฑเปเบ:
kubectl describe ingress <ingress-name>
เบเปเบฒเบเบฑเบ Backend
เบซเบงเปเบฒเบเปเบเบปเปเบฒ, เบกเบตเบเบงเบฒเบกเปเบเบฑเบเปเบเปเบเปเบชเบนเบเบเบตเปเบเบฐเปเบเบตเบเบเบงเบฒเบกเบเบดเบเบเบฒเบเปเบเบเบฒเบเบเบฑเปเบเบเปเบฒ. เบเปเบฒ backends เบขเบนเปเปเบเบชเบฐเบเบฒเบเบเบตเป, เปเบเปเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบเบเบฑเบเบเปเปเบชเบฒเบกเบฒเบเปเบเบปเปเบฒเปเบเบดเบเปเบเป, เบเบฑเบเบซเบฒเบญเบฒเบเบเบฐเบเปเบฝเบงเบเปเบญเบเบเบฑเบ:
- Ingress เบเบฒเบเบเบฑเปเบเบเปเบฒเบเบฒเบเปเบเบปเปเบฒเปเบเบดเบเบเบฒเบเบญเบดเบเปเบเบตเปเบเบฑเบเบชเบฒเบเบฒเบฅเบฐเบเบฐ;
- เบเบฒเบเบเบฑเปเบเบเปเบฒเบเบฒเบเบเปเบงเบเปเบเบปเปเบฒเปเบเบดเบเบเบธเปเบกเบเบฒเบเบญเบดเบเปเบเบตเปเบเบฑเบเบชเบฒเบเบฒเบฅเบฐเบเบฐ.
เบเปเบฒเบเบชเบฒเบกเบฒเบเบเปเบฒเบเบปเบเบเบฑเบเบซเบฒเบเปเบฝเบงเบเบฑเบเปเบเบเบชเปเบฒเบเบเบทเปเบเบเบฒเบเปเบเบเบเบฒเบเปเบเบทเปเบญเบกเบเปเปเปเบเบเบเบปเบเบเบฑเบเบเบฑเบ Ingress. เปเบเบทเปเบญเปเบฎเบฑเบเบชเบดเปเบเบเบตเป, เบเปเบฒเบญเบดเบเบเบญเบเบซเบฒ Ingress Controller pod (เบกเบฑเบเบญเบฒเบเบเบฐเบขเบนเปเปเบ namespace เบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบ):
kubectl get pods --all-namespaces
NAMESPACE NAME READY STATUS
kube-system coredns-5644d7b6d9-jn7cq 1/1 Running
kube-system etcd-minikube 1/1 Running
kube-system kube-apiserver-minikube 1/1 Running
kube-system kube-controller-manager-minikube 1/1 Running
kube-system kube-proxy-zvf2h 1/1 Running
kube-system kube-scheduler-minikube 1/1 Running
kube-system nginx-ingress-controller-6fc5bcc 1/1 Running
เปเบเปเบเปเบฒเบชเบฑเปเบ describe
เบเบฒเบโเบเปเบฒโเบเบปเบโเบเบญเบโ:
kubectl describe pod nginx-ingress-controller-6fc5bcc
--namespace kube-system
| grep Ports
เบชเบธเบเบเปเบฒเบ, เปเบเบทเปเบญเบกเบเปเปเบเบฑเบเบเบฑเบ:
kubectl port-forward nginx-ingress-controller-6fc5bcc 3000:80 --namespace kube-system
เปเบเบเบฑเบเบเบธเบเบฑเบเบเบฒเบเบฎเปเบญเบเบเปเบเบฑเบเบซเบกเบปเบเบเบตเปเบเบฐเบเบญเบ 3000 เปเบเบเบญเบกเบเบดเบงเปเบเบตเบเบฐเบเบทเบเปเบญเบเปเบเบซเบฒเบเบญเบ 80 เบเบญเบเบเบฑเบ.
เบกเบฑเบเปเบฎเบฑเบเบงเบฝเบเปเบฅเปเบงเบเป?
- เบเปเบฒเปเบกเปเบ, เบเบฑเบเบซเบฒเปเบกเปเบเบเบถเปเบเบเบฑเบเปเบเบเบชเปเบฒเบเบเบทเปเบเบเบฒเบ. เบกเบฑเบเปเบเบฑเบเบชเบดเปเบเบเปเบฒเปเบเบฑเบเบเบตเปเบเบฐเบเบญเบเบซเบฒเบงเบดเบเบตเบเบตเปเบเบฒเบเบเบฐเบฅเบฒเบเบญเบเบเบทเบเบเปเบฒเปเบเบซเบฒเบเบธเปเบก.
- เบเปเบฒเบเปเปเปเบกเปเบ, เบเบฑเบเบซเบฒเปเบกเปเบเบเบถเปเบเบเบฑเบเบเบปเบงเบเบงเบเบเบธเบก Ingress.
เบเปเบฒเบเปเบฒเบเบเปเปเบชเบฒเบกเบฒเบเปเบญเบปเบฒเบเบปเบงเบเบงเบเบเบธเบก Ingress เปเบฎเบฑเบเบงเบฝเบเปเบเป, เบเปเบฒเบเบเบฐเบเปเบญเบเบเบตเบเบฑเบเบกเบฑเบ.
เบกเบตเบซเบผเบฒเบเบเบฐเบเบดเบเบเบญเบเบเบปเบงเบเบงเบเบเบธเบก Ingress. เบเบตเปเบเบดเบเบปเบกเบซเบผเบฒเบเบเบตเปเบชเบธเบเปเบกเปเบ Nginx, HAProxy, Traefik, เปเบฅเบฐเบญเบทเปเบเป. (เบชเปเบฒเบฅเบฑเบเบเปเปเบกเบนเบเปเบเบตเปเบกเปเบเบตเบกเบเปเบฝเบงเบเบฑเบเบเบฒเบเปเบเปเปเบเบเบตเปเบกเบตเบขเบนเปเปเบฅเปเบง, เปเบเบดเปเบ
เบเบฒเบเบเบตเบเบฑเบเบเบปเบงเบเบงเบเบเบธเบก Ingress Nginx
เปเบเบเบเบฒเบ Ingress-nginx เบกเบตเปเบเบปเปเบฒเบซเบเปเบฒเบเบตเป kubectl ingress-nginx
เบชเบฒโเบกเบฒเบโเบเบทเบโเบเปเบฒโเปเบเปโเบชเปเบฒโเบฅเบฑเบโเบเบฒเบโ:
- เบเบฒเบเบงเบดเปเบเบฒเบฐเบเบฑเบเบเบถเบ, backends, เปเบเบขเบฑเปเบเบขเบทเบ, เปเบฅเบฐเบญเบทเปเบเป;
- เบเบฒเบเปเบเบทเปเบญเบกเบเปเปเบเบฑเบ Ingress;
- เบเบฒเบโเบชเบถเบโเบชเบฒโเบเบฒเบโเบเบฑเปเบโเบเปเบฒโเปเบโเบเบฑเบโเบเบธโเบเบฑเบโ.
เบชเบฒเบกเบเปเบฒเบชเบฑเปเบเบเปเปเปเบเบเบตเปเบเบฐเบเปเบงเบเปเบเบปเปเบฒเปเบเปเบฅเบทเปเบญเบเบเบตเป:
-
kubectl ingress-nginx lint
โ เบเบฒเบโเบเบงเบโเบชเบญเบโnginx.conf
; -
kubectl ingress-nginx backend
โ เบชเบณเบซเบผเบงเบเปเบเบทเปเบญเบเบซเบผเบฑเบ (เบเปเบฒเบเบเบฑเบkubectl describe ingress <ingress-name>
); -
kubectl ingress-nginx logs
โ เบเบงเบโเบชเบญเบโเบเบฑเบโเบเบถเบโ.
เปเบซเปเบชเบฑเบเปเบเบเบงเปเบฒเปเบเบเบฒเบเบเปเบฅเบฐเบเบตเบเปเบฒเบเบญเบฒเบเบเบฐเบเปเบญเบเบฅเบฐเบเบธ namespace เบเบตเปเบเบทเบเบเปเบญเบเบชเปเบฒเบฅเบฑเบ Ingress controller เปเบเบเปเบเปเบเบธเบ --namespace <name>
.
Summary
เบเบฒเบเปเบเปเปเบเบเบฑเบเบซเบฒ Kubernetes เบชเบฒเบกเบฒเบเปเบเบฑเบเบชเบดเปเบเบเปเบฒเบเบฒเบเบเปเบฒเบเปเบฒเบเบเปเปเบฎเบนเปเบงเปเบฒเบเบฐเปเบฅเบตเปเบกเบเบปเปเบเบเบฒเบเปเบช. เบเปเบฒเบเบชเบฐเปเบซเบกเบตเบเบงเบเปเบเบปเปเบฒเบซเบฒเบเบฑเบเบซเบฒเปเบเบฅเบฑเบเบชเบฐเบเบฐเบฅเบธเปเบกเบชเบธเบ: เปเบฅเบตเปเบกเบเบปเปเบเบเปเบงเบเบเบฑเบ, เปเบฅเบฐเบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเปเบฒเบเปเบเบเปเบฅเบดเบเบฒเบเปเบฅเบฐ Ingress. เปเบเบฑเบเบเบดเบเบเบฒเบเบเบตเบเบฑเบเบเบตเปเบญเบฐเบเบดเบเบฒเบเปเบงเปเปเบเบเบปเบเบเบงเบฒเบกเบเบตเปเบชเบฒเบกเบฒเบเบเบทเบเบเปเบฒเปเบเปเบเบฑเบเบงเบฑเบเบเบธเบญเบทเปเบเป, เปเบเบฑเปเบ:
- idle Jobs เปเบฅเบฐ CronJobs;
- StatefulSets เปเบฅเบฐ DaemonSets.
เบเปเบฒเบเบฐเปเบเบปเปเบฒเบชเบฐเปเบเบเบเบงเบฒเบกเบเบฐเบเบฑเบเบเบน
PS เบเบฒเบเบเบฑเบเปเบ
เบญเปเบฒเบเบเบฑเบเบขเบนเปเปเบ blog เบเบญเบเบเบงเบเปเบฎเบปเบฒ:
- ยซ
เบเบฑเปเบเบญเบดเบ kubectl-debug เบชเบณเบฅเบฑเบเบเบฒเบเบเบตเบเบฑเบเปเบเบเบญเบ Kubernetes " - ยซ
6 เปเบกเบเปเบกเปเบฅเบฐเบเบปเบเบเบตเปเบซเบเปเบฒเบชเบปเบเปเบเปเบกเบทเปเบญเปเบเป Kubernetes [เปเบฅเบฐเบเบฒเบเปเบเปเปเบเบเบญเบเบกเบฑเบ] " - ยซ
เปเบเบทเปเบญเบเบกเบทเบชเปเบฒเบฅเบฑเบเบเบฑเบเบเบฑเบเบเบฐเบเบฒเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบเบเบตเปเปเบฎเบฑเบเบงเบฝเบเบขเบนเปเปเบ Kubernetes " - ยซ
6 เปเบฅเบทเปเบญเบเบเบฐเบเบดเบเบฑเบเบเบฒเบ SRE เบเบญเบเบเบงเบเปเบฎเบปเบฒเบเบฐเบเปเบฒเบงเบฑเบ ".
เปเบซเบผเปเบเบเปเปเบกเบนเบ: www.habr.com