-
-
Save itsvinayak/5423995de96d802e58e22041a18036eb to your computer and use it in GitHub Desktop.
| #!/bin/bash | |
| # Function to add or update an alias in .bashrc | |
| add_alias_to_bashrc() { | |
| local alias_name="$1" | |
| local alias_command="$2" | |
| # Check if the alias already exists in .bashrc | |
| if grep -q "^alias $alias_name=" ~/.bashrc; then | |
| # Update the existing alias | |
| sed -i "s/^alias $alias_name=.*/alias $alias_name='$alias_command'/" ~/.bashrc | |
| else | |
| # Add a new alias to .bashrc | |
| echo "alias $alias_name='$alias_command'" >> ~/.bashrc | |
| fi | |
| } | |
| # Add or update aliases | |
| # General: | |
| add_alias_to_bashrc "k" "kubectl" | |
| add_alias_to_bashrc "kg" "kubectl get" | |
| add_alias_to_bashrc "kgp" "kubectl get pods" | |
| add_alias_to_bashrc "kgs" "kubectl get services" | |
| add_alias_to_bashrc "kgc" "kubectl get deployments" | |
| add_alias_to_bashrc "kga" "kubectl get all" | |
| add_alias_to_bashrc "kd" "kubectl describe" | |
| add_alias_to_bashrc "kdp" "kubectl describe pods" | |
| add_alias_to_bashrc "kds" "kubectl describe services" | |
| add_alias_to_bashrc "kdc" "kubectl describe deployments" | |
| add_alias_to_bashrc "kda" "kubectl describe all" | |
| add_alias_to_bashrc "krm" "kubectl delete" | |
| # Editing Kubernetes Resources with Editor: | |
| add_alias_to_bashrc "ke" "kubectl edit" | |
| # Applying Kubernetes Configurations: | |
| add_alias_to_bashrc "ka" "kubectl apply -f" | |
| # Rollout Commands for Deployments: | |
| add_alias_to_bashrc "krl" "kubectl rollout" | |
| add_alias_to_bashrc "krlr" "kubectl rollout restart" | |
| add_alias_to_bashrc "krlh" "kubectl rollout history" | |
| # Debugging Pods: | |
| add_alias_to_bashrc "kl" "kubectl logs" | |
| add_alias_to_bashrc "klf" "kubectl logs -f" | |
| # Context and Configuration: | |
| add_alias_to_bashrc "kctx" "kubectl config use-context" | |
| add_alias_to_bashrc "kconfig" "kubectl config get-contexts" | |
| # Kubectl Autocomplete: | |
| source <(kubectl completion bash) | |
| # Add more aliases as needed | |
| # Apply the changes to the current shell session | |
| source ~/.bashrc | |
| echo "Aliases added/updated in ~/.bashrc." |
The kubectl scale deployment command in Kubernetes is used to scale the number of replicas of a specific deployment. Here's the general syntax:
kubectl scale deployment <deployment-name> --replicas=<desired-replicas><deployment-name>: Replace this with the name of the deployment you want to scale.--replicas=<desired-replicas>: Replace<desired-replicas>with the number of replicas you want to set for the deployment.
For example, if you have a deployment named my-app and you want to scale it to 3 replicas, you would run:
kubectl scale deployment my-app --replicas=3This command tells Kubernetes to adjust the number of replicas for the specified deployment (my-app in this case) to 3, effectively creating or terminating pods to match the desired replica count.
When creating an alias for kubectl logs command with a specific pod name, you can't dynamically provide the pod name as an argument to the alias. However, you can create a function instead of an alias to achieve dynamic pod name input. Here's how you can do it:
# Function to view previous logs of a specific pod
previous_logs() {
kubectl logs "$1" -p
}
# Usage example: Call the function with the pod name as an argument
previous_logs <pod-name>In this example, replace <pod-name> with the actual name of the pod you want to view logs for. When you run previous_logs <pod-name>, it will substitute <pod-name> with the provided pod name and execute the kubectl logs command accordingly.
Please note that you cannot achieve this level of dynamic substitution with a simple alias; you'll need to use a function or a script for this kind of parameterized behavior.
Function to scale deployment resources (CPU and Memory)
Alias for increasing resources of a deployment
Usage example: increase-resources
Example: