Kubernetes ਦਾ ਪ੍ਰਾਰੰਭਿਕ ਮਾਰਗਦਰਸ਼ਕ: ਕਿਵੇਂ ਕੰਟੇਨਰਾਈਜ਼ਡ ਐਪਲੀਕੇਸ਼ਨਾਂ ਦਾ ਪ੍ਰਭਾਵਸ਼ਾਲੀ ਪ੍ਰਬੰਧਨ ਕਰਨਾ ਹੈ
Kubernetes ਦਾ ਪ੍ਰਾਰੰਭਿਕ ਮਾਰਗਦਰਸ਼ਕ: ਕਿਵੇਂ ਕੰਟੇਨਰਾਈਜ਼ਡ ਐਪਲੀਕੇਸ਼ਨਾਂ ਦਾ ਪ੍ਰਭਾਵਸ਼ਾਲੀ ਪ੍ਰਬੰਧਨ ਕਰਨਾ ਹੈ
Kubernetes ਵਰਤਮਾਨ ਵਿੱਚ ਸਭ ਤੋਂ ਪ੍ਰਸਿੱਧ ਕੰਟੇਨਰ ਢਾਂਚਾ ਪਲੇਟਫਾਰਮ ਬਣ ਗਿਆ ਹੈ, ਜੋ ਕੰਟੇਨਰਾਈਜ਼ਡ ਐਪਲੀਕੇਸ਼ਨਾਂ ਦੀ ਆਟੋਮੈਟਿਕ ਤਾਇਨਾਤੀ, ਵਧਾਉਣ ਅਤੇ ਪ੍ਰਬੰਧਨ ਲਈ ਇੱਕ ਹੱਲ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ। ਇਹ ਲੇਖ ਸ਼ੁਰੂਆਤੀ ਅਤੇ ਮੱਧਮ ਵਿਕਾਸਕਾਰਾਂ ਲਈ ਇੱਕ ਵਰਤਣਯੋਗ ਪ੍ਰਾਰੰਭਿਕ ਮਾਰਗਦਰਸ਼ਕ ਪ੍ਰਦਾਨ ਕਰੇਗਾ, ਜੋ ਤੁਹਾਨੂੰ Kubernetes ਦੇ ਮੁੱਖ ਧਾਰਨਾਵਾਂ ਅਤੇ ਵਾਸਤਵਿਕ ਕਾਰਵਾਈਆਂ ਨੂੰ ਤੇਜ਼ੀ ਨਾਲ ਸਮਝਣ ਵਿੱਚ ਮਦਦ ਕਰੇਗਾ।
Kubernetes ਕੀ ਹੈ?
Kubernetes (ਆਮ ਤੌਰ 'ਤੇ K8s ਦੇ ਰੂਪ ਵਿੱਚ ਸੰਖੇਪਿਤ) ਇੱਕ ਖੁੱਲਾ ਪਲੇਟਫਾਰਮ ਹੈ, ਜੋ ਕੰਟੇਨਰਾਈਜ਼ਡ ਐਪਲੀਕੇਸ਼ਨਾਂ ਦੀ ਤਾਇਨਾਤੀ, ਵਧਾਉਣ ਅਤੇ ਪ੍ਰਬੰਧਨ ਨੂੰ ਆਟੋਮੈਟ ਕਰਨ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ। ਇਹ Google ਦੁਆਰਾ ਵਿਕਸਿਤ ਕੀਤਾ ਗਿਆ ਸੀ ਅਤੇ ਕਲਾਉਡ ਨੈਟਿਵ ਕੰਪਿਊਟ ਫੰਡੇਸ਼ਨ (CNCF) ਨੂੰ ਦਾਨ ਕੀਤਾ ਗਿਆ। Kubernetes ਦਾ ਮੁੱਖ ਉਦੇਸ਼ ਐਪਲੀਕੇਸ਼ਨਾਂ ਦੇ ਜੀਵਨ ਚੱਕਰ ਦੇ ਪ੍ਰਬੰਧਨ ਨੂੰ ਆਸਾਨ ਬਣਾਉਣਾ ਅਤੇ ਪ੍ਰਣਾਲੀ ਦੀ ਉੱਚ ਉਪਲਬਧਤਾ ਅਤੇ ਆਟੋਮੈਟਿਕ ਪ੍ਰਬੰਧਨ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣਾ ਹੈ।
Kubernetes ਦੇ ਮੁੱਖ ਘਟਕ
1. Pod
Pod Kubernetes ਵਿੱਚ ਸਭ ਤੋਂ ਛੋਟਾ ਤਾਇਨਾਤੀ ਇਕਾਈ ਹੈ, ਜੋ ਇੱਕ ਜਾਂ ਇੱਕ ਤੋਂ ਵੱਧ ਕੰਟੇਨਰਾਂ ਨੂੰ ਸ਼ਾਮਲ ਕਰ ਸਕਦੀ ਹੈ। ਹਰ ਇੱਕ Pod ਨੈੱਟਵਰਕ ਅਤੇ ਸਟੋਰੇਜ ਨੂੰ ਸਾਂਝਾ ਕਰਦੀ ਹੈ, ਜੋ ਨਜ਼ਦੀਕੀ ਸੇਵਾਵਾਂ ਨੂੰ ਚਲਾਉਣ ਲਈ ਉਚਿਤ ਹੈ।
apiVersion: v1
kind: Pod
metadata:
name: my-app-pod
spec:
containers:
- name: my-app-container
image: nginx
2. Deployment
Deployment Pods ਦੇ ਜੀਵਨ ਚੱਕਰ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰਨ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ, ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ ਕਿ ਨਿਰਧਾਰਿਤ ਗਿਣਤੀ ਦੇ Pods ਚੱਲ ਰਹੇ ਹਨ ਅਤੇ ਵਰਜਨ ਨਿਯੰਤਰਣ ਅਤੇ ਅੱਪਡੇਟ ਕੀਤੇ ਜਾ ਸਕਦੇ ਹਨ।
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-app-deployment
spec:
replicas: 3
selector:
matchLabels:
app: my-app
template:
metadata:
labels:
app: my-app
spec:
containers:
- name: my-app-container
image: nginx
3. Service
Service ਸਥਿਰ ਪਹੁੰਚ ਦਾ ਦਰਵਾਜ਼ਾ ਪ੍ਰਦਾਨ ਕਰਦੀ ਹੈ, ਜੋ ਹੋਰ Pods ਜਾਂ ਬਾਹਰੀ ਉਪਭੋਗਤਾਵਾਂ ਨੂੰ ਚੱਲ ਰਹੇ Pods ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦੀ ਹੈ।
apiVersion: v1
kind: Service
metadata:
name: my-app-service
spec:
type: LoadBalancer
selector:
app: my-app
ports:
- port: 80
targetPort: 80
Kubernetes ਦੇ ਫਾਇਦੇ
- ਆਟੋਮੈਟਿਕ ਪ੍ਰਬੰਧਨ: Kubernetes ਕੰਟੇਨਰ ਐਪਲੀਕੇਸ਼ਨਾਂ ਦੀ ਆਟੋਮੈਟਿਕ ਤਾਇਨਾਤੀ, ਵਧਾਉਣ ਅਤੇ ਪ੍ਰਬੰਧਨ ਕਰ ਸਕਦਾ ਹੈ, ਹੱਥ ਨਾਲ ਕੀਤੇ ਜਾਣ ਵਾਲੇ ਕੰਮਾਂ ਨੂੰ ਘਟਾਉਂਦਾ ਹੈ, ਗਲਤੀ ਦੇ ਮੌਕੇ ਨੂੰ ਘਟਾਉਂਦਾ ਹੈ।
- ਉੱਚ ਉਪਲਬਧਤਾ: ReplicaSets ਦੇ ਜ਼ਰੀਏ, Kubernetes ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ ਕਿ ਚੱਲ ਰਹੇ Pods ਦੇ ਕਾਫੀ ਉਦਾਹਰਣ ਹਨ, ਜੇਕਰ ਕੋਈ ਉਦਾਹਰਣ ਫੇਲ ਹੋ ਜਾਂਦਾ ਹੈ, ਤਾਂ ਪ੍ਰਣਾਲੀ ਇਸਨੂੰ ਆਟੋਮੈਟਿਕ ਤੌਰ 'ਤੇ ਦੁਬਾਰਾ ਸ਼ੁਰੂ ਜਾਂ ਬਦਲ ਦੇਵੇਗੀ।
- ਲੋਡ ਬੈਲੈਂਸਿੰਗ: Kubernetes ਵਿੱਚ ਬਣੀ ਬਣਾਈ ਲੋਡ ਬੈਲੈਂਸਿੰਗ ਫੰਕਸ਼ਨਲਿਟੀ ਹੈ, ਜੋ ਸੇਵਾਵਾਂ ਲਈ ਟ੍ਰੈਫਿਕ ਨੂੰ ਵੰਡਣ ਦੀ ਆਗਿਆ ਦਿੰਦੀ ਹੈ, ਯਕੀਨੀ ਬਣਾਉਂਦੀ ਹੈ ਕਿ ਸਰੋਤਾਂ ਦਾ ਪ੍ਰਭਾਵਸ਼ਾਲੀ ਉਪਯੋਗ ਕੀਤਾ ਜਾਵੇ।
Kubernetes ਤੇਜ਼ੀ ਨਾਲ ਕਿਵੇਂ ਸਿੱਖਣਾ ਹੈ
1. ਵਾਤਾਵਰਣ ਦੀ ਤਿਆਰੀ
ਸਭ ਤੋਂ ਪਹਿਲਾਂ, ਤੁਹਾਨੂੰ Kubernetes ਵਾਤਾਵਰਣ ਸੈਟਅਪ ਕਰਨ ਦੀ ਲੋੜ ਹੈ। ਇਹ ਕਈ ਤਰੀਕਿਆਂ ਨਾਲ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ, ਜਿਵੇਂ ਕਿ Minikube ਦੇ ਨਾਲ ਸਥਾਨਕ ਟੈਸਟਿੰਗ, ਜਾਂ ਕਲਾਉਡ ਸੇਵਾ ਪ੍ਰਦਾਤਾ (ਜਿਵੇਂ Google Kubernetes Engine, AWS EKS, Azure AKS) 'ਤੇ ਕਲੱਸਟਰ ਸੈਟਅਪ ਕਰਨਾ।
Minikube ਦੀ ਵਰਤੋਂ ਕਰਕੇ Kubernetes ਇੰਸਟਾਲ ਕਰਨਾ
- Minikube ਅਤੇ kubectl ਇੰਸਟਾਲ ਕਰੋ
# Minikube ਇੰਸਟਾਲ ਕਰੋ (ਵਿਸ਼ੇਸ਼ ਇੰਸਟਾਲੇਸ਼ਨ ਵਿਧੀ ਲਈ Minikube ਦੀ ਸਰਕਾਰੀ ਦਸਤਾਵੇਜ਼ ਨੂੰ ਦੇਖੋ)
brew install minikube
# kubectl ਇੰਸਟਾਲ ਕਰੋ
brew install kubectl
- Minikube ਸ਼ੁਰੂ ਕਰੋ
minikube start
2. ਪਹਿਲੀ ਐਪਲੀਕੇਸ਼ਨ ਦੀ ਤਾਇਨਾਤੀ
Nginx ਦੇ ਉਦਾਹਰਣ ਵਜੋਂ, ਅਸੀਂ Nginx ਨੂੰ ਤਾਇਨਾਤ ਕਰਨ ਲਈ ਇੱਕ Deployment ਅਤੇ Service ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰ ਸਕਦੇ ਹਾਂ।
# deployment.yaml ਫਾਈਲ ਬਣਾਓ
cat deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
spec:
replicas: 2
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx
ports:
- containerPort: 80
EOF
# deployment ਲਾਗੂ ਕਰੋ
kubectl apply -f deployment.yaml
# service.yaml ਫਾਈਲ ਬਣਾਓ
cat service.yaml
apiVersion: v1
kind: Service
metadata:
name: nginx-service
spec:
selector:
app: nginx
ports:
- protocol: TCP
port: 80
targetPort: 80
type: NodePort
EOF
# service ਲਾਗੂ ਕਰੋ
kubectl apply -f service.yaml
3. ਐਪਲੀਕੇਸ਼ਨ ਤੱਕ ਪਹੁੰਚ
ਜਦੋਂ ਵੀ ਤੁਸੀਂ NodePort ਕਿਸਮ ਦੀ Service ਬਣਾਉਂਦੇ ਹੋ, Kubernetes ਇਸਨੂੰ ਇੱਕ ਪੋਰਟ ਦੇਣਗਾ। ਪਹੁੰਚ ਪਤਾ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਹੇਠਾਂ ਦਿੱਤੇ ਹੁਕਮ ਦੀ ਵਰਤੋਂ ਕਰੋ:
minikube service nginx-service --url
ਬ੍ਰਾਊਜ਼ਰ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਪ੍ਰਿੰਟ ਕੀਤੇ URL 'ਤੇ ਜਾਓ, ਤਾਂ ਜੋ Nginx ਦਾ ਸੁਆਗਤ ਪੰਨਾ ਦੇਖ ਸਕੋ।
ਆਮ ਗਲਤੀਆਂ ਅਤੇ ਡਿਬੱਗਿੰਗ
Kubernetes ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਸਮੇਂ, ਤੁਹਾਨੂੰ ਕੁਝ ਆਮ ਸਮੱਸਿਆਵਾਂ ਦਾ ਸਾਹਮਣਾ ਕਰਨਾ ਪੈ ਸਕਦਾ ਹੈ, ਜਿਵੇਂ ਕਿ Pod ਦੀ ਸਥਿਤੀ CrashLoopBackOff ਹੈ। ਇਹ ਗਲਤੀ ਨਹੀਂ ਹੈ, ਪਰ ਇੱਕ ਸੁਰੱਖਿਆ ਮਕੈਨਿਜ਼ਮ ਹੈ, Kubernetes Pods ਦੇ ਢਹਿ ਜਾਣ ਤੋਂ ਬਾਅਦ ਅਨੰਤ ਵਾਰ ਦੁਬਾਰਾ ਸ਼ੁਰੂ ਨਹੀਂ ਕਰਦਾ, ਸਗੋਂ ਹਰ ਵਾਰੀ ਦੁਬਾਰਾ ਸ਼ੁਰੂ ਕਰਨ ਦੇ ਵਿਚਕਾਰ ਦੇਰੀ ਵਧਾਉਂਦਾ ਹੈ, ਪ੍ਰਣਾਲੀ ਨੂੰ ਗੜਬੜ ਤੋਂ ਬਚਾਉਂਦਾ ਹੈ।
ਤੁਸੀਂ ਹੇਠਾਂ ਦਿੱਤੇ ਹੁਕਮ ਦੀ ਵਰਤੋਂ ਕਰਕੇ Pods ਦੇ ਲੌਗ ਵੇਖ ਸਕਦੇ ਹੋ, ਜੋ ਡਿਬੱਗਿੰਗ ਵਿੱਚ ਮਦਦ ਕਰੇਗਾ:
kubectl logs
ਨਤੀਜਾ
Kubernetes ਇੱਕ ਸ਼ਕਤੀਸ਼ਾਲੀ ਕੰਟੇਨਰ ਪ੍ਰਬੰਧਨ ਟੂਲ ਹੈ, ਜਿਸ ਨਾਲ ਤੁਸੀਂ ਇਸਦੇ ਮੁੱਖ ਧਾਰਨਾਵਾਂ ਅਤੇ ਆਮ ਹੁਕਮਾਂ ਨੂੰ ਸਮਝ ਕੇ ਕਲਾਉਡ ਨੈਟਿਵ ਐਪਲੀਕੇਸ਼ਨਾਂ ਦਾ ਪ੍ਰਭਾਵਸ਼ਾਲੀ ਪ੍ਰਬੰਧਨ ਅਤੇ ਤਾਇਨਾਤੀ ਕਰ ਸਕਦੇ ਹੋ। ਕਲਾਉਡ ਕੰਪਿਊਟਿੰਗ ਅਤੇ ਕੰਟੇਨਰ ਤਕਨਾਲੋਜੀ ਦੇ ਫੈਲਣ ਨਾਲ, Kubernetes ਸਿੱਖਣਾ ਤੁਹਾਡੇ ਪੇਸ਼ੇਵਰ ਵਿਕਾਸ ਲਈ ਨਵੇਂ ਮੌਕੇ ਖੋਲ੍ਹੇਗਾ। ਉਮੀਦ ਹੈ ਕਿ ਇਹ ਮਾਰਗਦਰਸ਼ਕ ਤੁਹਾਡੇ Kubernetes ਦੇ ਸਿੱਖਣ ਦੇ ਯਾਤਰਾ ਵਿੱਚ ਮਦਦ ਅਤੇ ਸੰਦਰਭ ਪ੍ਰਦਾਨ ਕਰੇਗਾ।





