update kuber to working

This commit is contained in:
2025-06-24 20:47:06 +03:30
parent a028612669
commit b0cf699d74
10 changed files with 265 additions and 172 deletions

View File

@@ -2,34 +2,6 @@
This guide provides a concise reference for common `kubectl` commands used to manage Kubernetes clusters. Whether youre managing nodes, namespaces, pods, deployments, or autoscaling, the examples below will help you perform everyday tasks with confidence.
---
## Table of Contents
- [Kubernetes Command Reference](#kubernetes-command-reference)
- [Table of Contents](#table-of-contents)
- [General Commands](#general-commands)
- [Node Management](#node-management)
- [Listing Nodes](#listing-nodes)
- [Labeling Nodes](#labeling-nodes)
- [Node Maintenance (Cordon/Drain)](#node-maintenance-cordondrain)
- [Namespace Management](#namespace-management)
- [Pod Management](#pod-management)
- [Listing Pods](#listing-pods)
- [Running a Pod](#running-a-pod)
- [Deleting a Pod](#deleting-a-pod)
- [API Resources \& Documentation](#api-resources--documentation)
- [Logs \& Pod Information](#logs--pod-information)
- [Applying YAML Files](#applying-yaml-files)
- [Viewing Cluster Resources](#viewing-cluster-resources)
- [ReplicaSet \& Deployment Management](#replicaset--deployment-management)
- [Scaling and Rollouts](#scaling-and-rollouts)
- [Autoscaling](#autoscaling)
- [Port Forwarding](#port-forwarding)
- [Additional Information](#additional-information)
---
## General Commands
- **List API Resources**
@@ -40,136 +12,6 @@ This guide provides a concise reference for common `kubectl` commands used to ma
```
---
## Node Management
### Listing Nodes
- **Show All Nodes**
```bash
kubectl get nodes
```
### Labeling Nodes
- **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.
### 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).
```bash
kubectl drain <node-name> --ignore-daemonsets --delete-local-data
```
> **Warning:** Draining a node will evict running pods. Ensure that you plan this action to avoid service disruption.
---
## Namespace Management
- **List All Namespaces**
```bash
kubectl get namespaces
# Or the shorthand:
kubectl get ns
```
- **Create a New Namespace**
```bash
kubectl create namespace <namespace-name>
```
---
## Pod Management
### Listing Pods
- **List Pods in the Default Namespace**
```bash
kubectl get pods
```
- **List Pods with Detailed Information (Wide Output)**
```bash
kubectl get pods -o wide
```
- **List Pods in a Specific Namespace**
```bash
kubectl get pods -o wide -n <namespace-name>
```
### Running a Pod
> **Note:** The `kubectl run` command is best suited for running single pods. For more complex deployments, consider using YAML manifests.
- **Basic Example:**
```bash
kubectl run <pod-name> --image=<image-name> --port=<port-number> -n <namespace-name>
```
- **Advanced Example with Multiple Options:**
```bash
kubectl run mypod --image=nginx --port=80 -n mynamespace \
--env="ENV_VAR_NAME=VALUE" --command -- nginx -g "daemon off;" \
--restart=Always --dry-run=client \
--labels="app=myapp,env=prod" \
--limits=cpu=100m,memory=256Mi --requests=cpu=50m,memory=128Mi
```
**Common Options Explained:**
- `--image`: Container image to use.
- `--port`: Port exposed by the container.
- `-n` or `--namespace`: Namespace in which to run the pod.
- `--env`: Set environment variables.
- `--command`: Treat the following arguments as the command to run.
- `--restart`: Pod restart policy (`Always`, `OnFailure`, or `Never`).
- `--labels`: Assign labels to the pod.
- `--dry-run`: Validate the command without creating the pod.
- `--limits` and `--requests`: Define resource limits and requests for the container.
### Deleting a Pod
- **Delete a Pod in a Specific Namespace**
```bash
kubectl delete pod <pod-name> -n <namespace-name>
```
---
## API Resources & Documentation
- **Get Detailed Documentation for an API Resource**
@@ -184,21 +26,10 @@ This guide provides a concise reference for common `kubectl` commands used to ma
kubectl explain pod
```
---
## Logs & Pod Information
- **Stream Logs for a Running Pod**
```bash
kubectl logs -f -n <namespace-name> <pod-name>
kubectl explain pod.metadata
```
- **Get Detailed Information About a Pod**
```bash
kubectl describe pod <pod-name> -n <namespace-name>
```
---
@@ -296,3 +127,4 @@ kubectl port-forward -n <namespace-name> svc/<service-name> <local-port>:<target
- **Static Manifest Files**
Any YAML files placed in `/etc/kubernetes/manifests/` are automatically loaded when the kubelet starts (for example, after a server reboot).