sed -i 's/ver: 1.0.0/ver: 1.0.1' /home/user/test.conf
2. sed 특정 글 위에추가, 특정 글 아래 추가
특정 글 위에 추가
sed -i -r -e '/ver: 1.0.1/i\Description: version' /home/user/test.conf
특정글 아래 추가
sed -i -r -e '/ver: 1.0.1/a\End Of File' /home/user/test.conf
3. 특정 글 아래 수정
sed -i '/Description: version/{ n; s/ver: 1.0.1/version: 1.0.1/I}' /home/user/test.conf
4. 띄어쓰기(space) 입력
기본적으로 한줄이면 그냥 스페이스바 입력으로 되지만, 그게 아니라면 역슬래쉬(\)를 해주어야 함.
# 한 줄로 작성할 경우
sed -i -r -e '/version: 1.0.1/a\ Date: 2024' /home/user/test.conf
# 여러 줄로 작성할 경우
sed -i -r -e '/Date: 2024/a\
\ \ Month: 4(April)' /home/user/test.conf
#!/bin/sh
DIR=/k8s-bak/resouruces # 경로 입력
mkdir -p
for NS in $(kubectl get ns --no-headers | awk '{ print $1 }') # 모든 Namespace 조회
do
mkdir -p ${DIR}/${NS} # 각 Namespace 별 폴더 생성
for RESOURCE in $(kubectl api-resources --no-headers | awk '{ print $1 }') # 리소스 조회
do
kubectl get ${RESOURCE} -n ${NS} -o yaml > ${DIR}/${NS}/${RESOURCE}.yaml # YAML 백업
done
done
1. etcdctl leader 및 list 조회 명령어 입력시 Error: context deadline exceeded 발생할 경우 cacert, cert, key를 입력해준다.
# 아래 명령어 중 하나 사용
etcdctl member list --cacert="/etc/kubernetes/pki/etcd/ca.crt" --cert="/etc/kubernetes/pki/etcd/peer.crt" --key="/etc/kubernetes/pki/etcd/peer.key"
etcdctl endpoint status --cluster --cacert="/etc/kubernetes/pki/etcd/ca.crt" --cert="/etc/kubernetes/pki/etcd/peer.crt" --key="/etc/kubernetes/pki/etcd/peer.key"
or
etcdctl member list --cacert="/etc/kubernetes/pki/etcd/ca.crt" --cert="/etc/kubernetes/pki/etcd/server.crt" --key="/etc/kubernetes/pki/etcd/server.key"
etcdctl endpoint status --cluster --cacert="/etc/kubernetes/pki/etcd/ca.crt" --cert="/etc/kubernetes/pki/etcd/server.crt" --key="/etc/kubernetes/pki/etcd/server.key"
2. etcdctl 사용시 open /etc/kubernetes/pki/etcd/ca.crt: permission denied 발생할 경우
# Pods 전체 삭제
kubectl delete pods --all --all-namespaces
kubectl delete pods --all -A
# Namespace 별 삭제
kubectl delete pods --all -n test
2. pods 특정 이름으로 삭제
<namespace> 자리에 namespace 입력 - test
/application/ 자리에 삭제할 이름 입력 - /nginx/
kubectl get pods -n <namespace> --no-headers=true | awk '/application/{print $1}'| xargs kubectl delete -n <namespace> pod
#namesapce가 test이고 test namespace안에 nginx라는 이름이 들어가는 pods 전체 삭제
kubectl get pods -n test --no-headers=true | awk '/nginx/{print $1}'| xargs kubectl delete -n test pod