«

如何快速编辑k8s集群中某个容器中的某个文件?

时间:2023-7-13 16:13     作者:Anglei     分类: 虚拟化


#!/bin/bash
set -e

useage(){
    echo "useage:"
    echo "  kubevi.sh NAMESPACE POD CONTAINER REMOTE"
}

if [ $# -ne 4 ];then
    useage
    exit
fi

NAMESPACE=$1
POD=$2
CONTAINER=$3
REMOTE=$4
LOCAL=$(basename "${REMOTE}")
TEMPDIR=$(mktemp -d)
echo "${TEMPDIR}"
cd "${TEMPDIR}"
kubectl -n "${NAMESPACE}" cp "${POD}":"${REMOTE}" "${LOCAL}" -c "${CONTAINER}"
LOCALMD51=$(md5sum "${LOCAL}" | awk '{print $1}')
vi "${LOCAL}"
LOCALMD52=$(md5sum "${LOCAL}" | awk '{print $1}')
if [ x"${LOCALMD51}" != x"${LOCALMD52}" ];then
kubectl -n "${NAMESPACE}" cp "${LOCAL}" "${POD}":"${REMOTE}" -c "${CONTAINER}"
fi
rm "${LOCAL}"

将上述文件保存为kubevi.sh, 然后使用方法如下:

./kubevi.sh testnamespace pod_name nginx /etc/nginx/nginx.conf

本文完结,相关标签: k8s

 版权所有:Anglei
 文章标题:如何快速编辑k8s集群中某个容器中的某个文件?
 除非注明,本站文章如未特殊说明均为 MAXADA社区知识库 原创,且版权所有,请勿用于任何商业用途。

推荐阅读:

看完后感想如何?

路过(0)

雷人(0)

握手(0)

鲜花(0)

鸡蛋(0)
分享到: