공학/정보성

Windows kubectl alias 설정

카카루1331 2022. 2. 27. 14:28

제발 K8s는 맥으로 개발하세요..!

Windows로 K8s 하려니까 복장이 터집니다.

kubectl alias 설정하는 것조차 쉽지가 않습니다.

하지만 어쩌겠습니까! 회사에서는 Windows를 써야하는 것을... (ㅠ.ㅠ)

기꺼운 마음으로 Windows 환경에 적응해봅시다.

 

kubectl alias 설정 방법


1. PowerShell 관리자 권한 실행

PowerShell 관리자 권한 실행

'관리자 권한'으로 실행하세요.

 

2. PowerShell 실행 제한 해제

PS C:\Windows\system32> Set-ExecutionPolicy Unrestricted

실행 규칙 변경
실행 정책은 신뢰하지 않는 스크립트로부터 사용자를 보호합니다. 실행 정책을 변경하면 about_Execution_Policies 도움말
항목(https://go.microsoft.com/fwlink/?LinkID=135170)에 설명된 보안 위험에 노출될 수 있습니다. 실행 정책을
변경하시겠습니까?
[Y] 예(Y)  [A] 모두 예(A)  [N] 아니요(N)  [L] 모두 아니요(L)  [S] 일시 중단(S)  [?] 도움말 (기본값은 "N"): Y​

Set-ExecutionPolicy Unrestricted

위 명령어를 실행합니다.

추후 profile 귀속된 함수 실행을 위해 필요합니다.

 

3. powershell profile 생성

PS C:\Windows\system32> New-Item -Type file -Path $PROFILE -Force

디렉터리: C:\Users\JeKim\Documents\WindowsPowerShell


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----      2022-02-27   오후 1:56              0 Microsoft.PowerShell_profile.ps1

PowerShell profile을 생성합니다.

성공 시 생성된 파일 정보가 출력됩니다.

 

4. profile 열기

PS C:\Windows\system32> notepad $PROFILE

메모장으로 profile shell 파일을 열어줍니다.

 

5. function 작성

function Kube-Ctl { & kubectl $args }
New-Alias -Name k -Value Kube-Ctl

위 function 내용을 그대로 메모장에 붙여넣고 저장합니다.

k 외 다른 축약어를 사용하고 싶다면,  -Name 인자를 바꾸면 됩니다.

 

alias 적용 결과


k만 입력해도 kubectl이 동작합니다.

 

이제 즐거운(?) K8s 작업을 할 수 있겠네요!

 

 

설정이 잘 안 되면 아래 더보기 확인해보세요~

 

더보기

오류 대응


PSSecurityException

. : 이 시스템에서 스크립트를 실행할 수 없으므로 C:\Users\JeKim\Documents\WindowsPowerShell\Microsoft.PowerShell_profile
.ps1 파일을 로드할 수 없습니다. 자세한 내용은 about_Execution_Policies(https://go.microsoft.com/fwlink/?LinkID=135170)
를 참조하십시오.
위치 줄:1 문자:3
+ . 'C:\Users\JeKim\Documents\WindowsPowerShell\Microsoft.PowerShell_pr ...
+   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : 보안 오류: (:) [], PSSecurityException
    + FullyQualifiedErrorId : UnauthorizedAccess

profile PowerShell 실행 권한이 없어서 발생하는 오류입니다.
Set-ExecutionPolicy Unrestricted 명령어를 사용해서 스크립트 실행 제한을 해제하세요.