Linux Shell 学习笔记二

#!/bin/bash# 当你遇到shell脚本异常时,加上此行set -euxo pipefail,会打印出执行过程并阻止脚本继续执行。
set -euo pipefail# 使用说明:
# BACKUP=<backup> NS=<ns1,ns2,...> ./migrate-ack.sh
# 其中BACKUP为velero backup的名称,可以通过 velero --kubecontext=jiankunking-ing-test backup get | grep old | grep Completed | head -n1 获取
# NS为要迁移的namespace列表,逗号隔开
# 需要安装velero/jq/kubectl等命令ctx=jiankunking-testecho "Usage: BACKUP=<backup> NS=<ns1,ns2,...> $0"# command -v 可以判断一个命令是否支持
if ! command -v velero >/dev/null; thenecho "velero not installed" >&2exit 1
fi
if ! command -v jq >/dev/null; thenecho "jq not installed" >&2exit 1
fi
if ! command -v kubectl >/dev/null; thenecho "kubectl not installed" >&2exit 1
fiecho "+ using backup $BACKUP"# https://velero.io/
velero --kubecontext $ctx restore create --from-backup $BACKUP --include-namespaces $NS -w# a,b,c=>a b c
for ns in `echo $NS | tr ',' ' '`; doecho "+ NS: $ns"k="kubectl --context $ctx -n $ns"# set svc ownerrefsvcs=`$k get svc --no-headers -owide 2>/dev/null | awk '{print $1}'`for svc in $svcs; doapp=`$k get svc $svc -ojson | jq '.metadata.labels.app' -r`uid=`$k get deploy $app -ojson | jq -r .metadata.uid`$k patch svc $svc --patch '{"metadata": {"ownerReferences": [{"apiVersion": "apps/v1","blockOwnerDeletion": true,"controller": true,"kind": "Deployment","name": "'$app'","uid": "'$uid'"}]}}'done# replace ingress host: jiankunking-ing-internal -> jiankunking-ing-test-internal#	-gt:大于,greater thanif [ `$k get ing -lingress-class!=internal-gw 2>/dev/null | wc -l` -gt 0 ]; then$k get ing -lingress-class!=internal-gw -ojson \| jq '.items[].spec.rules[].host |= sub("jiankunking-ing-internal"; "jiankunking-ing-test-internal")' \| $k apply -f -fi
done

svc jq

[jiankunking@hddxps8156 ~]# kubectl get svc gateway -n console-dev -ojson 
{"apiVersion": "v1","kind": "Service","metadata": {"annotations": {"k8s.haier.net/creator": "jiankunking"},"creationTimestamp": "2023-07-04T03:21:53Z","labels": {"app": "gateway","app.kubernetes.io/name": "gateway","app.kubernetes.io/version": "v0"}},"spec": {},"status": {"loadBalancer": {}}
}
[jiankunking@hddxps8156 ~]# kubectl get svc gateway -n console-dev -ojson | jq '.metadata.labels.app' -r
gateway
[jiankunking@hddxps8156 ~]# kubectl get svc gateway -n console-dev -ojson | jq .metadata.labels.app -r
gateway
[jiankunking@hddxps8156 ~]# 

deploy jq

[jiankunking@hddxps8156 ~]# kubectl get deploy gateway -n console-dev -ojson
{"apiVersion": "apps/v1","kind": "Deployment","metadata": {"annotations": {"deployment.kubernetes.io/revision": "3","k8s.haier.net/description": "","k8s.haier.net/display-name": "gateway","k8s.haier.net/updated-timestamp": "2023-07-04T02:58:06Z"},"creationTimestamp": "2023-07-04T02:51:18Z","generation": 3,"labels": {"app": "gateway","app.kubernetes.io/name": "gateway","app.kubernetes.io/version": "v0","k8s.haier.net/app-type": ""},"name": "gateway","namespace": "console-dev","resourceVersion": "689881460","uid": "9fe8462b-d65a-4e9f-942c-4cffb912b0e5"},"spec": {},"status": {}
}
[jiankunking@hddxps8156 ~]# kubectl get deploy gateway -n console-dev -ojson | jq -r .metadata.uid
9fe8462b-d65a-4e9f-942c-4cffb912b0e5
[jiankunking@hddxps8156 ~]# 

