#! /bin/bash
set -xe
read -e -p "请输入你想重启的pod名字(例如front database等) : " pod_name
really_pod_name=`kubectl get pod -n jiangchuan-xc | grep $pod_name | awk '{print $1}'`
kubectl delete pod $really_pod_name -n jiangchuan-xc
get.sh
#! /bin/bash
desc() {
describe "$@"
}
read -e -p "你想进入的命名空间 : " namespace
read -e -p "你想进行的操作(get describe edit ) : " curd
read -e -p "请输入要执行的kind(deploy cm pod ..) : " resource
kubectl $curd $resource -n $namespace
#!/bin/bash
set -e
desc_pod() {
kubectl describe pod $reallypod_name -n $namespace
}
del_pod() {
kubectl delete pod $really_pod_name -n $namespace
}
exec_pod() {
kubectl exec -it $really_pod_name -n $namespace -- /bin/bash || kubectl exec -it $really_pod_name -n $namespace -- /bin/sh
}
log_pod() {
kubectl logs $really_pod_name -n $namespace
}
continue_input() {
read -p "继续操作? (y/n): " continue_input
if [ "$continue_input" != "y" ]; then
break
fi
}
input_pod_name() {
while true; do
read -e -p "请输入你想操作的Pod的名称 : " pod_name
really_pod_name=$(kubectl get pod -n $namespace | grep $pod_name | awk '{print $1}')
if [ -z "$really_pod_name" ]; then
echo "Pod not found. Please enter a valid pod name."
else
break
fi
done
}
curd_pod() {
while true; do
input_pod_name
read -e -p "请输入你想进行的操作(desc/del/exec/log) : " curd
case "$curd" in
desc)
desc_pod
continue_input
;;
del)
del_pod
continue_input
;;
exec)
exec_pod
continue_input
;;
log)
log_pod
continue_input
;;
*)
echo "不支持的操作,请重新输入"
;;
esac
done
}
edit_svc() {
echo "==================当前svc资源如下,请输入需要修改的svc_name====================="
echo
kubectl get $resource -n $namespace
read -e -p "请输入svc_name : " svc_name
kubectl edit svc $svc_name -n $namespace
}
edit_deploy() {
echo "==================当前deploy资源如下,请输入需要修改的deploy_name==============="
echo
kubectl get $resource -n $namespace
read -e -p "请输入deploy_name : " deploy_name
kubectl edit deploy $deploy_name -n $namespace
}
edit_cm() {
echo "==================当前cm资源如下,请输入需要修改的cm_name======================="
echo
kubectl get $resource -n $namespace
read -e -p "请输入cm_name : " cm_name
kubectl edit cm $cm_name -n $namespace
}
read -e -p "请输入你想进入的命名空间 : " namespace
read -e -p "请输入要执行的kind(deploy/cm/svc/pod) : " resource
case $resource in
svc)
edit_svc
;;
deploy)
edit_deploy
;;
cm)
edit_cm
;;
pod)
curd_pod
;;
*)
echo "不支持的操作"
;;
esac
#! /bin/bash
set -xe
read -e -p "请输入要分发镜像包的名称 : " image_tgz
ansible all -m copy -a "src=/etc/ansible/images/$image_tgz dest=/data/tianrang/images" && ansible all -m shell -a "docker load -i /data/tianrang/images/$image_tgz"
images_name=$(docker load -i $image_tgz | grep Loaded | awk '{print$3}')
echo "==================当前deploy资源如下,请输入需要修改的deploy_name==============="
echo
kubectl get deploy -n jiangchuan-xc
read -e -p "请输入deploy_name : " deploy_name
kubectl set image deployment/$deploy_name $deploy_name=$images_name -n jiangchuan-xc
kubectl get pods -A|grep -v Running |awk '{print "pod "$2" -n "$1" --grace-period=0 --force"}' |xargs -l kubectl delete