change dir name orch,container
This commit is contained in:
121
Containerization-Orchestration/Kubernetes/Commands/3-Commands.md
Executable file
121
Containerization-Orchestration/Kubernetes/Commands/3-Commands.md
Executable file
@@ -0,0 +1,121 @@
|
||||
# Kubernetes Command Reference
|
||||
|
||||
This guide provides a concise reference for common `kubectl` commands used to manage Kubernetes clusters. Whether you’re managing nodes, namespaces, pods, deployments, or autoscaling, the examples below will help you perform everyday tasks with confidence.
|
||||
|
||||
## General Commands
|
||||
|
||||
- **List API Resources**
|
||||
Display all available API resources along with their short names:
|
||||
|
||||
```bash
|
||||
kubectl api-resources
|
||||
```
|
||||
|
||||
---
|
||||
## API Resources & Documentation
|
||||
|
||||
- **Get Detailed Documentation for an API Resource**
|
||||
|
||||
```bash
|
||||
kubectl explain <api-resource-name>
|
||||
```
|
||||
|
||||
*Example:*
|
||||
|
||||
```bash
|
||||
kubectl explain pod
|
||||
```
|
||||
|
||||
```bash
|
||||
kubectl explain pod.metadata
|
||||
```
|
||||
|
||||
|
||||
---
|
||||
|
||||
## Applying YAML Files
|
||||
|
||||
- **Apply a Configuration from a YAML File**
|
||||
|
||||
Apply a YAML configuration to a specific namespace:
|
||||
|
||||
```bash
|
||||
kubectl apply -f <yaml-file> -n <namespace-name>
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Viewing Cluster Resources
|
||||
|
||||
- **Display All Resources in a Namespace**
|
||||
|
||||
```bash
|
||||
kubectl get all -n <namespace-name>
|
||||
```
|
||||
|
||||
- **Display ReplicaSets, Pods, and Deployments in a Specific Namespace**
|
||||
|
||||
```bash
|
||||
kubectl get rs,pods,deployments -n <namespace-name>
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## ReplicaSet & Deployment Management
|
||||
|
||||
### Scaling and Rollouts
|
||||
|
||||
- **Scale a ReplicaSet**
|
||||
|
||||
```bash
|
||||
kubectl scale rs <replicaset-name> --replicas=<count> -n <namespace-name>
|
||||
```
|
||||
|
||||
- **View Rollout History of a Deployment**
|
||||
|
||||
```bash
|
||||
kubectl rollout history deployment <deployment-name> -n <namespace-name>
|
||||
```
|
||||
|
||||
- **View Details of a Specific Revision**
|
||||
|
||||
```bash
|
||||
kubectl rollout history deployment <deployment-name> -n <namespace-name> --revision=<number>
|
||||
```
|
||||
|
||||
- **Roll Back a Deployment to a Specific Revision**
|
||||
|
||||
```bash
|
||||
kubectl rollout undo deployment <deployment-name> -n <namespace-name> --to-revision=<number>
|
||||
```
|
||||
|
||||
### Autoscaling
|
||||
|
||||
- **Autoscale a Deployment**
|
||||
Automatically scale a deployment based on CPU utilization:
|
||||
|
||||
```bash
|
||||
kubectl autoscale deployment <deployment-name> -n <namespace-name> --cpu-percent=<target-cpu-percentage> --min=<min-pods> --max=<max-pods>
|
||||
```
|
||||
|
||||
- **View Horizontal Pod Autoscalers (HPA)**
|
||||
|
||||
```bash
|
||||
kubectl get hpa -n <namespace-name>
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
|
||||
---
|
||||
|
||||
## Additional Information
|
||||
|
||||
- **Static Manifest Files**
|
||||
Any YAML files placed in `/etc/kubernetes/manifests/` are automatically loaded when the kubelet starts (for example, after a server reboot).
|
||||
|
||||
|
||||
|
||||
```bash
|
||||
kubectl cp -n <ns> <pod-name>:dir/ ./
|
||||
```
|
||||
@@ -0,0 +1,9 @@
|
||||
- **Set a Custom Label on a Node**
|
||||
|
||||
```bash
|
||||
kubectl label node <node-name> kubernetes.io/<label-key>=<label-value>
|
||||
```
|
||||
|
||||
> **Note:** Replace `<node-name>`, `<label-key>`, and `<label-value>` with your desired values.
|
||||
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
|
||||
- **Stream Logs for a Running Pod**
|
||||
|
||||
```bash
|
||||
kubectl logs -f -n <namespace-name> <pod-name>
|
||||
```
|
||||
|
||||
|
||||
|
||||
```bash
|
||||
kubectl logs -f -n <namespace-name> <pod-name> -c <container-name>
|
||||
```
|
||||
|
||||
|
||||
|
||||
- **Get Detailed Information About a Pod**
|
||||
|
||||
```bash
|
||||
kubectl describe pod <pod-name> -n <namespace-name>
|
||||
```
|
||||
|
||||
|
||||
in log swith the pod need to be up
|
||||
|
||||
but in describe dont need to pod be up
|
||||
|
||||
describe work on all components
|
||||
@@ -0,0 +1,63 @@
|
||||
# 🌐 Node Management with Kubernetes
|
||||
|
||||
Efficient management of Kubernetes nodes ensures cluster stability and workload flexibility. Below are key commands for listing and maintaining nodes.
|
||||
|
||||
---
|
||||
|
||||
## 📋 Listing Nodes
|
||||
|
||||
### 🔹 Show All Nodes
|
||||
```bash
|
||||
kubectl get nodes
|
||||
````
|
||||
|
||||
### 🔹 Show Nodes with Labels
|
||||
|
||||
```bash
|
||||
kubectl get nodes --show-labels
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🔧 Node Maintenance (Cordon / Drain)
|
||||
|
||||
### 🚫 Cordon a Node
|
||||
|
||||
Prevent new pods from being scheduled on the node.
|
||||
|
||||
```bash
|
||||
kubectl cordon <node-name>
|
||||
```
|
||||
|
||||
### ✅ Uncordon a Node
|
||||
|
||||
Mark the node as schedulable again.
|
||||
|
||||
```bash
|
||||
kubectl uncordon <node-name>
|
||||
```
|
||||
|
||||
### 🧹 Drain a Node
|
||||
|
||||
Evict all pods from the node (excluding those managed by DaemonSets).
|
||||
|
||||
* Forcefully drain the node:
|
||||
|
||||
```bash
|
||||
kubectl drain <node-name> --ignore-daemonsets --force
|
||||
```
|
||||
|
||||
* Drain and delete local data:
|
||||
|
||||
```bash
|
||||
kubectl drain <node-name> --ignore-daemonsets --delete-local-data
|
||||
```
|
||||
|
||||
#### 🔄 Undo Drain (Uncordon)
|
||||
|
||||
```bash
|
||||
kubectl uncordon <node-name>
|
||||
```
|
||||
|
||||
> ⚠️ **Warning:** Draining a node will evict running pods. Ensure that this is planned to avoid service disruption.
|
||||
|
||||
Reference in New Issue
Block a user