作者:jiankunking 出处:http://blog.csdn.net/jiankunking

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/8405.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ChatGPT | 使用自己Prompt替换LangChain默认Prompt

某些场景会要求ChatGPT重复处理同一个操作&#xff0c;要么在问题里面加入Prompt&#xff0c;要么用自己Prompt替换LangChain默认Prompt。 直接看看前后对比结果 LangChain默认的Prompt template"Use the following pieces of context to answer the users question. \n…

android9-android13 AMS演进初窥

目录 一&#xff1a;概览 WindowManagerService 基本介绍 ActivityManagerService 基本介绍 二&#xff1a;AMS及其关联的WMS中主要组件的类图和对像图 一&#xff1a;android 9中AMS/WMS的类图和对像图 二&#xff1a;android 10中AMS/WMS的类图和对像图 三&#xff1a…

关于应用在Google Play的元数据优化

应用标题中的关键词权重最大&#xff0c;其次是简短描述中的关键词&#xff0c;最后是长描述关键词&#xff0c;了解这些就能够很好的提高应用的可见度&#xff0c;下载量和整体成功率。 1&#xff0c;标题。 Google Play最多允许标题容纳30个字符&#xff0c;关键词的频率和密…

盘点!项目管理软件排行榜前十名

如今企业规模不断扩大&#xff0c;业务逐渐复杂化&#xff0c;项目管理已经成为现代企业管理中不可或缺的一环。作为协调管理者、团队成员和客户之间交流的工具&#xff0c;项目管理软件不仅可以提高工作效率&#xff0c;还可以提高项目成功的几率&#xff0c;对于企业具有重要…

Unity进阶--对象池数据场景管理器笔记

文章目录 泛型单例类泛型单例类&#xff08;不带组件版&#xff09;对象池管理器数据管理器场景管理器 泛型单例类 using System.Collections; using System.Collections.Generic;public abstract class ManagersSingle<T> where T : new() {private static T instance;…

DevExpress WPF Tree List组件,让数据可视化程度更高!(一)

DevExpress WPF Tree List组件是一个功能齐全、数据感知的TreeView-ListView混合体&#xff0c;可以把数据信息显示为REE、GRID或两者的组合&#xff0c;在数据绑定或非绑定模式下&#xff0c;具有完整的数据编辑支持。 DevExpress WPF 拥有120个控件和库&#xff0c;将帮助您…

验证码登录如何实现?

手机验证码登录 1、需求分析2、数据模型3、代码开发-交互过程4、代码开发-准备工作5、代码开发-修改LoginCheckFilter6、代码开发-接口开发7、前端代码介绍8、启动测试 1、需求分析 为了方便用户登录&#xff0c;移动端通常都会提供通过手机验证码登录的功能。 手机验证码登录…

手边酒店多商户版小程序V1.0.47 全开源版 安装测试教程

手边酒店多商户小程序是基于框架应用模块应用&#xff0c;需要框架基础上使用&#xff0c;总体体验了一下功能还是强大&#xff0c;非常合适酒店及民宿类小程序搭建。小程序端支持多店版支持平台入驻。手边酒店多商户版只有模块版&#xff0c;无独立版本&#xff0c;该版本核心…

Rust vs Go:常用语法对比(十)

题图来自 Rust vs. Golang: Which One is Better?[1] 182. Quine program Output the source of the program. 输出程序的源代码 package mainimport "fmt"func main() { fmt.Printf("%s%c%s%c\n", s, 0x60, s, 0x60)}var s package mainimport "fm…

桥梁安全生命周期监测解决方案

一、方案背景 建筑安全是人们生产、经营、居住等经济生活和人身安全的基本保证&#xff0c;目前我国越来越多的建筑物逐 步接近或者已经达到了使用年限&#xff0c;使得建筑物不断出现各种安全隐患&#xff0c;对居民的人身安全和财产安全产 生不利影响&#xff0c;因此房…

