Kubernetes에서 기본 네임스페이스를 설정할 수 있습니까?
기본 네임스페이스를 설정할 수 있습니까? 즉:
$ kubectl get pods -n NAMESPACE
이를 통해 특히 하루 중 대부분의 시간 동안 하나의 네임스페이스에 있을 때마다 입력할 필요가 없어집니다.
예, 네임스페이스를 다음과 같이 설정할 수 있습니다:
$ kubectl config set-context --current --namespace=NAMESPACE
또는 이 작업에 사용할 수 있습니다.
임시 리눅스 별칭을 사용할 수도 있습니다:
alias k='kubectl -n kube-system '
그럼 이렇게 써요
k get pods
그거야 ;)
나는 아래에 표시된 별칭을 사용하고 변수를 사용할 네임스페이스로 설정하곤 했다.
# Set N=-nNamespace if N isn't set then no harm, no namespace will be used
alias k='kubectl $N'
alias kg='kubectl get $N'
alias ka='kubectl apply $N'
alias kl='kubectl logs $N'
네임스페이스로 전환하려면 다음을 사용합니다:
N=-nmy-apps
이후 명령:
kg pods
실제로 실행됩니다.
참고: bash 변수가 설정되지 않은 경우 명령은 기본적으로 kubectl과 같이 작동하고 실행됩니다.
변수의 네임스페이스 집합을 재정의하려면 다음과 같은 옵션을 추가하면 마지막으로 정의된 네임스페이스가 사용됩니다.
물론 더 영구적으로(현재 셸에서) 전환하려면 다음과 같이 변수를 설정합니다:
N=-nAnotherNamespace
kg pods
위의 작업을 수행하는 동안 ( , 와 함께 번들됨) 어떤 작업이 더 영구적으로 수행되는지 알게 되었습니다. 왜냐하면 파일이 현재 사용 중인 k8s 클러스터에 사용할 네임스페이스를 지정하는 줄로 업데이트되기 때문입니다(아래 예제의 dev)
contexts:
- context:
cluster: dev
namespace: AnotherNamesapce <<< THIS LINE IS ADDED by kubens
user: user1
name: dev
current-context: dev
하지만 다음을 사용하여 이미 쿠벡틀에 내장된 것이 전부입니다:
kubectl config set-context --current --namespace=AnotherNamespace
그래서 입력하기 더 쉬운 간단한 별칭도 잘 작동하기 때문에 (큐빅틀 집합 네임스페이스)를 선택했습니다.
function ksn(){
kubectl config set-context --current --namespace=$@
}
이제 컨텍스트 전환을 위해 기본 제공되는 기능을 사용합니다. 네임스페이스로 전환하려면 다음을 사용합니다:
ksn AnotherNamespace
짜다! 가장 간단한 "내장" 솔루션입니다.
요약
사용자의 경우 다음을 파일에 추가합니다.
function ksn(){
if [ "$1" = "" ]
then
kubectl config view -v6 2>&1 | grep 'Config loaded from file:' | sed -e 's/.*from file: /Config file:/'
echo Current context: $(kubectl config current-context)
echo Default namespace: $(kubectl config view --minify | grep namespace: | sed 's/.*namespace: *//')
elif [ "$1" = "--unset" ]
then
kubectl config set-context --current --namespace=
else
kubectl config set-context --current --namespace=$1
fi
}
이렇게 하면 네임스페이스를 설정하거나, 네임스페이스가 무엇인지 확인하거나, 기본 네임스페이스를 제거할 수 있습니다( --unset 사용). 아래의 세 가지 명령을 참조하십시오:
# Set namespace
ksn AnotherNamespace
# Display the selected namespace
ksn
Config file: /home/user/.kube/config
Current context: dev
Default namespace: AnotherNamespace
# Unset/remove a default namespace
ksn --unset
현재 네임스페이스를 표시하는 명령은 다음을 참조하십시오:
'개발하자' 카테고리의 다른 글
Flot Nosuch 메서드 오류를 수정하는 방법은 무엇입니까? (0) | 2023.02.05 |
---|---|
디스크에서 파일이 변경될 때 주피터 노트북을 자동으로 다시 로드하는 중 (0) | 2023.02.04 |
펄럭이는 JSON을 사용하여 포스트를 통해 이미지를 보내는 방법은 무엇입니까? (0) | 2023.02.03 |
로컬 HTML 페이지에서 Jupyter 노트북에 연결하는 방법 (0) | 2023.02.03 |
VS 코드 - Jupyter 노트북이 기본 커널을 자동으로 선택하지 않습니다 (0) | 2023.02.02 |