管理k8s的資源類(lèi)型(PV/PVC)的腳本詳解
管理k8s的資源類(lèi)型(PV/PVC)的腳本
#!/bin/bash
# 顏色定義
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
PURPLE='\033[0;35m'
CYAN='\033[0;36m'
NC='\033[0m' # No Color
# 日志函數(shù)
log() {
echo -e "${GREEN}[$(date '+%Y-%m-%d %H:%M:%S')] $1${NC}"
}
error() {
echo -e "${RED}[$(date '+%Y-%m-%d %H:%M:%S')] 錯(cuò)誤: $1${NC}"
}
warn() {
echo -e "${YELLOW}[$(date '+%Y-%m-%d %H:%M:%S')] 警告: $1${NC}"
}
info() {
echo -e "${BLUE}[$(date '+%Y-%m-%d %H:%M:%S')] $1${NC}"
}
# 檢查 kubectl
check_kubectl() {
if ! command -v kubectl &> /dev/null; then
error "kubectl 未安裝或不在 PATH 中"
exit 1
fi
# 檢查集群連接
if ! kubectl cluster-info &> /dev/null; then
error "無(wú)法連接到 Kubernetes 集群"
exit 1
fi
}
# 獲取 PV 列表
get_pv_list() {
kubectl get pv --no-headers 2>/dev/null | while read line; do
if [ -n "$line" ]; then
echo "$line"
fi
done
}
# 獲取 PVC 列表(所有命名空間)
get_pvc_list() {
kubectl get pvc --all-namespaces --no-headers 2>/dev/null | while read line; do
if [ -n "$line" ]; then
echo "$line"
fi
done
}
# 顯示并選擇 PV
select_and_delete_pv() {
local pvs=()
local pv_count=0
# 獲取 PV 列表到數(shù)組
while IFS= read -r line; do
if [ -n "$line" ]; then
pvs+=("$line")
fi
done < <(get_pv_list)
pv_count=${#pvs[@]}
if [ $pv_count -eq 0 ]; then
warn "沒(méi)有找到 PV"
return
fi
echo -e "\n${CYAN}=== 可用的 PV 列表 ===${NC}"
printf "%-3s %-20s %-10s %-10s %-15s %-12s %s\n" "ID" "NAME" "CAPACITY" "ACCESS" "RECLAIM" "STATUS" "CLAIM"
echo "----------------------------------------------------------------------------------------"
for i in "${!pvs[@]}"; do
IFS=' ' read -r name capacity access_mode reclaim_policy status claim <<< "${pvs[$i]}"
printf "%-3d %-20s %-10s %-10s %-15s %-12s %s\n" \
$((i+1)) "$name" "$capacity" "$access_mode" "$reclaim_policy" "$status" "$claim"
done
while true; do
echo
echo -e "${YELLOW}選擇操作:${NC}"
echo " 1-${pv_count} : 刪除對(duì)應(yīng)的 PV"
echo " a : 刪除所有 PV"
echo " r : 刷新列表"
echo " b : 返回上級(jí)菜單"
echo " q : 退出程序"
read -r -p "請(qǐng)輸入選擇: " choice
case "$choice" in
[qQ])
log "退出程序"
exit 0
;;
[bB])
return
;;
[rR])
select_and_delete_pv
return
;;
[aA])
warn "即將刪除所有 PV!此操作不可逆!"
read -r -p "確認(rèn)刪除所有 PV? (輸入 'YES' 確認(rèn)): " confirm
if [ "$confirm" = "YES" ]; then
for pv_line in "${pvs[@]}"; do
pv_name=$(echo "$pv_line" | awk '{print $1}')
log "刪除 PV: $pv_name"
kubectl delete pv "$pv_name"
done
log "所有 PV 刪除操作已完成"
else
log "取消刪除所有 PV"
fi
;;
*)
if [[ "$choice" =~ ^[0-9]+$ ]] && [ "$choice" -ge 1 ] && [ "$choice" -le "$pv_count" ]; then
pv_line="${pvs[$((choice-1))]}"
pv_name=$(echo "$pv_line" | awk '{print $1}')
pv_status=$(echo "$pv_line" | awk '{print $5}')
echo -e "${YELLOW}選擇的 PV 信息:${NC}"
echo " 名稱(chēng): $pv_name"
echo " 狀態(tài): $pv_status"
echo " 完整信息: $pv_line"
read -r -p "確認(rèn)刪除這個(gè) PV? (y/N): " confirm
if [[ "$confirm" == "y" || "$confirm" == "Y" ]]; then
log "刪除 PV: $pv_name"
kubectl delete pv "$pv_name"
if [ $? -eq 0 ]; then
log "? 成功刪除 PV: $pv_name"
else
error "? 刪除 PV 失敗: $pv_name"
fi
else
log "取消刪除 PV: $pv_name"
fi
else
error "無(wú)效的選擇,請(qǐng)輸入 1-${pv_count} 之間的數(shù)字,或 a/r/b/q"
fi
;;
esac
done
}
# 顯示并選擇 PVC
select_and_delete_pvc() {
local pvcs=()
local pvc_count=0
# 獲取 PVC 列表到數(shù)組
while IFS= read -r line; do
if [ -n "$line" ]; then
pvcs+=("$line")
fi
done < <(get_pvc_list)
pvc_count=${#pvcs[@]}
if [ $pvc_count -eq 0 ]; then
warn "沒(méi)有找到 PVC"
return
fi
echo -e "\n${PURPLE}=== 可用的 PVC 列表 (所有命名空間) ===${NC}"
printf "%-3s %-15s %-20s %-10s %-12s %-15s %s\n" "ID" "NAMESPACE" "NAME" "STATUS" "VOLUME" "CAPACITY" "ACCESS"
echo "------------------------------------------------------------------------------------------------"
for i in "${!pvcs[@]}"; do
IFS=' ' read -r namespace name status volume capacity access_mode <<< "${pvcs[$i]}"
printf "%-3d %-15s %-20s %-10s %-12s %-15s %s\n" \
$((i+1)) "$namespace" "$name" "$status" "$volume" "$capacity" "$access_mode"
done
while true; do
echo
echo -e "${YELLOW}選擇操作:${NC}"
echo " 1-${pvc_count} : 刪除對(duì)應(yīng)的 PVC"
echo " a : 刪除所有 PVC"
echo " r : 刷新列表"
echo " b : 返回上級(jí)菜單"
echo " q : 退出程序"
read -r -p "請(qǐng)輸入選擇: " choice
case "$choice" in
[qQ])
log "退出程序"
exit 0
;;
[bB])
return
;;
[rR])
select_and_delete_pvc
return
;;
[aA])
warn "即將刪除所有 PVC!此操作不可逆!"
read -r -p "確認(rèn)刪除所有 PVC? (輸入 'YES' 確認(rèn)): " confirm
if [ "$confirm" = "YES" ]; then
for pvc_line in "${pvcs[@]}"; do
pvc_namespace=$(echo "$pvc_line" | awk '{print $1}')
pvc_name=$(echo "$pvc_line" | awk '{print $2}')
log "刪除 PVC: $pvc_namespace/$pvc_name"
kubectl delete pvc "$pvc_name" -n "$pvc_namespace"
done
log "所有 PVC 刪除操作已完成"
else
log "取消刪除所有 PVC"
fi
;;
*)
if [[ "$choice" =~ ^[0-9]+$ ]] && [ "$choice" -ge 1 ] && [ "$choice" -le "$pvc_count" ]; then
pvc_line="${pvcs[$((choice-1))]}"
pvc_namespace=$(echo "$pvc_line" | awk '{print $1}')
pvc_name=$(echo "$pvc_line" | awk '{print $2}')
pvc_status=$(echo "$pvc_line" | awk '{print $3}')
pvc_volume=$(echo "$pvc_line" | awk '{print $4}')
echo -e "${YELLOW}選擇的 PVC 信息:${NC}"
echo " 命名空間: $pvc_namespace"
echo " 名稱(chēng): $pvc_name"
echo " 狀態(tài): $pvc_status"
echo " 關(guān)聯(lián) Volume: $pvc_volume"
echo " 完整信息: $pvc_line"
read -r -p "確認(rèn)刪除這個(gè) PVC? (y/N): " confirm
if [[ "$confirm" == "y" || "$confirm" == "Y" ]]; then
log "刪除 PVC: $pvc_namespace/$pvc_name"
kubectl delete pvc "$pvc_name" -n "$pvc_namespace"
if [ $? -eq 0 ]; then
log "? 成功刪除 PVC: $pvc_namespace/$pvc_name"
else
error "? 刪除 PVC 失敗: $pvc_namespace/$pvc_name"
fi
else
log "取消刪除 PVC: $pvc_namespace/$pvc_name"
fi
else
error "無(wú)效的選擇,請(qǐng)輸入 1-${pvc_count} 之間的數(shù)字,或 a/r/b/q"
fi
;;
esac
done
}
# 主菜單
main_menu() {
while true; do
echo -e "\n${BLUE}=== Kubernetes PV/PVC 管理工具 ===${NC}"
echo -e "${CYAN}請(qǐng)選擇操作類(lèi)型:${NC}"
echo " 1. 管理 PV (PersistentVolume)"
echo " 2. 管理 PVC (PersistentVolumeClaim)"
echo " 3. 查看集群存儲(chǔ)狀態(tài)"
echo " q. 退出程序"
read -r -p "請(qǐng)輸入選擇 (1-3 或 q): " main_choice
case "$main_choice" in
1)
select_and_delete_pv
;;
2)
select_and_delete_pvc
;;
3)
echo -e "\n${GREEN}=== 集群存儲(chǔ)狀態(tài) ===${NC}"
echo -e "${YELLOW}--- PV 狀態(tài) ---${NC}"
kubectl get pv 2>/dev/null || error "獲取 PV 狀態(tài)失敗"
echo -e "\n${YELLOW}--- PVC 狀態(tài) (所有命名空間) ---${NC}"
kubectl get pvc --all-namespaces 2>/dev/null || error "獲取 PVC 狀態(tài)失敗"
;;
[qQ])
log "退出程序"
exit 0
;;
*)
error "無(wú)效的選擇,請(qǐng)輸入 1-3 或 q"
;;
esac
done
}
# 腳本開(kāi)始
check_kubectl
log "連接到 Kubernetes 集群成功"
main_menu
如果有格式不正確
方法一:使用 dos2unix 轉(zhuǎn)換(推薦)
安裝 dos2unix
yum install -y dos2unix
使用 wget 下載 # 對(duì)于 CentOS 7 wget http://mirror.centos.org/centos/7/os/x86_64/Packages/dos2unix-7.4.0-1.el7.x86_64.rpm # 對(duì)于 CentOS 8 wget http://mirror.centos.org/centos/8/BaseOS/x86_64/os/Packages/dos2unix-7.4.2-1.el8.x86_64.rpm # 對(duì)于 Rocky/AlmaLinux 8 wget https://download.rockylinux.org/pub/rocky/8/BaseOS/x86_64/os/Packages/d/dos2unix-7.4.2-1.el8.x86_64.rpm
轉(zhuǎn)換文件格式
dos2unix k8s-pv-pvc-manager.sh

