āĻŦāĻŋāĻāĻĻā§āĻ°āĻ. āĻ
āĻ¨ā§āĻŦāĻžāĻĻ: āĻāĻ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻāĻŋ āĻ
āĻŦāĻžāĻ§ā§ āĻāĻĒāĻ˛āĻŦā§āĻ§ āĻĒā§āĻ°āĻāĻ˛ā§āĻĒ āĻāĻĒāĻāĻ°āĻŖā§āĻ° āĻ
āĻāĻļ
TL;DR: āĻāĻĒāĻ¨āĻžāĻ° Kubernetes āĻĄāĻŋāĻĒā§āĻ˛āĻ¯āĻŧāĻŽā§āĻ¨ā§āĻ āĻĄāĻŋāĻŦāĻžāĻ āĻāĻ°āĻ¤ā§ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻžāĻ¨ā§ āĻāĻāĻāĻŋ āĻĄāĻžāĻ¯āĻŧāĻžāĻā§āĻ°āĻžāĻŽ āĻ°āĻ¯āĻŧā§āĻā§:
āĻāĻāĻāĻŋ āĻā§āĻ˛āĻžāĻ¸ā§āĻāĻžāĻ°ā§ āĻ¤ā§āĻ°ā§āĻāĻŋāĻā§āĻ˛āĻŋ āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ āĻāĻŦāĻ āĻ āĻŋāĻ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻĢā§āĻ˛ā§āĻāĻžāĻ°ā§āĻā§ˇ āĻŽā§āĻ˛ (āĻāĻāĻ°ā§āĻāĻŋāĻ¤ā§) āĻĒāĻžāĻāĻ¯āĻŧāĻž āĻ¯āĻžāĻ¯āĻŧ
Kubernetes āĻ āĻāĻāĻāĻŋ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻ¤āĻŋāĻ¨āĻāĻŋ āĻāĻĒāĻžāĻĻāĻžāĻ¨ āĻāĻā§ āĻ¯āĻž āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°āĻž āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨:
- āĻŦāĻŋāĻ¸ā§āĻ¤ā§āĻ¤āĻŋ - āĻāĻāĻŋ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨āĻāĻŋāĻ° āĻ āĻ¨ā§āĻ˛āĻŋāĻĒāĻŋ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻžāĻ° āĻāĻāĻāĻŋ āĻ°ā§āĻ¸āĻŋāĻĒāĻŋ, āĻ¯āĻžāĻā§ āĻĒāĻĄ āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧ;
- āĻ¸ā§āĻŦāĻž - āĻāĻāĻāĻŋ āĻ āĻā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§āĻŖ āĻ˛ā§āĻĄ āĻŦā§āĻ¯āĻžāĻ˛ā§āĻ¨ā§āĻ¸āĻžāĻ° āĻ¯āĻž āĻĒāĻĄ āĻā§āĻĄāĻŧā§ āĻā§āĻ°āĻžāĻĢāĻŋāĻ āĻŦāĻŋāĻ¤āĻ°āĻŖ āĻāĻ°ā§;
- āĻĒā§āĻ°āĻŦā§āĻļ - āĻŦāĻšāĻŋāĻ°ā§āĻŦāĻŋāĻļā§āĻŦ āĻĨā§āĻā§ āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻžāĻ¤ā§ āĻā§āĻāĻžāĻŦā§ āĻā§āĻ°ā§āĻ¯āĻžāĻĢāĻŋāĻ āĻāĻ¸āĻŦā§ āĻ¤āĻžāĻ° āĻāĻāĻāĻŋ āĻŦāĻŋāĻŦāĻ°āĻŖā§ˇ
āĻāĻāĻžāĻ¨ā§ āĻāĻāĻāĻŋ āĻ¸āĻāĻā§āĻˇāĻŋāĻĒā§āĻ¤ āĻā§āĻ°āĻžāĻĢāĻŋāĻāĻžāĻ˛ āĻ¸āĻžāĻ°āĻ¸āĻāĻā§āĻˇā§āĻĒ āĻ°āĻ¯āĻŧā§āĻā§:
1) āĻā§āĻŦāĻžāĻ°āĻ¨ā§āĻāĻ¸ā§, āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨āĻā§āĻ˛āĻŋ āĻ˛ā§āĻĄ āĻŦā§āĻ¯āĻžāĻ˛ā§āĻ¨ā§āĻ¸āĻžāĻ°ā§āĻ° āĻĻā§āĻāĻŋ āĻ¸ā§āĻ¤āĻ°ā§āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻŦāĻšāĻŋāĻ°ā§āĻŦāĻŋāĻļā§āĻŦ āĻĨā§āĻā§ āĻā§āĻ°ā§āĻ¯āĻžāĻĢāĻŋāĻ āĻā§āĻ°āĻšāĻŖ āĻāĻ°ā§: āĻ āĻā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§āĻŖ āĻāĻŦāĻ āĻŦāĻžāĻšā§āĻ¯āĻŋāĻāĨ¤
2) āĻ
āĻā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§āĻŖ āĻŦā§āĻ¯āĻžāĻ˛ā§āĻ¨ā§āĻ¸āĻžāĻ°āĻā§ āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧ āĻ¸āĻžāĻ°ā§āĻāĻŋāĻ¸, āĻāĻā§āĻ¸āĻāĻžāĻ°ā§āĻ¨āĻžāĻ˛āĻā§ āĻāĻ¨āĻā§āĻ°ā§āĻ¸ āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧāĨ¤
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 āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻŦ?
- āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻĒā§āĻ°ā§āĻ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻāĻāĻŋāĻ¤ āĻ¯āĻžāĻ¤ā§ āĻ¤āĻžāĻ°āĻž āĻŦāĻŋāĻ°ā§āĻ§ āĻ¨āĻž āĻāĻ°ā§?
- āĻ˛ā§āĻŦā§āĻ˛ āĻ¨āĻžāĻŽ āĻāĻŋ āĻā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§āĻ°ā§āĻŖ? āĻ¤āĻžāĻĻā§āĻ° āĻāĻŋ āĻ¸āĻŦ āĻāĻžāĻ¯āĻŧāĻāĻžāĻ¯āĻŧ āĻāĻāĻ āĻšāĻāĻ¯āĻŧāĻž āĻāĻāĻŋāĻ¤?
āĻāĻŽāĻ°āĻž āĻĄāĻŋāĻŦāĻžāĻāĻŋāĻ āĻāĻ° āĻāĻĒāĻ° āĻĢā§āĻāĻžāĻ¸ āĻāĻ°āĻžāĻ° āĻāĻā§, āĻāĻ¸ā§āĻ¨ āĻ¤āĻŋāĻ¨āĻāĻŋ āĻāĻĒāĻžāĻĻāĻžāĻ¨ āĻāĻā§ āĻ āĻĒāĻ°ā§āĻ° āĻ¸āĻžāĻĨā§ āĻā§āĻāĻžāĻŦā§ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻāĻ¯ā§āĻā§āĻ¤ āĻ¤āĻž āĻ¸āĻāĻā§āĻˇā§āĻĒā§ āĻĻā§āĻāĻŋāĨ¤ āĻāĻ° āĻĄāĻŋāĻĒā§āĻ˛āĻ¯āĻŧāĻŽā§āĻ¨ā§āĻ āĻāĻŦāĻ āĻ¸āĻžāĻ°ā§āĻāĻŋāĻ¸ āĻĻāĻŋāĻ¯āĻŧā§ āĻļā§āĻ°ā§ āĻāĻ°āĻž āĻ¯āĻžāĻāĨ¤
āĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻž āĻāĻŦāĻ āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ
āĻāĻĒāĻ¨āĻŋ āĻāĻļā§āĻāĻ°ā§āĻ¯ āĻšāĻŦā§āĻ¨, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻž āĻāĻŦāĻ āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻžāĻā§āĻ˛āĻŋ āĻā§āĻ¨ā§āĻāĻžāĻŦā§āĻ āĻ¸āĻāĻ¯ā§āĻā§āĻ¤ āĻ¨āĻ¯āĻŧā§ˇ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§, āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻžāĻāĻŋ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻžāĻā§ āĻŦāĻžāĻāĻĒāĻžāĻ¸ āĻāĻ°ā§ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻĒāĻĄā§āĻ° āĻĻāĻŋāĻā§ āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļ āĻāĻ°ā§āĨ¤
āĻāĻāĻāĻžāĻŦā§, āĻāĻŽāĻ°āĻž āĻā§āĻāĻžāĻŦā§ āĻĒāĻĄ āĻāĻŦāĻ āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻžāĻā§āĻ˛āĻŋ āĻāĻā§ āĻ āĻĒāĻ°ā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻāĻŋāĻ¤ āĻ¤āĻž āĻ¨āĻŋāĻ¯āĻŧā§ āĻāĻā§āĻ°āĻšā§āĨ¤ āĻ¤āĻŋāĻ¨āĻāĻŋ āĻāĻŋāĻ¨āĻŋāĻ¸ āĻŽāĻ¨ā§ āĻ°āĻžāĻāĻŦā§āĻ¨:
- āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻ (
selector
) āĻāĻāĻāĻŋ āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻŽāĻĒāĻā§āĻˇā§ āĻāĻāĻāĻŋ āĻĒāĻĄ āĻ˛ā§āĻŦā§āĻ˛ āĻŽā§āĻ˛ā§āĨ¤ -
targetPort
āĻ¸āĻā§āĻā§ āĻŽā§āĻ˛āĻžāĻ¤ā§ āĻšāĻŦā§containerPort
āĻĒā§āĻĄ āĻāĻŋāĻ¤āĻ°ā§ āĻ§āĻžāĻ°āĻ. -
port
āĻ¸ā§āĻŦāĻž āĻ¯ā§ āĻā§āĻ¨ āĻāĻŋāĻā§ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻž āĻāĻāĻ āĻĒā§āĻ°ā§āĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻāĻžāĻ°āĻŖ āĻ¤āĻžāĻĻā§āĻ° āĻāĻ˛āĻžāĻĻāĻž āĻāĻāĻĒāĻŋ āĻ āĻŋāĻāĻžāĻ¨āĻž āĻ°āĻ¯āĻŧā§āĻā§āĨ¤
āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻāĻŋāĻ¤ā§āĻ°āĻāĻŋ āĻā§āĻ°āĻžāĻĢāĻŋāĻāĻžāĻ˛ āĻāĻāĻžāĻ°ā§ āĻāĻĒāĻ°ā§āĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤āĻāĻŋ āĻāĻĒāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°ā§:
1) āĻāĻ˛ā§āĻĒāĻ¨āĻž āĻāĻ°ā§āĻ¨ āĻ¯ā§ āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻžāĻāĻŋ āĻāĻāĻāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻĒāĻĄā§ āĻā§āĻ°ā§āĻ¯āĻžāĻĢāĻŋāĻ āĻĒāĻžāĻ āĻžāĻ¯āĻŧ:
2) āĻāĻāĻāĻŋ āĻĒāĻĄ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻāĻĒāĻ¨āĻžāĻā§ āĻ
āĻŦāĻļā§āĻ¯āĻ āĻ¸ā§āĻ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ containerPort
āĻĒāĻĄā§āĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻĒāĻžāĻ¤ā§āĻ°ā§āĻ° āĻāĻ¨ā§āĻ¯:
3) āĻāĻāĻāĻŋ āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻž āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻāĻĒāĻ¨āĻžāĻā§ āĻ
āĻŦāĻļā§āĻ¯āĻ āĻāĻ˛ā§āĻ˛ā§āĻ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ port
и targetPort
. āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻ¤āĻžāĻĻā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻāĻžāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻĒāĻžāĻ¤ā§āĻ°ā§āĻ° āĻ¸āĻāĻ¯ā§āĻ āĻ¯āĻžāĻā§āĻā§?
4) āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ targetPort
. āĻāĻ° āĻ¸āĻžāĻĨā§ āĻ
āĻŦāĻļā§āĻ¯āĻ āĻŽāĻŋāĻ˛āĻŦā§ containerPort
.
5) āĻ§āĻ°ā§āĻ¨ āĻĒā§āĻ°ā§āĻ 3000 āĻāĻ¨āĻā§āĻāĻ¨āĻžāĻ°ā§ āĻā§āĻ˛āĻž āĻāĻā§āĨ¤āĻ¤āĻžāĻ°āĻĒāĻ° āĻŽāĻžāĻ¨ 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
?
āĻāĻāĻŋ āĻ¸āĻ°ā§āĻŦāĻĻāĻž āĻĒāĻĄā§āĻ° āĻ˛ā§āĻŦā§āĻ˛ā§āĻ° āĻ¸āĻžāĻĨā§ āĻŽā§āĻ˛ā§, āĻ¯ā§āĻšā§āĻ¤ā§ āĻāĻāĻŋ āĻĒāĻĄā§āĻ° āĻā§āĻ°ā§āĻ¯āĻžāĻ āĻ°āĻžāĻāĻ¤ā§ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻžāĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧāĨ¤
āĻ§āĻ°ā§āĻ¨ āĻāĻĒāĻ¨āĻŋ āĻ¸āĻ āĻŋāĻ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨āĻž āĻāĻ°ā§āĻā§āĻ¨āĨ¤ āĻāĻŋāĻāĻžāĻŦā§ āĻ¤āĻžāĻĻā§āĻ° āĻā§āĻ āĻāĻ°āĻ¤ā§?
āĻāĻĒāĻ¨āĻŋ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻĻāĻŋāĻ¯āĻŧā§ āĻĒāĻĄā§āĻ° āĻ˛ā§āĻŦā§āĻ˛ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨:
kubectl get pods --show-labels
āĻ āĻĨāĻŦāĻž, āĻ¯āĻĻāĻŋ āĻĒāĻĄāĻā§āĻ˛āĻŋ āĻāĻāĻžāĻ§āĻŋāĻ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ā§āĻ° āĻŽāĻžāĻ˛āĻŋāĻāĻžāĻ¨āĻžāĻ§ā§āĻ¨ āĻšāĻ¯āĻŧ:
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
āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻž
āĻ¯āĻĻāĻŋ āĻ¸āĻāĻ¯ā§āĻāĻāĻŋ āĻ¸āĻĢāĻ˛āĻāĻžāĻŦā§ āĻĒā§āĻ°āĻ¤āĻŋāĻˇā§āĻ āĻŋāĻ¤ āĻšāĻ¯āĻŧ, āĻ¤āĻžāĻšāĻ˛ā§ āĻ¸ā§āĻāĻŋāĻāĻ¸ āĻ¸āĻ āĻŋāĻāĨ¤
āĻ¯āĻĻāĻŋ āĻ¸āĻāĻ¯ā§āĻ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°āĻž āĻ¯āĻžāĻ¯āĻŧ āĻ¨āĻž, āĻ¤āĻžāĻšāĻ˛ā§ āĻ˛ā§āĻŦā§āĻ˛āĻā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§ āĻāĻāĻāĻŋ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻāĻā§ āĻŦāĻž āĻĒā§āĻ°ā§āĻāĻā§āĻ˛āĻŋ āĻŽā§āĻ˛ā§ āĻ¨āĻžāĨ¤
āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻž āĻāĻŦāĻ āĻĒā§āĻ°āĻŦā§āĻļā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ
āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻžāĻ¨ā§ āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻĒā§āĻ°āĻĻāĻžāĻ¨ā§āĻ° āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§ āĻ§āĻžāĻĒāĻāĻŋ āĻāĻ¨āĻā§āĻ°ā§āĻ¸ āĻ¸ā§āĻ āĻāĻĒ āĻāĻ°āĻžāĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻāĻŋāĻ¤āĨ¤ āĻāĻ¨āĻā§āĻ°ā§āĻ¸āĻā§ āĻāĻžāĻ¨āĻ¤ā§ āĻšāĻŦā§ āĻā§āĻāĻžāĻŦā§ āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻžāĻāĻŋ āĻā§āĻāĻā§ āĻŦā§āĻ° āĻāĻ°āĻ¤ā§ āĻšāĻ¯āĻŧ, āĻ¤āĻžāĻ°āĻĒāĻ° āĻĒāĻĄāĻā§āĻ˛āĻŋ āĻā§āĻāĻā§ āĻŦā§āĻ° āĻāĻ°ā§ āĻ¤āĻžāĻĻā§āĻ° āĻāĻžāĻā§ āĻā§āĻ°āĻžāĻĢāĻŋāĻ āĻĒāĻžāĻ āĻžāĻ¨āĨ¤ āĻāĻ¨āĻā§āĻ°ā§āĻ¸ āĻ¨āĻžāĻŽ āĻāĻŦāĻ āĻā§āĻ˛āĻž āĻĒā§āĻ°ā§āĻ āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧ āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻž āĻā§āĻāĻā§ āĻĒāĻžāĻ¯āĻŧāĨ¤
āĻĒā§āĻ°āĻŦā§āĻļ āĻāĻŦāĻ āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻžāĻ° āĻŦāĻŋāĻŦāĻ°āĻŖā§, āĻĻā§āĻāĻŋ āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ āĻ āĻŦāĻļā§āĻ¯āĻ āĻŽāĻŋāĻ˛āĻŦā§:
-
servicePort
āĻāĻ¨āĻā§āĻ°ā§āĻ¸ āĻ āĻŦāĻļā§āĻ¯āĻ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ°ā§āĻ° āĻ¸āĻžāĻĨā§ āĻŽā§āĻ˛ā§port
āĻ¸ā§āĻŦāĻž; -
serviceName
āĻāĻ¨āĻā§āĻ°ā§āĻ¸ āĻ āĻŦāĻļā§āĻ¯āĻ āĻŽāĻžāĻ ā§āĻ° āĻ¸āĻžāĻĨā§ āĻŽāĻŋāĻ˛āĻŦā§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: /
āĻāĻ¨āĻā§āĻ°ā§āĻ¸ āĻāĻžāĻ āĻāĻ°āĻā§ āĻāĻŋāĻ¨āĻž āĻ¤āĻž āĻāĻŋāĻāĻžāĻŦā§ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°āĻŦā§āĻ¨?
āĻāĻĒāĻ¨āĻŋ āĻāĻ° āĻ¸āĻžāĻĨā§ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ kubectl port-forward
, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻāĻāĻŋ āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻžāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§, āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻ¨āĻā§āĻ°ā§āĻ¸ āĻāĻ¨ā§āĻā§āĻ°ā§āĻ˛āĻžāĻ°ā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻāĻ¯ā§āĻ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§āĨ¤
āĻĒā§āĻ°āĻĨāĻŽā§ āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻ¨āĻā§āĻ°ā§āĻ¸ āĻāĻ¨ā§āĻā§āĻ°ā§āĻ˛āĻžāĻ°ā§āĻ° āĻ¸āĻžāĻĨā§ āĻĒāĻĄā§āĻ° āĻ¨āĻžāĻŽ āĻā§āĻāĻā§ āĻŦā§āĻ° āĻāĻ°āĻ¤ā§ āĻšāĻŦā§:
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
Ports: 80/TCP, 443/TCP, 18080/TCP
āĻ āĻŦāĻļā§āĻˇā§, āĻĒāĻĄā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻāĻ¯ā§āĻ āĻāĻ°ā§āĻ¨:
kubectl port-forward nginx-ingress-controller-6fc5bcc 3000:80 --namespace kube-system
āĻāĻāĻ¨ āĻ¯āĻ¤āĻŦāĻžāĻ° āĻāĻĒāĻ¨āĻŋ āĻŽā§āĻļāĻŋāĻ¨ā§ 3000 āĻĒā§āĻ°ā§āĻā§ āĻāĻāĻāĻŋ āĻ
āĻ¨ā§āĻ°ā§āĻ§ āĻĒāĻžāĻ āĻžāĻŦā§āĻ¨, āĻāĻāĻŋ āĻāĻ¨āĻā§āĻ°ā§āĻ¸ āĻĒāĻĄā§āĻ° āĻĒā§āĻ°ā§āĻ 80 āĻ āĻĒā§āĻ¨āĻāĻ¨āĻŋāĻ°ā§āĻĻā§āĻļāĻŋāĻ¤ āĻšāĻŦā§āĨ¤ āĻ¯āĻžāĻā§āĻāĻŋ
āĻĒā§āĻ°ā§āĻ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¸āĻāĻā§āĻˇāĻŋāĻĒā§āĻ¤
āĻāĻ¸ā§āĻ¨ āĻāĻŦāĻžāĻ° āĻŽāĻ¨ā§ āĻāĻ°āĻŋ āĻā§āĻ¨ āĻĒā§āĻ°ā§āĻ āĻāĻŦāĻ āĻ˛ā§āĻŦā§āĻ˛ āĻ āĻŦāĻļā§āĻ¯āĻ āĻŽāĻŋāĻ˛āĻŦā§:
- āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻž āĻ¸āĻāĻā§āĻāĻžāĻ¤ā§ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻ āĻ āĻŦāĻļā§āĻ¯āĻ āĻĒāĻĄā§āĻ° āĻ˛ā§āĻŦā§āĻ˛ā§āĻ° āĻ¸āĻžāĻĨā§ āĻŽāĻŋāĻ˛āĻŦā§;
-
targetPort
āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻžāĻ° āĻ¸āĻāĻā§āĻāĻž āĻ āĻŦāĻļā§āĻ¯āĻ āĻŽāĻŋāĻ˛āĻŦā§containerPort
āĻāĻāĻāĻŋ āĻļā§āĻāĻāĻŋāĻ° āĻāĻŋāĻ¤āĻ°ā§ āĻāĻāĻāĻŋ āĻ§āĻžāĻ°āĻ; -
port
āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻž āĻ¸āĻāĻā§āĻāĻžāĻ¤ā§ āĻ¯ā§ āĻā§āĻ¨āĻ āĻāĻŋāĻā§ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻž āĻāĻāĻ āĻĒā§āĻ°ā§āĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻāĻžāĻ°āĻŖ āĻ¤āĻžāĻĻā§āĻ° āĻāĻ˛āĻžāĻĻāĻž āĻāĻāĻĒāĻŋ āĻ āĻŋāĻāĻžāĻ¨āĻž āĻ°āĻ¯āĻŧā§āĻā§; -
servicePort
āĻĒā§āĻ°āĻŦā§āĻļ āĻ āĻŦāĻļā§āĻ¯āĻ āĻŽāĻŋāĻ˛āĻŦā§port
āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻž āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧ; - āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻžāĻ° āĻ¨āĻžāĻŽ āĻ
āĻŦāĻļā§āĻ¯āĻ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§āĻ° āĻ¸āĻžāĻĨā§ āĻŽāĻŋāĻ˛āĻŦā§
serviceName
āĻāĻ¨āĻā§āĻ°ā§āĻ¸
āĻšāĻžāĻ¯āĻŧ, YAML āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ āĻ¸āĻ āĻŋāĻāĻāĻžāĻŦā§ āĻā§āĻāĻžāĻŦā§ āĻāĻ āĻ¨ āĻāĻ°āĻž āĻ¯āĻžāĻ¯āĻŧ āĻ¤āĻž āĻāĻžāĻ¨āĻž āĻ¯āĻĨā§āĻˇā§āĻ āĻ¨āĻ¯āĻŧāĨ¤
āĻāĻŋāĻā§ āĻā§āĻ˛ āĻšāĻ¯āĻŧā§ āĻā§āĻ˛ā§ āĻāĻŋ āĻšāĻ¯āĻŧ?
āĻĒāĻĄ āĻļā§āĻ°ā§ āĻ¨āĻžāĻ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻŦāĻž āĻŦāĻŋāĻĒāĻ°ā§āĻ¯āĻ¸ā§āĻ¤ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤
Kubernetes-āĻ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ā§āĻ° āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ā§āĻ° 3āĻāĻŋ āĻ§āĻžāĻĒ
āĻāĻĒāĻ¨āĻŋ āĻāĻĒāĻ¨āĻžāĻ° āĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻž āĻĄāĻŋāĻŦāĻžāĻ āĻāĻ°āĻž āĻļā§āĻ°ā§ āĻāĻ°āĻžāĻ° āĻāĻā§, āĻā§āĻŦāĻžāĻ°āĻ¨ā§āĻāĻ¸ āĻā§āĻāĻžāĻŦā§ āĻāĻžāĻ āĻāĻ°ā§ āĻ¸ā§ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻĒāĻ¨āĻžāĻ° āĻāĻžāĻ˛ āĻ§āĻžāĻ°āĻŖāĻž āĻĨāĻžāĻāĻ¤ā§ āĻšāĻŦā§āĨ¤
āĻ¯ā§āĻšā§āĻ¤ā§ K8s-āĻ āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻĄāĻžāĻāĻ¨āĻ˛ā§āĻĄ āĻāĻ°āĻž āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻžāĻ¨ā§ āĻ¤āĻŋāĻ¨āĻāĻŋ āĻāĻĒāĻžāĻĻāĻžāĻ¨ āĻ°āĻ¯āĻŧā§āĻā§, āĻ¸ā§āĻā§āĻ˛āĻŋāĻā§ āĻāĻāĻāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻā§āĻ°āĻŽā§ āĻĄāĻŋāĻŦāĻžāĻ āĻāĻ°ā§āĻ¨, āĻ¨ā§āĻā§ āĻĨā§āĻā§ āĻļā§āĻ°ā§ āĻāĻ°ā§ā§ˇ
- āĻĒā§āĻ°āĻĨāĻŽā§ āĻāĻĒāĻ¨āĻžāĻā§ āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ āĻ¯ā§ āĻĒāĻĄāĻā§āĻ˛āĻŋ āĻāĻžāĻ āĻāĻ°āĻā§, āĻ¤āĻžāĻ°āĻĒāĻ° ...
- āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻžāĻāĻŋ āĻĒāĻĄāĻā§āĻ˛āĻŋāĻ¤ā§ āĻā§āĻ°ā§āĻ¯āĻžāĻĢāĻŋāĻ āĻ¸āĻ°āĻŦāĻ°āĻžāĻš āĻāĻ°āĻā§ āĻāĻŋāĻ¨āĻž āĻ¤āĻž āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°ā§āĻ¨ āĻāĻŦāĻ āĻ¤āĻžāĻ°āĻĒāĻ°ā§âĻ
- āĻāĻ¨āĻā§āĻ°ā§āĻ¸ āĻ¸āĻ āĻŋāĻāĻāĻžāĻŦā§ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§ āĻāĻŋāĻ¨āĻž āĻ¤āĻž āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°ā§āĻ¨āĨ¤
āĻāĻžāĻā§āĻˇā§āĻˇ āĻāĻĒāĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻž:
1) āĻ¨ā§āĻ āĻĨā§āĻā§ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻā§āĻāĻāĻ¤ā§ āĻļā§āĻ°ā§ āĻāĻ°ā§āĻ¨. āĻĒā§āĻ°āĻĨāĻŽā§ āĻā§āĻ āĻāĻ°ā§āĻ¨ āĻĒāĻĄā§āĻ° āĻ¸ā§āĻā§āĻ¯āĻžāĻāĻžāĻ¸ āĻāĻā§ āĻāĻŋāĻ¨āĻž Ready
и Running
:
2) āĻ¯āĻĻāĻŋ āĻļā§āĻāĻāĻŋ āĻĒā§āĻ°āĻ¸ā§āĻ¤ā§āĻ¤ āĻšāĻ¯āĻŧ (Ready
āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻžāĻāĻŋ āĻĒāĻĄā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻā§āĻ°ā§āĻ¯āĻžāĻĢāĻŋāĻ āĻŦāĻŋāĻ¤āĻ°āĻŖ āĻāĻ°ā§ āĻāĻŋāĻ¨āĻž āĻ¤āĻž āĻāĻĒāĻ¨āĻžāĻ° āĻā§āĻāĻā§ āĻŦā§āĻ° āĻāĻ°āĻž āĻāĻāĻŋāĻ¤:
3) āĻ
āĻŦāĻļā§āĻˇā§, āĻāĻĒāĻ¨āĻžāĻā§ āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻž āĻāĻŦāĻ āĻĒā§āĻ°āĻŦā§āĻļā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻ¸āĻāĻ¯ā§āĻ āĻŦāĻŋāĻļā§āĻ˛ā§āĻˇāĻŖ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§:
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
, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻāĻŋ āĻ
āĻ¨ā§āĻ¯ āĻĻā§āĻāĻŋāĻ° āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻ¨āĻ¯āĻŧāĨ¤
āĻā§ āĻāĻ°ā§ āĻŦā§āĻāĻŦ āĻā§ āĻā§āĻ˛ āĻšāĻ¯āĻŧā§āĻā§?
āĻĒāĻĄ āĻ¨āĻŋāĻ°ā§āĻŖāĻ¯āĻŧā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻžāĻ°āĻāĻŋ āĻĻāĻ°āĻāĻžāĻ°ā§ āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻ°āĻ¯āĻŧā§āĻā§:
-
kubectl logs <иĐŧŅ pod'Đ°>
āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻāĻāĻŋ āĻĒāĻĄā§āĻ° āĻĒāĻžāĻ¤ā§āĻ°ā§ āĻĨā§āĻā§ āĻ˛āĻāĻā§āĻ˛āĻŋ āĻŦā§āĻ° āĻāĻ°āĻ¤ā§ āĻĻā§āĻ¯āĻŧ; -
kubectl describe pod <иĐŧŅ pod'Đ°>
āĻāĻĒāĻ¨āĻžāĻā§ āĻĒāĻĄā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¯ā§āĻā§āĻ¤ āĻāĻā§āĻ¨ā§āĻā§āĻ° āĻ¤āĻžāĻ˛āĻŋāĻāĻž āĻĻā§āĻāĻ¤ā§ āĻĻā§āĻ¯āĻŧ; -
kubectl get pod <иĐŧŅ pod'Đ°>
āĻāĻĒāĻ¨āĻžāĻā§ āĻā§āĻŦāĻžāĻ°āĻ¨ā§āĻāĻ¸ā§ āĻ¸āĻāĻ°āĻā§āĻˇāĻŋāĻ¤ āĻāĻāĻāĻŋ āĻĒāĻĄā§āĻ° YAML āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ āĻĒā§āĻ¤ā§ āĻ āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§āĻ¯āĻŧ; -
kubectl exec -ti <иĐŧŅ pod'Đ°> bash
āĻāĻĒāĻ¨āĻžāĻā§ āĻĒāĻĄā§āĻ° āĻāĻāĻāĻŋ āĻĒāĻžāĻ¤ā§āĻ°ā§ āĻāĻāĻāĻŋ āĻāĻ¨ā§āĻāĻžāĻ°ā§āĻā§āĻāĻŋāĻ āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻļā§āĻ˛ āĻāĻžāĻ˛āĻžāĻ¨ā§āĻ° āĻ āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§āĻ¯āĻŧ
āĻā§āĻ¨āĻāĻŋ āĻŦā§āĻā§ āĻ¨ā§āĻŦā§āĻ¨?
āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻ¤āĻž āĻšāĻ˛ āĻā§āĻ¨ āĻ¸āĻžāĻ°ā§āĻŦāĻāĻ¨ā§āĻ¨ āĻāĻĻā§āĻļ āĻ¨ā§āĻāĨ¤ āĻ¤āĻžāĻĻā§āĻ° āĻāĻāĻāĻŋ āĻ¸āĻāĻŽāĻŋāĻļā§āĻ°āĻŖ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻāĻāĻŋāĻ¤āĨ¤
āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻĒāĻĄ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž
āĻĻā§āĻāĻŋ āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻ§āĻ°āĻŖā§āĻ° āĻĒāĻĄ āĻ¤ā§āĻ°ā§āĻāĻŋ āĻ°āĻ¯āĻŧā§āĻā§: āĻ¸ā§āĻāĻžāĻ°ā§āĻāĻāĻĒ āĻ¤ā§āĻ°ā§āĻāĻŋ āĻāĻŦāĻ āĻ°āĻžāĻ¨āĻāĻžāĻāĻŽ āĻ¤ā§āĻ°ā§āĻāĻŋā§ˇ
āĻ˛āĻā§āĻ āĻ¤ā§āĻ°ā§āĻāĻŋ:
-
ImagePullBackoff
-
ImageInspectError
-
ErrImagePull
-
ErrImageNeverPull
-
RegistryUnavailable
-
InvalidImageName
āĻ°āĻžāĻ¨āĻāĻžāĻāĻŽ āĻ¤ā§āĻ°ā§āĻāĻŋ:
-
CrashLoopBackOff
-
RunContainerError
-
KillContainerError
-
VerifyNonRootError
-
RunInitContainerError
-
CreatePodSandboxError
-
ConfigPodSandboxError
-
KillPodSandboxError
-
SetupNetworkError
-
TeardownNetworkError
āĻāĻŋāĻā§ āĻ¤ā§āĻ°ā§āĻāĻŋ āĻ āĻ¨ā§āĻ¯āĻĻā§āĻ° āĻā§āĻ¯āĻŧā§ āĻŦā§āĻļāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĨ¤ āĻāĻāĻžāĻ¨ā§ āĻāĻŋāĻā§ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻ¤ā§āĻ°ā§āĻāĻŋ āĻāĻŦāĻ āĻā§āĻāĻžāĻŦā§ āĻ¸ā§āĻā§āĻ˛āĻŋ āĻ āĻŋāĻ āĻāĻ°āĻž āĻ¯āĻžāĻ¯āĻŧ āĻ¤āĻž āĻ°āĻ¯āĻŧā§āĻā§ā§ˇ
āĻāĻŽā§āĻāĻĒā§āĻ˛āĻŦā§āĻ¯āĻžāĻāĻ āĻĢ
āĻāĻ āĻ¤ā§āĻ°ā§āĻāĻŋāĻāĻŋ āĻāĻā§ āĻ¯āĻāĻ¨ āĻā§āĻŦāĻžāĻ°āĻ¨ā§āĻāĻ¸ āĻĒāĻĄā§āĻ° āĻāĻāĻāĻŋ āĻĒāĻžāĻ¤ā§āĻ°ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻāĻŋāĻ¤ā§āĻ° āĻĒā§āĻ¤ā§ āĻ āĻā§āĻˇāĻŽ āĻšāĻ¯āĻŧāĨ¤ āĻāĻāĻžāĻ¨ā§ āĻāĻ° āĻ¤āĻŋāĻ¨āĻāĻŋ āĻ¸āĻŦāĻā§āĻ¯āĻŧā§ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻāĻžāĻ°āĻŖ āĻ°āĻ¯āĻŧā§āĻā§:
- āĻāĻŦāĻŋāĻ° āĻ¨āĻžāĻŽāĻāĻŋ āĻā§āĻ˛ - āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻāĻĒāĻ¨āĻŋ āĻāĻāĻŋāĻ¤ā§ āĻāĻāĻāĻŋ āĻā§āĻ˛ āĻāĻ°ā§āĻā§āĻ¨, āĻŦāĻž āĻāĻŦāĻŋāĻāĻŋ āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻ¨ā§āĻ;
- āĻāĻŦāĻŋāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻ āĻŦā§āĻ§ āĻā§āĻ¯āĻžāĻ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§;
- āĻāĻŦāĻŋāĻāĻŋ āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻžāĻāĻā§āĻ āĻ°ā§āĻāĻŋāĻ¸ā§āĻā§āĻ°āĻŋāĻ¤ā§ āĻ¸āĻāĻ°āĻā§āĻˇāĻŋāĻ¤ āĻāĻā§ āĻāĻŦāĻ āĻā§āĻŦāĻžāĻ°āĻ¨ā§āĻāĻ¸ā§āĻ° āĻāĻāĻŋ āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻāĻ°āĻžāĻ° āĻ āĻ¨ā§āĻŽāĻ¤āĻŋ āĻ¨ā§āĻāĨ¤
āĻĒā§āĻ°āĻĨāĻŽ āĻĻā§āĻāĻŋ āĻāĻžāĻ°āĻŖ āĻ āĻŋāĻ āĻāĻ°āĻž āĻ¸āĻšāĻ - āĻļā§āĻ§ā§ āĻāĻŦāĻŋāĻ° āĻ¨āĻžāĻŽ āĻāĻŦāĻ āĻā§āĻ¯āĻžāĻ āĻ āĻŋāĻ āĻāĻ°ā§āĻ¨ā§ˇ āĻĒāĻ°ā§āĻ°āĻāĻŋāĻ° āĻā§āĻˇā§āĻ¤ā§āĻ°ā§, āĻā§āĻĒāĻ¨ā§ āĻĒā§āĻ°āĻžāĻāĻā§āĻ āĻ°ā§āĻāĻŋāĻ¸ā§āĻā§āĻ°āĻŋāĻ° āĻāĻ¨ā§āĻ¯ āĻļāĻāĻ¸āĻžāĻĒāĻ¤ā§āĻ°āĻā§āĻ˛āĻŋ āĻĒā§āĻ°āĻŦā§āĻļ āĻāĻ°āĻžāĻ¨ā§ āĻāĻŦāĻ āĻĒāĻĄāĻā§āĻ˛āĻŋāĻ¤ā§ āĻāĻāĻŋāĻ¤ā§ āĻ˛āĻŋāĻā§āĻ āĻ¯ā§āĻā§āĻ¤ āĻāĻ°āĻž āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨āĨ¤ āĻā§āĻŦāĻžāĻ°āĻ¨ā§āĻāĻ¸ āĻĄāĻā§āĻŽā§āĻ¨ā§āĻā§āĻļāĻ¨ā§
āĻā§āĻ°ā§āĻ¯āĻžāĻļ āĻ˛ā§āĻĒ āĻŦā§āĻ¯āĻžāĻ āĻ āĻĢ
Kubenetes āĻāĻāĻāĻŋ āĻ¤ā§āĻ°ā§āĻāĻŋ āĻ¨āĻŋāĻā§āĻˇā§āĻĒ CrashLoopBackOff
āĻ¯āĻĻāĻŋ āĻ§āĻžāĻ°āĻāĻāĻŋ āĻļā§āĻ°ā§ āĻāĻ°āĻ¤ā§ āĻ¨āĻž āĻĒāĻžāĻ°ā§āĨ¤ āĻāĻāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻāĻā§ āĻ¯āĻāĻ¨:
- āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨āĻāĻŋāĻ¤ā§ āĻāĻāĻāĻŋ āĻŦāĻžāĻ āĻ°āĻ¯āĻŧā§āĻā§ āĻ¯āĻž āĻāĻāĻŋāĻā§ āĻāĻ˛āĻ¤ā§ āĻŦāĻžāĻ§āĻž āĻĻā§āĻ¯āĻŧ;
- āĻāĻ§āĻžāĻ°
āĻā§āĻ˛āĻāĻžāĻŦā§ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§ ; - āĻ˛āĻžāĻāĻāĻ¨ā§āĻ¸ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻ āĻ¨ā§āĻāĻŦāĻžāĻ° āĻĢā§āĻ˛ āĻāĻ°ā§āĻā§āĨ¤
āĻāĻāĻŋāĻ° āĻŦā§āĻ¯āĻ°ā§āĻĨāĻ¤āĻžāĻ° āĻāĻžāĻ°āĻŖ āĻā§āĻāĻā§ āĻŦā§āĻ° āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻ§āĻžāĻ°āĻ āĻĨā§āĻā§ āĻ˛āĻāĻā§āĻ˛āĻŋāĻ¤ā§ āĻ¯āĻžāĻāĻ¯āĻŧāĻžāĻ° āĻā§āĻˇā§āĻāĻž āĻāĻ°āĻž āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨āĨ¤ āĻ¯āĻĻāĻŋ āĻ˛āĻāĻā§āĻ˛āĻŋ āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻāĻ°āĻž āĻāĻ āĻŋāĻ¨ āĻšāĻ¯āĻŧ āĻāĻžāĻ°āĻŖ āĻ§āĻžāĻ°āĻāĻāĻŋ āĻā§āĻŦ āĻĻā§āĻ°ā§āĻ¤ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻāĻžāĻ˛ā§ āĻšāĻ¯āĻŧ, āĻāĻĒāĻ¨āĻŋ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻāĻŽāĻžāĻ¨ā§āĻĄāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨:
kubectl logs <pod-name> --previous
āĻāĻāĻŋ āĻāĻ¨ā§āĻā§āĻāĻ¨āĻžāĻ°ā§āĻ° āĻĒā§āĻ°ā§āĻŦāĻŦāĻ°ā§āĻ¤ā§ āĻĒā§āĻ¨āĻ°ā§āĻāĻ¨ā§āĻŽ āĻĨā§āĻā§ āĻ¤ā§āĻ°ā§āĻāĻŋ āĻŦāĻžāĻ°ā§āĻ¤āĻž āĻĒā§āĻ°āĻŋāĻ¨ā§āĻ āĻāĻ°ā§āĨ¤
RunContainerError
āĻ§āĻžāĻ°āĻāĻāĻŋ āĻļā§āĻ°ā§ āĻāĻ°āĻ¤ā§ āĻ āĻā§āĻˇāĻŽ āĻšāĻ˛ā§ āĻāĻ āĻ¤ā§āĻ°ā§āĻāĻŋāĻāĻŋ āĻāĻā§āĨ¤ āĻāĻāĻŋ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻļā§āĻ°ā§ āĻšāĻāĻ¯āĻŧāĻžāĻ° āĻāĻā§āĻ° āĻŽā§āĻšā§āĻ°ā§āĻ¤ā§āĻ° āĻ¸āĻžāĻĨā§ āĻŽāĻŋāĻ˛ā§ āĻ¯āĻžāĻ¯āĻŧāĨ¤ āĻāĻāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻāĻāĻāĻŋ āĻā§āĻ˛ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ā§āĻ° āĻāĻžāĻ°āĻŖā§ āĻšāĻ¯āĻŧ, āĻ¯ā§āĻŽāĻ¨:
- āĻāĻ¨āĻĢāĻŋāĻāĻŽā§āĻ¯āĻžāĻĒ āĻŦāĻž āĻ¸āĻŋāĻā§āĻ°ā§āĻāĻ¸ā§āĻ° āĻŽāĻ¤ā§ āĻāĻāĻāĻŋ āĻ āĻ¸ā§āĻ¤āĻŋāĻ¤ā§āĻŦāĻšā§āĻ¨ āĻāĻ˛āĻŋāĻāĻŽ āĻŽāĻžāĻāĻ¨ā§āĻ āĻāĻ°āĻžāĻ° āĻā§āĻˇā§āĻāĻž āĻāĻ°āĻā§;
- āĻĒāĻ āĻ¨-āĻ˛ā§āĻāĻž āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻāĻāĻāĻŋ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ°-āĻĒāĻ āĻ¨ āĻāĻ˛āĻŋāĻāĻŽ āĻŽāĻžāĻāĻ¨ā§āĻ āĻāĻ°āĻžāĻ° āĻā§āĻˇā§āĻāĻž āĻāĻ°āĻā§āĨ¤
āĻāĻ āĻ§āĻ°āĻ¨ā§āĻ° āĻ¤ā§āĻ°ā§āĻāĻŋ āĻŦāĻŋāĻļā§āĻ˛ā§āĻˇāĻŖā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻŽāĻžāĻ¨ā§āĻĄāĻāĻŋ āĻāĻĒāĻ¯ā§āĻā§āĻ¤āĨ¤ kubectl describe pod <pod-name>
.
āĻŽā§āĻ˛āĻ¤ā§āĻŦāĻŋ āĻ āĻŦāĻ¸ā§āĻĨāĻžāĻ¯āĻŧ āĻļā§āĻāĻāĻŋ
āĻ¸ā§āĻˇā§āĻāĻŋāĻ° āĻĒāĻ° āĻļā§āĻāĻāĻŋ āĻ
āĻŦāĻ¸ā§āĻĨāĻžāĻ¯āĻŧ āĻĨāĻžāĻā§ Pending
.
āĻāĻāĻŋ āĻā§āĻ¨ āĻāĻāĻā§?
āĻāĻāĻžāĻ¨ā§ āĻ¸āĻŽā§āĻāĻžāĻŦā§āĻ¯ āĻāĻžāĻ°āĻŖ āĻ°āĻ¯āĻŧā§āĻā§ (āĻāĻŽāĻŋ āĻ āĻ¨ā§āĻŽāĻžāĻ¨ āĻāĻ°āĻāĻŋ āĻ¸āĻŽāĻ¯āĻŧāĻ¸ā§āĻā§ āĻ āĻŋāĻ āĻāĻžāĻ āĻāĻ°ā§):
- āĻĒāĻĄ āĻāĻžāĻ˛āĻžāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻā§āĻ˛āĻžāĻ¸ā§āĻāĻžāĻ°ā§ āĻĒāĻ°ā§āĻ¯āĻžāĻĒā§āĻ¤ āĻ¸āĻāĻ¸ā§āĻĨāĻžāĻ¨ āĻ¨ā§āĻ, āĻ¯ā§āĻŽāĻ¨ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻ°āĻŖ āĻļāĻā§āĻ¤āĻŋ āĻāĻŦāĻ āĻŽā§āĻŽāĻ°āĻŋāĨ¤
- āĻāĻāĻāĻŋ āĻŦāĻ¸ā§āĻ¤ā§ āĻāĻĒāĻ¯ā§āĻā§āĻ¤ āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨ā§ āĻ¸ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧ
ResourceQuota
āĻāĻŦāĻ āĻāĻāĻāĻŋ āĻĒāĻĄ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ˛ā§ āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨ āĻā§āĻāĻžāĻ° āĻŦāĻžāĻāĻ°ā§ āĻāĻ˛ā§ āĻ¯āĻžāĻŦā§āĨ¤ - āĻĒāĻĄ āĻŽā§āĻ˛āĻ¤ā§āĻŦāĻŋ āĻŦāĻžāĻāĻ§āĻž
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
āĻāĻžāĻ˛āĻŋ, āĻĻā§āĻāĻŋ āĻŦāĻŋāĻāĻ˛ā§āĻĒ āĻāĻā§:
- āĻ¸āĻ āĻŋāĻ āĻ˛ā§āĻŦā§āĻ˛ āĻ¸āĻš āĻā§āĻ¨ āĻĒāĻĄ āĻ¨ā§āĻ (āĻāĻā§āĻāĻŋāĻ¤: āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨āĻāĻŋ āĻ¸āĻ āĻŋāĻ āĻāĻŋāĻ¨āĻž āĻ¤āĻž āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°ā§āĻ¨);
- āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻā§āĻ° āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻž āĻ˛ā§āĻŦā§āĻ˛ā§ āĻāĻāĻāĻŋ āĻ¤ā§āĻ°ā§āĻāĻŋ āĻāĻā§ā§ˇ
āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻļā§āĻˇ āĻĒāĻ¯āĻŧā§āĻ¨ā§āĻāĻā§āĻ˛āĻŋāĻ° āĻāĻāĻāĻŋ āĻ¤āĻžāĻ˛āĻŋāĻāĻž āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻ¨ āĻ¤āĻŦā§ āĻāĻāĻ¨āĻ āĻ
ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨āĻāĻŋ āĻ
ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻāĻ°āĻ¤ā§ āĻ¨āĻž āĻĒāĻžāĻ°ā§āĻ¨, āĻ¤āĻžāĻšāĻ˛ā§ āĻ¸āĻŽā§āĻāĻŦāĻ¤ āĻ
āĻĒāĻ°āĻžāĻ§ā§ āĻāĻāĻāĻŋ āĻŦāĻžāĻ targetPort
āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻžāĻ° āĻŦāĻŋāĻŦāĻ°āĻŖā§āĨ¤
āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻžāĻāĻŋ āĻāĻžāĻ āĻāĻ°āĻā§ āĻāĻŋāĻ¨āĻž āĻ¤āĻž āĻā§āĻāĻžāĻŦā§ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°āĻŦā§āĻ¨?
āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻžāĻ° āĻ§āĻ°āĻ¨ āĻ¨āĻŋāĻ°ā§āĻŦāĻŋāĻļā§āĻˇā§, āĻāĻĒāĻ¨āĻŋ āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ kubectl port-forward
āĻāĻāĻŋ āĻ¸āĻāĻ¯ā§āĻ āĻāĻ°āĻ¤ā§:
kubectl port-forward service/<service-name> 3000:80
āĻāĻāĻžāĻ¨ā§:
-
<service-name>
- āĻāĻžāĻā§āĻ° āĻ¨āĻžāĻŽ; - 3000 āĻšāĻ˛ āĻ¸ā§āĻ āĻĒā§āĻ°ā§āĻ āĻ¯āĻž āĻāĻĒāĻ¨āĻŋ āĻāĻŽā§āĻĒāĻŋāĻāĻāĻžāĻ°ā§ āĻā§āĻ˛āĻŦā§āĻ¨;
- 80 - āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻžāĻ° āĻĻāĻŋāĻā§ āĻĒā§āĻ°ā§āĻāĨ¤
3. āĻāĻ¨āĻā§āĻ°ā§āĻ¸ āĻĄāĻžāĻ¯āĻŧāĻžāĻāĻ¨āĻ¸ā§āĻāĻŋāĻāĻ¸
āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻāĻ āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻĒāĻĄāĻŧā§ āĻĨāĻžāĻā§āĻ¨, āĻ¤āĻžāĻšāĻ˛ā§:
- āĻĒāĻĄ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻ¤āĻžāĻ˛āĻŋāĻāĻžāĻā§āĻā§āĻ¤ āĻāĻ°āĻž āĻšāĻ¯āĻŧ
Running
иReady
; - āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻžāĻāĻŋ āĻ¸āĻĢāĻ˛āĻāĻžāĻŦā§ āĻĒāĻĄā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻā§āĻ°ā§āĻ¯āĻžāĻĢāĻŋāĻ āĻŦāĻŋāĻ¤āĻ°āĻŖ āĻāĻ°ā§āĨ¤
āĻ¯āĻžāĻāĻšā§āĻ, āĻāĻĒāĻ¨āĻŋ āĻāĻāĻ¨āĻ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨āĻāĻŋāĻ¤ā§ "āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻĒā§āĻ¤ā§" āĻĒāĻžāĻ°āĻŦā§āĻ¨ āĻ¨āĻžāĨ¤
āĻāĻ° āĻŽāĻžāĻ¨ā§ āĻšāĻ˛ āĻ¯ā§ āĻāĻ¨āĻā§āĻ°ā§āĻ¸ āĻāĻ¨ā§āĻā§āĻ°ā§āĻ˛āĻžāĻ°āĻāĻŋ āĻ¸āĻŽā§āĻāĻŦāĻ¤ āĻā§āĻ˛ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤ āĻ¯ā§āĻšā§āĻ¤ā§ āĻāĻ¨āĻā§āĻ°ā§āĻ¸ āĻāĻ¨ā§āĻā§āĻ°ā§āĻ˛āĻžāĻ° āĻā§āĻ˛āĻžāĻ¸ā§āĻāĻžāĻ°ā§āĻ° āĻāĻāĻāĻŋ āĻ¤ā§āĻ¤ā§āĻ¯āĻŧ āĻĒāĻā§āĻˇā§āĻ° āĻāĻĒāĻžāĻĻāĻžāĻ¨, āĻ¤āĻžāĻ āĻāĻ° āĻĒā§āĻ°āĻāĻžāĻ°ā§āĻ° āĻāĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻāĻ° āĻāĻ°ā§ āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻĄāĻŋāĻŦāĻžāĻāĻŋāĻ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻ°āĻ¯āĻŧā§āĻā§āĨ¤
āĻāĻŋāĻ¨ā§āĻ¤ā§ Ingress'a āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ° āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻŦāĻŋāĻļā§āĻˇ āĻ¸āĻ°āĻā§āĻāĻžāĻŽāĻā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻ¨ā§āĻāĻ¯āĻŧāĻžāĻ° āĻāĻā§, āĻāĻĒāĻ¨āĻŋ āĻā§āĻŦ āĻ¸āĻšāĻ āĻāĻŋāĻā§ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤ āĻāĻ¨āĻā§āĻ°ā§āĻ¸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ serviceName
и servicePort
āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻžāĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻāĻ¯ā§āĻ āĻāĻ°āĻ¤ā§āĨ¤ āĻ¸ā§āĻā§āĻ˛āĻŋ āĻ¸āĻ āĻŋāĻāĻāĻžāĻŦā§ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§ āĻāĻŋāĻ¨āĻž āĻ¤āĻž āĻāĻĒāĻ¨āĻžāĻā§ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°āĻ¤ā§ āĻšāĻŦā§āĨ¤ āĻāĻĒāĻ¨āĻŋ āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻĻāĻŋāĻ¯āĻŧā§ āĻāĻāĻŋ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨:
kubectl describe ingress <ingress-name>
āĻ¯āĻĻāĻŋ āĻāĻ˛āĻžāĻŽ Backend
āĻāĻžāĻ˛āĻŋ āĻāĻā§, āĻāĻāĻāĻŋ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ āĻ¤ā§āĻ°ā§āĻāĻŋ āĻāĻāĻāĻŋ āĻāĻā§āĻ āĻ¸āĻŽā§āĻāĻžāĻŦāĻ¨āĻž āĻāĻā§. āĻ¯āĻĻāĻŋ āĻŦā§āĻ¯āĻžāĻāĻāĻ¨ā§āĻĄāĻā§āĻ˛āĻŋ āĻāĻžāĻ¯āĻŧāĻāĻžāĻ¯āĻŧ āĻĨāĻžāĻā§, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻ
ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨āĻāĻŋ āĻāĻāĻ¨āĻ āĻ
ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸āĻ¯ā§āĻā§āĻ¯ āĻ¨āĻž āĻšāĻ¯āĻŧ, āĻ¤āĻžāĻšāĻ˛ā§ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻāĻŋ āĻāĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻāĻŋāĻ¤ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§:
- āĻĒāĻžāĻŦāĻ˛āĻŋāĻ āĻāĻ¨ā§āĻāĻžāĻ°āĻ¨ā§āĻ āĻĨā§āĻā§ āĻĒā§āĻ°āĻŦā§āĻļāĻžāĻ§āĻŋāĻāĻžāĻ° āĻ¸ā§āĻāĻŋāĻāĻ¸;
- āĻĒāĻžāĻŦāĻ˛āĻŋāĻ āĻāĻ¨ā§āĻāĻžāĻ°āĻ¨ā§āĻ āĻĨā§āĻā§ āĻā§āĻ˛āĻžāĻ¸ā§āĻāĻžāĻ° āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸āĻŋāĻŦāĻŋāĻ˛āĻŋāĻāĻŋ āĻ¸ā§āĻāĻŋāĻāĻ¸āĨ¤
āĻāĻĒāĻ¨āĻŋ āĻāĻ¨āĻā§āĻ°ā§āĻ¸ āĻĒāĻĄā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻ¸āĻāĻ¯ā§āĻ āĻāĻ°ā§ āĻ āĻŦāĻāĻžāĻ āĻžāĻŽā§āĻ° āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻāĻŋāĻšā§āĻ¨āĻŋāĻ¤ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤ āĻāĻāĻŋ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯, āĻĒā§āĻ°āĻĨāĻŽā§ āĻāĻ¨āĻā§āĻ°ā§āĻ¸ āĻāĻ¨ā§āĻā§āĻ°ā§āĻ˛āĻžāĻ°ā§āĻ° āĻĒāĻĄ āĻā§āĻāĻā§āĻ¨ (āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻāĻŋāĻ¨ā§āĻ¨ āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨ā§ āĻĨāĻžāĻāĻ¤ā§ āĻĒāĻžāĻ°ā§):
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 āĻĒā§āĻ°ā§āĻā§ āĻĒā§āĻ¨āĻāĻ¨āĻŋāĻ°ā§āĻĻā§āĻļāĻŋāĻ¤ āĻšāĻŦā§āĨ¤
āĻāĻāĻž āĻāĻŋ āĻāĻāĻ¨ āĻāĻžāĻ āĻāĻ°ā§?
- āĻ¯āĻĻāĻŋ āĻ¤āĻžāĻ āĻšāĻ¯āĻŧ, āĻ¤āĻžāĻšāĻ˛ā§ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻšāĻ˛ āĻĒāĻ°āĻŋāĻāĻžāĻ āĻžāĻŽā§ āĻ¨āĻŋāĻ¯āĻŧā§āĨ¤ āĻā§āĻ°āĻžāĻĢāĻŋāĻ āĻāĻŋāĻāĻžāĻŦā§ āĻā§āĻ˛āĻžāĻ¸ā§āĻāĻžāĻ°ā§ āĻ°ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧ āĻ¤āĻž āĻā§āĻāĻā§ āĻŦā§āĻ° āĻāĻ°āĻž āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨āĨ¤
- āĻ¯āĻĻāĻŋ āĻ¨āĻž āĻšāĻ¯āĻŧ, āĻ¤āĻžāĻšāĻ˛ā§ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻāĻŋ āĻāĻ¨āĻā§āĻ°ā§āĻ¸ āĻāĻ¨ā§āĻā§āĻ°ā§āĻ˛āĻžāĻ°ā§āĻ° āĻ¸āĻžāĻĨā§āĨ¤
āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻāĻ¨āĻā§āĻ°ā§āĻ¸ āĻāĻ¨ā§āĻā§āĻ°ā§āĻ˛āĻžāĻ°āĻāĻŋ āĻāĻžāĻ āĻāĻ°āĻ¤ā§ āĻ¨āĻž āĻĒāĻžāĻ°ā§āĻ¨ āĻ¤āĻŦā§ āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻāĻŋ āĻĄāĻŋāĻŦāĻžāĻ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§āĨ¤
āĻāĻ¨āĻā§āĻ°ā§āĻ¸ āĻāĻ¨ā§āĻā§āĻ°ā§āĻ˛āĻžāĻ° āĻ
āĻ¨ā§āĻ āĻŦā§āĻāĻŋāĻ¤ā§āĻ°ā§āĻ¯ āĻāĻā§. āĻ¸āĻŦāĻā§āĻ¯āĻŧā§ āĻāĻ¨āĻĒā§āĻ°āĻŋāĻ¯āĻŧ āĻšāĻ˛ Nginx, HAProxy, Traefik āĻāĻ¤ā§āĻ¯āĻžāĻĻāĻŋāĨ¤ (āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻ°āĻ āĻ¤āĻĨā§āĻ¯ā§āĻ° āĻāĻ¨ā§āĻ¯, āĻĻā§āĻā§āĻ¨
āĻāĻāĻāĻŋ Nginx āĻāĻ¨āĻā§āĻ°ā§āĻ¸ āĻāĻ¨ā§āĻā§āĻ°ā§āĻ˛āĻžāĻ° āĻĄāĻŋāĻŦāĻžāĻ āĻāĻ°āĻž
Ingress-nginx āĻĒā§āĻ°āĻāĻ˛ā§āĻĒā§āĻ° āĻāĻāĻāĻ¨ āĻāĻ°ā§āĻŽāĻāĻ°ā§āĻ¤āĻž āĻāĻā§ kubectl ingress-nginx
āĻāĻ° āĻāĻ¨ā§āĻ¯ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§:
- āĻ˛āĻ, āĻŦā§āĻ¯āĻžāĻāĻāĻ¨ā§āĻĄ, āĻ¸āĻžāĻ°ā§āĻāĻŋāĻĢāĻŋāĻā§āĻ āĻāĻ¤ā§āĻ¯āĻžāĻĻāĻŋāĻ° āĻŦāĻŋāĻļā§āĻ˛ā§āĻˇāĻŖ;
- Ingress'u āĻ¸āĻāĻ¯ā§āĻ;
- āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°āĻž āĻšāĻā§āĻā§āĨ¤
āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻ¤āĻŋāĻ¨āĻāĻŋ āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻ¤ā§ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻāĻ°āĻŦā§:
-
kubectl ingress-nginx lint
- āĻā§āĻnginx.conf
; -
kubectl ingress-nginx backend
- āĻŦā§āĻ¯āĻžāĻāĻāĻ¨ā§āĻĄ āĻ āĻ¨ā§āĻŦā§āĻˇāĻŖ āĻāĻ°ā§ (āĻāĻ° āĻ āĻ¨ā§āĻ°ā§āĻĒkubectl describe ingress <ingress-name>
); -
kubectl ingress-nginx logs
- āĻ˛āĻ āĻā§āĻ āĻāĻ°ā§āĨ¤
āĻ
āĻ¨ā§āĻā§āĻ°āĻš āĻāĻ°ā§ āĻŽāĻ¨ā§ āĻ°āĻžāĻāĻŦā§āĻ¨ āĻ¯ā§ āĻāĻŋāĻā§ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻĒāĻ¤āĻžāĻāĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻāĻ¨āĻā§āĻ°ā§āĻ¸ āĻāĻ¨ā§āĻā§āĻ°ā§āĻ˛āĻžāĻ°ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ¸āĻ āĻŋāĻ āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻ°āĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§ --namespace <name>
.
āĻ¸āĻžāĻ°āĻžāĻāĻļ
āĻāĻĒāĻ¨āĻŋ āĻā§āĻĨāĻž āĻĨā§āĻā§ āĻļā§āĻ°ā§ āĻāĻ°āĻŦā§āĻ¨ āĻ¤āĻž āĻ¨āĻž āĻāĻžāĻ¨āĻ˛ā§ āĻā§āĻŦāĻžāĻ°āĻ¨ā§āĻāĻ¸ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻāĻ°āĻž āĻāĻ āĻŋāĻ¨ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻāĻŋ āĻ¸āĻ°ā§āĻŦāĻĻāĻž āĻ¨ā§āĻā§āĻ° āĻĻāĻŋāĻ āĻĨā§āĻā§ āĻ¯ā§āĻāĻžāĻ¯ā§āĻ āĻāĻ°āĻž āĻāĻāĻŋāĻ¤: āĻĒāĻĄ āĻĻāĻŋāĻ¯āĻŧā§ āĻļā§āĻ°ā§ āĻāĻ°ā§āĻ¨ āĻāĻŦāĻ āĻ¤āĻžāĻ°āĻĒāĻ°ā§ āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻž āĻāĻŦāĻ āĻĒā§āĻ°āĻŦā§āĻļā§ āĻ¯āĻžāĻ¨āĨ¤ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§ā§ āĻŦāĻ°ā§āĻŖāĻŋāĻ¤ āĻĄāĻŋāĻŦāĻžāĻāĻŋāĻ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻā§āĻ˛āĻŋ āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻŦāĻ¸ā§āĻ¤ā§āĻ¤ā§ āĻĒā§āĻ°āĻ¯āĻŧā§āĻ āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§, āĻ¯ā§āĻŽāĻ¨:
- āĻ¨āĻŋāĻˇā§āĻā§āĻ°āĻŋāĻ¯āĻŧ āĻāĻžāĻāĻ°āĻŋ āĻāĻŦāĻ āĻā§āĻ°āĻ¨āĻāĻŦāĻ¸;
- āĻ¸ā§āĻā§āĻāĻĢā§āĻ˛ āĻ¸ā§āĻ āĻāĻŦāĻ āĻĄā§āĻŽāĻ¨āĻ¸ā§āĻāĨ¤
āĻāĻŽāĻŋ āĻā§āĻ¤āĻā§āĻāĻ¤āĻž āĻĒā§āĻ°āĻāĻžāĻļ āĻāĻ°āĻāĻŋ
āĻ āĻ¨ā§āĻŦāĻžāĻĻāĻ āĻĨā§āĻā§ PS
āĻāĻŽāĻžāĻĻā§āĻ° āĻŦā§āĻ˛āĻā§āĻ āĻĒāĻĄāĻŧā§āĻ¨:
- ÂĢ
Kubernetes āĻĒāĻĄāĻā§āĻ˛āĻŋāĻ¤ā§ āĻĄāĻŋāĻŦāĻžāĻ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ kubectl-debug āĻĒā§āĻ˛āĻžāĻāĻāĻ¨ "; - ÂĢ
āĻā§āĻŦāĻžāĻ°āĻ¨ā§āĻāĻ¸ā§āĻ° āĻ āĻĒāĻžāĻ°ā§āĻļāĻ¨ā§ 6āĻāĻŋ āĻŦāĻŋāĻ¨ā§āĻĻāĻ¨āĻŽā§āĻ˛āĻ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻŦāĻžāĻ [āĻāĻŦāĻ āĻ¤āĻžāĻĻā§āĻ° āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨] "; - ÂĢ
āĻā§āĻŦāĻžāĻ°āĻ¨ā§āĻāĻ¸ā§ āĻāĻžāĻ˛āĻŋāĻ¤ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨āĻā§āĻ˛āĻŋāĻ° āĻŦāĻŋāĻāĻžāĻļāĻāĻžāĻ°ā§āĻĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ¸āĻ°āĻā§āĻāĻžāĻŽ "; - ÂĢ
āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻ¸āĻāĻ°āĻ āĻĻā§āĻ¨āĻ¨ā§āĻĻāĻŋāĻ¨ āĻā§āĻŦāĻ¨ā§āĻ° 6āĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻŋāĻ āĻāĻ˛ā§āĻĒ Âģ.
āĻāĻ¤ā§āĻ¸: www.habr.com