Kubectl edit直接编辑secret:修订间差异

来自三线的随记
(创建页面,内容为“主要是配合vim的能力来实现 所以首先需要保证kubectl edit调用的是vim 而不是 vi 或其他编辑器 可以通过环境变量指定使用vim export KUBE_EDITOR=vim 然后开始编辑secret,例如 kubectl edit secret default 找到需要编辑的data 然后对base64以后的编码内容换行,保证整行内容都是base64处理后的结果 光标移动到base64以后的编码内容所在行 按下 <code>:</code> 进入vim的命令…”)
 
无编辑摘要
 
第1行: 第1行:
主要是配合vim的能力来实现
主要是配合vim的能力来实现,或者假如原本的secret中的内容已经解码过了 / 可以完全覆盖,那么可以直接去掉secret 里面 data: 以及data下的所有声明,然后用stringData进行写入,保存以后会自动编码为base64,例如:
 
apiVersion: v1
stringData:
  test.yaml: |-
    11231313123123
kind: Secret
metadata:
  name: test
type: Opaque
所以首先需要保证kubectl edit调用的是vim 而不是 vi 或其他编辑器
所以首先需要保证kubectl edit调用的是vim 而不是 vi 或其他编辑器



2024年10月5日 (六) 01:55的最新版本

主要是配合vim的能力来实现,或者假如原本的secret中的内容已经解码过了 / 可以完全覆盖,那么可以直接去掉secret 里面 data: 以及data下的所有声明,然后用stringData进行写入,保存以后会自动编码为base64,例如:

apiVersion: v1
stringData:
  test.yaml: |-
   11231313123123
kind: Secret
metadata:
  name: test
type: Opaque

所以首先需要保证kubectl edit调用的是vim 而不是 vi 或其他编辑器

可以通过环境变量指定使用vim

export KUBE_EDITOR=vim

然后开始编辑secret,例如 kubectl edit secret default

找到需要编辑的data

然后对base64以后的编码内容换行,保证整行内容都是base64处理后的结果

光标移动到base64以后的编码内容所在行

按下 : 进入vim的命令模式,输入 . ! base64 -d 即可解码,然后进行编辑

编辑完成以后,如果相应的解码后内容还在同一行,那就

同样按下 : 进入vim的命令模式,输入 . ! base64 -w0即可编码,例如 :'<,'> ! base64 -w0

如果需要编码的内容不在同一行,那么可以按下 Shift + V 进入vim的行visual模式以选中多行,然后再按下 : 进入vim的命令模式

输入 '<,'> ! base64 -w0 即可编码,例如 :'<,'> ! base64 -w0