重新運(yùn)行
chmod +x k8s-pv-pvc-manager.sh ./k8s-pv-pvc-manager.sh
方法二:使用 sed 命令刪除 CR 字符
# 刪除 CR 字符 sed -i 's/\r$//' k8s-pv-pvc-manager.sh
重新運(yùn)行
chmod +x k8s-pv-pvc-manager.sh ./k8s-pv-pvc-manager.sh
方法三:使用 vim 轉(zhuǎn)換
用 vim 打開(kāi)文件
vim k8s-pv-pvc-manager.sh
在 vim 中執(zhí)行以下命令
# :set ff=unix # :wq
重新運(yùn)行
chmod +x k8s-pv-pvc-manager.sh ./k8s-pv-pvc-manager.sh
方法四:重新創(chuàng)建腳本
如果上述方法都不行,可以直接重新創(chuàng)建腳本:
# 刪除原文件
rm -f k8s-pv-pvc-manager.sh
# 使用 cat 命令重新創(chuàng)建(確保在 Linux 環(huán)境中執(zhí)行)
cat > k8s-pv-pvc-manager.sh << 'EOF'
#!/bin/bash
# 顏色定義
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
PURPLE='\033[0;35m'
CYAN='\033[0;36m'
NC='\033[0m' # No Color
# 日志函數(shù)
log() {
echo -e "${GREEN}[$(date '+%Y-%m-%d %H:%M:%S')] $1${NC}"
}
error() {
echo -e "${RED}[$(date '+%Y-%m-%d %H:%M:%S')] 錯(cuò)誤: $1${NC}"
}
warn() {
echo -e "${YELLOW}[$(date '+%Y-%m-%d %H:%M:%S')] 警告: $1${NC}"
}
info() {
echo -e "${BLUE}[$(date '+%Y-%m-%d %H:%M:%S')] $1${NC}"
}
# 檢查 kubectl
check_kubectl() {
if ! command -v kubectl &> /dev/null; then
error "kubectl 未安裝或不在 PATH 中"
exit 1
fi
# 檢查集群連接
if ! kubectl cluster-info &> /dev/null; then
error "無(wú)法連接到 Kubernetes 集群"
exit 1
fi
}
# 獲取 PV 列表
get_pv_list() {
kubectl get pv --no-headers 2>/dev/null
}
# 獲取 PVC 列表(所有命名空間)
get_pvc_list() {
kubectl get pvc --all-namespaces --no-headers 2>/dev/null
}
# 顯示并選擇 PV
select_and_delete_pv() {
local pvs=()
local pv_count=0
# 獲取 PV 列表到數(shù)組
while IFS= read -r line; do
if [ -n "$line" ]; then
pvs+=("$line")
fi
done < <(get_pv_list)
pv_count=${#pvs[@]}
if [ $pv_count -eq 0 ]; then
warn "沒(méi)有找到 PV"
return
fi
echo -e "\n${CYAN}=== 可用的 PV 列表 ===${NC}"
printf "%-3s %-20s %-10s %-10s %-15s %-12s %s\n" "ID" "NAME" "CAPACITY" "ACCESS" "RECLAIM" "STATUS" "CLAIM"
echo "----------------------------------------------------------------------------------------"
for i in "${!pvs[@]}"; do
IFS=' ' read -r name capacity access_mode reclaim_policy status claim <<< "${pvs[$i]}"
printf "%-3d %-20s %-10s %-10s %-15s %-12s %s\n" \
$((i+1)) "$name" "$capacity" "$access_mode" "$reclaim_policy" "$status" "$claim"
done
while true; do
echo
echo -e "${YELLOW}選擇操作:${NC}"
echo " 1-${pv_count} : 刪除對(duì)應(yīng)的 PV"
echo " a : 刪除所有 PV"
echo " r : 刷新列表"
echo " b : 返回上級(jí)菜單"
echo " q : 退出程序"
read -r -p "請(qǐng)輸入選擇: " choice
case "$choice" in
[qQ])
log "退出程序"
exit 0
;;
[bB])
return
;;
[rR])
select_and_delete_pv
return
;;
[aA])
warn "即將刪除所有 PV!此操作不可逆!"
read -r -p "確認(rèn)刪除所有 PV? (輸入 'YES' 確認(rèn)): " confirm
if [ "$confirm" = "YES" ]; then
for pv_line in "${pvs[@]}"; do
pv_name=$(echo "$pv_line" | awk '{print $1}')
log "刪除 PV: $pv_name"
kubectl delete pv "$pv_name"
done
log "所有 PV 刪除操作已完成"
else
log "取消刪除所有 PV"
fi
;;
*)
if [[ "$choice" =~ ^[0-9]+$ ]] && [ "$choice" -ge 1 ] && [ "$choice" -le "$pv_count" ]; then
pv_line="${pvs[$((choice-1))]}"
pv_name=$(echo "$pv_line" | awk '{print $1}')
pv_status=$(echo "$pv_line" | awk '{print $5}')
echo -e "${YELLOW}選擇的 PV 信息:${NC}"
echo " 名稱(chēng): $pv_name"
echo " 狀態(tài): $pv_status"
echo " 完整信息: $pv_line"
read -r -p "確認(rèn)刪除這個(gè) PV? (y/N): " confirm
if [[ "$confirm" == "y" || "$confirm" == "Y" ]]; then
log "刪除 PV: $pv_name"
kubectl delete pv "$pv_name"
if [ $? -eq 0 ]; then
log "? 成功刪除 PV: $pv_name"
else
error "? 刪除 PV 失敗: $pv_name"
fi
else
log "取消刪除 PV: $pv_name"
fi
else
error "無(wú)效的選擇,請(qǐng)輸入 1-${pv_count} 之間的數(shù)字,或 a/r/b/q"
fi
;;
esac
done
}
# 顯示并選擇 PVC
select_and_delete_pvc() {
local pvcs=()
local pvc_count=0
# 獲取 PVC 列表到數(shù)組
while IFS= read -r line; do
if [ -n "$line" ]; then
pvcs+=("$line")
fi
done < <(get_pvc_list)
pvc_count=${#pvcs[@]}
if [ $pvc_count -eq 0 ]; then
warn "沒(méi)有找到 PVC"
return
fi
echo -e "\n${PURPLE}=== 可用的 PVC 列表 (所有命名空間) ===${NC}"
printf "%-3s %-15s %-20s %-10s %-12s %-15s %s\n" "ID" "NAMESPACE" "NAME" "STATUS" "VOLUME" "CAPACITY" "ACCESS"
echo "------------------------------------------------------------------------------------------------"
for i in "${!pvcs[@]}"; do
IFS=' ' read -r namespace name status volume capacity access_mode <<< "${pvcs[$i]}"
printf "%-3d %-15s %-20s %-10s %-12s %-15s %s\n" \
$((i+1)) "$namespace" "$name" "$status" "$volume" "$capacity" "$access_mode"
done
while true; do
echo
echo -e "${YELLOW}選擇操作:${NC}"
echo " 1-${pvc_count} : 刪除對(duì)應(yīng)的 PVC"
echo " a : 刪除所有 PVC"
echo " r : 刷新列表"
echo " b : 返回上級(jí)菜單"
echo " q : 退出程序"
read -r -p "請(qǐng)輸入選擇: " choice
case "$choice" in
[qQ])
log "退出程序"
exit 0
;;
[bB])
return
;;
[rR])
select_and_delete_pvc
return
;;
[aA])
warn "即將刪除所有 PVC!此操作不可逆!"
read -r -p "確認(rèn)刪除所有 PVC? (輸入 'YES' 確認(rèn)): " confirm
if [ "$confirm" = "YES" ]; then
for pvc_line in "${pvcs[@]}"; do
pvc_namespace=$(echo "$pvc_line" | awk '{print $1}')
pvc_name=$(echo "$pvc_line" | awk '{print $2}')
log "刪除 PVC: $pvc_namespace/$pvc_name"
kubectl delete pvc "$pvc_name" -n "$pvc_namespace"
done
log "所有 PVC 刪除操作已完成"
else
log "取消刪除所有 PVC"
fi
;;
*)
if [[ "$choice" =~ ^[0-9]+$ ]] && [ "$choice" -ge 1 ] && [ "$choice" -le "$pvc_count" ]; then
pvc_line="${pvcs[$((choice-1))]}"
pvc_namespace=$(echo "$pvc_line" | awk '{print $1}')
pvc_name=$(echo "$pvc_line" | awk '{print $2}')
pvc_status=$(echo "$pvc_line" | awk '{print $3}")
pvc_volume=$(echo "$pvc_line" | awk '{print $4}")
echo -e "${YELLOW}選擇的 PVC 信息:${NC}"
echo " 命名空間: $pvc_namespace"
echo " 名稱(chēng): $pvc_name"
echo " 狀態(tài): $pvc_status"
echo " 關(guān)聯(lián) Volume: $pvc_volume"
echo " 完整信息: $pvc_line"
read -r -p "確認(rèn)刪除這個(gè) PVC? (y/N): " confirm
if [[ "$confirm" == "y" || "$confirm" == "Y" ]]; then
log "刪除 PVC: $pvc_namespace/$pvc_name"
kubectl delete pvc "$pvc_name" -n "$pvc_namespace"
if [ $? -eq 0 ]; then
log "? 成功刪除 PVC: $pvc_namespace/$pvc_name"
else
error "? 刪除 PVC 失敗: $pvc_namespace/$pvc_name"
fi
else
log "取消刪除 PVC: $pvc_namespace/$pvc_name"
fi
else
error "無(wú)效的選擇,請(qǐng)輸入 1-${pvc_count} 之間的數(shù)字,或 a/r/b/q"
fi
;;
esac
done
}
# 主菜單
main_menu() {
while true; do
echo -e "\n${BLUE}=== Kubernetes PV/PVC 管理工具 ===${NC}"
echo -e "${CYAN}請(qǐng)選擇操作類(lèi)型:${NC}"
echo " 1. 管理 PV (PersistentVolume)"
echo " 2. 管理 PVC (PersistentVolumeClaim)"
echo " 3. 查看集群存儲(chǔ)狀態(tài)"
echo " q. 退出程序"
read -r -p "請(qǐng)輸入選擇 (1-3 或 q): " main_choice
case "$main_choice" in
1)
select_and_delete_pv
;;
2)
select_and_delete_pvc
;;
3)
echo -e "\n${GREEN}=== 集群存儲(chǔ)狀態(tài) ===${NC}"
echo -e "${YELLOW}--- PV 狀態(tài) ---${NC}"
kubectl get pv 2>/dev/null || error "獲取 PV 狀態(tài)失敗"
echo -e "\n${YELLOW}--- PVC 狀態(tài) (所有命名空間) ---${NC}"
kubectl get pvc --all-namespaces 2>/dev/null || error "獲取 PVC 狀態(tài)失敗"
;;
[qQ])
log "退出程序"
exit 0
;;
*)
error "無(wú)效的選擇,請(qǐng)輸入 1-3 或 q"
;;
esac
done
}
# 腳本開(kāi)始
check_kubectl
log "連接到 Kubernetes 集群成功"
main_menu
EOF
# 設(shè)置執(zhí)行權(quán)限并運(yùn)行
chmod +x k8s-pv-pvc-manager.sh
./k8s-pv-pvc-manager.sh
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Kubernetes中的service使用及說(shuō)明
Kubernetes Service通過(guò)固定IP和端口實(shí)現(xiàn)Pod的負(fù)載均衡和服務(wù)發(fā)現(xiàn),解決動(dòng)態(tài)IP問(wèn)題,支持ClusterIP、NodePort、LoadBalancer等五種類(lèi)型,適用于集群內(nèi)通信、對(duì)外暴露及訪問(wèn)外部服務(wù),結(jié)合Endpoints和負(fù)載均衡策略確保服務(wù)穩(wěn)定性2025-10-10
Kubernetes中創(chuàng)建命名空間實(shí)現(xiàn)方法
這篇文章主要為大家介紹了Kubernetes中創(chuàng)建命名空間實(shí)現(xiàn)方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11
Rainbond使用Dockerfile構(gòu)建便捷應(yīng)用運(yùn)行流程
這篇文章主要為大家介紹了Rainbond使用Dockerfile構(gòu)建便捷應(yīng)用運(yùn)行流程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-04-04
k8s自動(dòng)化安裝腳本(二進(jìn)制)的操作步驟
Kubernetes?k8s安裝腳本,非常好用,下面這篇文章主要給大家介紹了關(guān)于k8s自動(dòng)化安裝腳本(二進(jìn)制)的操作步驟,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下2022-09-09
k8s 中的 service 如何找到綁定的 Pod 及實(shí)現(xiàn) 
service 是一組具有相同 label pod 集合的抽象,集群內(nèi)外的各個(gè)服務(wù)可以通過(guò) service 進(jìn)行互相通信,這篇文章主要介紹了k8s 中的 service 如何找到綁定的 Pod 以及如何實(shí)現(xiàn) Pod 負(fù)載均衡,需要的朋友可以參考下2022-10-10
K8s?ConfigMaps與Secret實(shí)現(xiàn)配置分離過(guò)程
本文介紹Kubernetes中ConfigMaps和Secret的創(chuàng)建方式及應(yīng)用,涵蓋文件、literal、YAML方法,強(qiáng)調(diào)命名空間匹配與鍵名大小寫(xiě)一致性,Secret類(lèi)型如Opaque、dockerconfigjson用于加密配置,熱更新需注意envFrom等參數(shù)限制2025-08-08
刪除Helm使用時(shí)關(guān)于kubernetes文件的警告問(wèn)題
這篇文章主要介紹了刪除Helm使用時(shí)關(guān)于kubernetes文件的警告問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-11-11
kubernetes認(rèn)證鑒權(quán)內(nèi)容淺析
這篇文章主要為大家介紹了kubernetes認(rèn)證鑒權(quán)內(nèi)容淺析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04

