k8s环境脚本

一、备份的命名空间复制到另外一个

文件名k8s.ps1

shell 复制代码
# 固定命名空间
$SourceNS = "dhgx-eplus"
$TargetNS = "dhgx-eplus-backup"

# 获取源命名空间所有 Deployment
$sourceDeployments = kubectl get deployment -n $SourceNS -o json | ConvertFrom-Json

foreach ($deploy in $sourceDeployments.items) {
    $deployName = $deploy.metadata.name
    Write-Output "Processing Deployment: $deployName"

    # 获取容器名和镜像
    $containers = @{}
    foreach ($c in $deploy.spec.template.spec.containers) {
        $containers[$c.name] = $c.image
    }

    # 先生成数组,再用 -join 拼接成字符串
    $imageArgsArray = $containers.GetEnumerator() | ForEach-Object { "$($_.Key)=$($_.Value)" }
    $imageArgs = $imageArgsArray -join " "

    if ($imageArgs) {
        # 替换目标命名空间 Deployment 镜像
        kubectl set image deployment/$deployName -n $TargetNS $imageArgs
        Write-Output "Updated images for Deployment $deployName in $TargetNS"
    } else {
        Write-Output "No containers found for Deployment $deployName, skipping."
    }
}

PowerShell执行./k8s.ps1

二、备份模板

shell 复制代码
velero backup create (任务名称) `
  --include-namespaces (命名空间) `
  --selector "app notin (minio,nacos,mysql)" `
  -n common
  
velero restore create (恢复任务名称) `
  --from-backup (备份名称) `
  --include-namespaces (旧的命名空间) `
  --namespace-mappings (旧的命名空间):(新的命名空间) `
  --namespace common `
  --preserve-nodeports=false

三、链接环境

shell 复制代码
ktctl -n dhgx-eplus connect
相关推荐
江湖有缘6 小时前
Docker快速部署NeonLink:打造你的私人书签管理平台
运维·docker·容器
岚天start7 小时前
【K8S分配率】Shell脚本计算Kubernetes集群CPU和内存总分配率
云原生·容器·kubernetes·分配率
密瓜智能7 小时前
HAMi Meetup-贝壳找房 回顾:vGPU 推理集群的实践经验
云原生·性能优化·开源·gpu算力·hami·密瓜智能
Connie14517 小时前
Kubernates证书续期操作步骤
kubernetes
rustfs7 小时前
使用 RustFS和 Arq,打造 PC 数据安全备份之道
分布式·docker·云原生·rust·开源
橙子❦8 小时前
官网下载docker--centos容器,后安装并启动容器
docker·容器·centos
自己的九又四分之三站台8 小时前
Docker + Ollama 大模型管理
docker·容器·eureka
小钱c78 小时前
记录一次WSL修改networkingMode导致Docker端口无法访问的问题
运维·docker·容器
帅猛的Shic8 小时前
Kubernetes Service深度解析:为什么Pod需要稳定接入点
kubernetes·go
Hui Baby9 小时前
K8S CCM简介
云原生·容器·kubernetes