Bug竞技场【已经修复】

目录 1.基础知识 2.最佳组合 2.1 铁男-螳螂 2.2 弟弟组合 海克斯抽卡bug 1.基础知识 背景&#xff1a;美测服-美服-马服-可以有效地减少bug率 复盘是为了更好的战斗&#xff01; 提前观看一些视频资料也是如此。 通过看直播博主的经验&#xff0c;可以让你关注到本来对战的…

Python 生成随机图片验证码

使用Python生成图片验证码 Python 生成随机图片验证码安装pillow包pillow包生成图片基本用法生成图片验证码 Python 生成随机图片验证码 在写一个Web项目的时候一般要写登录操作&#xff0c;而为了安全起见&#xff0c;现在的登录功能都会加上输入图片验证码这一功能&#xff…

【Spring Cloud】Spring Cloud Config 会加载哪些配置文件原理浅析

文章目录 1. Spring Cloud Config 加载哪些配置文件2. git 作为配置中心存放配置文件的一些规则3. 参考资料 本文描述了 Spring Cloud Config 会加载哪些配置文件&#xff0c;以及如何在 git 仓库中合理的安排这些配置文件的结构 1. Spring Cloud Config 加载哪些配置文件 基…

代码随想录训练营day1

问题一&#xff1a;给定一个 n 个元素有序的&#xff08;升序&#xff09;整型数组 nums 和一个目标值 target &#xff0c;写一个函数搜索 nums 中的 target&#xff0c;如果目标值存在返回下标&#xff0c;否则返回 -1。 输入 输出 nums [-1,0,3,5,9,12], target 9 4 …

【Spring系列】数据库初始化

背景 最近在配置数据库的初始化时&#xff0c;遇到 sql:init:schema-locations: classpath:db/schema.sqldata-locations: classpath:db/data.sqlusername: sapassword:网上搜索资料&#xff0c;大同小异&#xff0c;都是无用的资料&#xff0c;于是决定自己研究下数据库的初始…

结构型设计模式之组合模式【设计模式系列】

系列文章目录 C技能系列 Linux通信架构系列 C高性能优化编程系列 深入理解软件架构设计系列 高级C并发线程编程 设计模式系列 期待你的关注哦&#xff01;&#xff01;&#xff01; 现在的一切都是为将来的梦想编织翅膀&#xff0c;让梦想在现实中展翅高飞。 Now everythi…

使用POI设计一个限制导出日期为三十天,且导出文件为excel

使用POI设计一个限制导出日期为三十天&#xff0c;且导出文件为excel&#xff0c;前端使用Vue的element ui进行设计&#xff0c;前端可以通过选择时间来导出具体的表格数据&#xff0c;根据用户选择的时间进行Excel文件的数据导出。 按照需求来设计代码&#xff0c;根据element…

SkyWalking链路追踪-Agent (代理人)

基础概念&#xff1a; SkyWalking链路追踪代理&#xff08;SkyWalking Tracing Agent&#xff09;是一种用于收集和传输链路追踪数据的工具。它与应用程序一起部署&#xff0c;并通过自动或手动方式来收集关于应用程序中的请求路径和操作的信息。该代理将收集到的数据发送到Sky…

Hadoop学习日记-MapReduce思想及执行流程

MapReduce思想 Map负责“拆分”&#xff1a;即将复杂问题拆分成可以并行计算的小问题&#xff0c;彼此之间几乎没有依赖联系。 Reduce负责对Map阶段的结果进行合并汇总 Map和Reduce的抽象接口如下&#xff1a; map:(k1; v1) — (k2; v2) reduce:(k2; [v2]) — (k3; v3) 一…

看了2023年的一线互联网公司时薪排行榜!值得思考

前言 根据最近针对国内的一线互联网企业做的调研&#xff0c;汇总了他们的平均时薪水平&#xff0c;最终出了一个排行榜&#xff01; 首先我们来看下&#xff0c;排行榜分哪几个Level&#xff0c;分别为初级、中级、高级、资深、专家/架构这五个&#xff0c;主要根据工程师的…