기본 콘텐츠로 건너뛰기

라벨이 Kubernetes인 게시물 표시

[Kubernetes - Operator] KUDO CLI 명령어 정리

How to use KUDO CLI Commands KUDO 및 Package 관리를 위한 KUDO CLI를 정리한다. Global Flags Global Flags : 전체 명령들에 사용할 수 있는 전역 옵션들 --home <path> : Kudo 설정이 있는 Home Directory 지정 (Default: "~/.kudo") --kubeconfig <path> : Kubernetes 설정이 있는 Home Directory 지정 (Default: "~/.kube/config") -n, --namespace <namespace> : 객체를 처리할 대상 Namespace (Default: "Default") --request-timeout <seconds> : 요청 시간 제한을 초단위로 지정 (Default: 0 - 무제한) -v <line count>, --v : 상세 로그 수준을 라인단위로 지정 --validate-install : 명령을 실행하기 전에 KUDO 설치 여부 검증 (Default: true) Semi-Global Flags : 전체 명령들은 아니지만 많은 명령들에 사용할 수 있는 옵션들 --help : 모든 명령에 지정 가능하며, 해당 명령의 상세 정보 출력 -o, --output : 많은 명령들이 지원하며, "Yaml" 또는 "Json" 방식으로 출력 가능 --dry-run : 실제 실행하지는 않고, 점검과 준비만 처리하며, --output 옵션으로 대상 리소스에 대한 출력물 생성 init KUDO Server와 Client 컴포넌트의 초기화 및 업그레이드 처리 kubectl kudo init [options] 옵션들은 설치 및 업그레이드에 대한 변경을 위한 것으로 주로 Server를 대상으로 하며 저장되지 않기 때문에 매번 제공해야

[Kubernetes] Kubernetes Dashboard 설치 및 NodePort 접근 설정

How to install and access Kubernetes Dashboard 대시보드는 웹 기반 Kubernetes 사용자 인터페이스로 컨테이너화된 애플리케이션을 배포하고 문제를 해결하고, 클러스터 리소스들을 관리한다. 또한 클러스터의 쿠버네티스 리소스 상태 및 발생했을 수 있는 오류에 대한 정보도 확인할 수 있다. Deployments StatefulSets DaemonSets Jobs Services Ingress Deployments Scaling Rolling Update Pod Management Persistent Volume / Claim 배포 및 액세스 기본적으로 쿠버네티스에 포함되어있지 않기 때문에 별도 배포해 줘야 한다. kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0/aio/deploy/recommended.yaml namespace/kubernetes-dashboard created serviceaccount/kubernetes-dashboard created service/kubernetes-dashboard created secret/kubernetes-dashboard-certs created secret/kubernetes-dashboard-csrf created secret/kubernetes-dashboard-key-holder created configmap/kubernetes-dashboard-settings created role.rbac.authorization.k8s.io/kubernetes-dashboard created clusterrole.rbac.authorization.k8s.io/kubernetes-dashboard created rolebinding.rbac.authorization.k8s.io/kubernetes-dashboard created clusterrolebinding

[Kubernetes - KREW] KREW란 무엇일까?

What is the KREW KREW는 kubectl을 확장하기 위한 플러그인 매니저 로 Kubernetes SIG 로 개발이 진행되고 있다. kubectl 플러그인 검색 플러그인 설치 설치된 플러그인 최신 상태 유지 참고 kubectl v1.12 이상 버전에만 호환된다. 현재 Krew에는 127개의 kubectl 플러그인이 등록되어 있으며, macOS , linux , windows 등의 모든 플랫폼에서 작동된다. KREW를 사용하면 플러그인을 개발하고 여러 플랫폼에 쉽게 배포하고 중앙 집중식 플러그인 저장소를 통해 검색 및 설치 및 관리가 가능하다. Install macOS / Linux 참고 Linux에서 shell 확인하는 방법 grep <user name> /etc/passwd 를 실행하면 해당 사용자 정보 및 사용하는 쉘 정보가 출력된다. cat /etc/shells 를 실행하면 현재 설치되어 있는 쉘 리스트를 볼 수 있다. git 설치하는 방법 CentOS 8에서는 sudo yum -y install git 또는 sudo dnf -y install git 를 사용 git --version 명령으로 설치 확인 bash 또는 zsh 쉘 git 가 설치되어 있어야 한다. krew 다운로드 및 설치 ( set -x; cd "$(mktemp -d)" && curl -fsSLO "https://github.com/kubernetes-sigs/krew/releases/latest/download/krew.tar.gz" && tar zxvf krew.tar.gz && KREW=./krew-"$(uname | tr '[:upper:]' '[:lower:]')_$(uname -m | sed -e 's/x86_64/amd64/' -e '

[Kubernetes] kubectl 활용팁

kubectl 활용 팁 Kubernetes 관련 정보들을 검색하던 중에 kubectl 툴을 좀 더 활용할 수 있는 팁 정보가 있어서 정리해 놓는다. kubectl 은 쿠버네티스를 운영하기 위한 CLI 도구로 상당히 많은 기능들을 제공하기 때문에 기능들을 다 파악하는 것은 어렵지만 강력한 도구로 활용이 가능하다. 기본적인 사용법에 관련된 것은 Cheatsheet 를 참고하면 된다. kubectl with Shell Completion kubectl 은 bash 및 zsh가 내장된 쉘 완성 기능을 제공하기 때문에 명령, 플래그 및 객체를 네임스페이스 또는 파드 이름과 같이 자동 완성으로 사용하는 것이 훨씬 쉽다. 아래의 그림은 실제 자동완성 기능을 제공하도록 설정한 후의 사용법을 보여주는 것이다. 원문 에는 kubectl 바이너리 설치부터 설명이 되어 있지만 대부분은 kubernetes 설치환경일 것이므로 자동 완성만 처리하면 된다. Notes 자동 완성 스크립트는 kubectl에 의해서 생성되므로 프로파일에 설정해서 사용하면 된다. 관련된 정보는 kubectl completion -h 를 확인하면 된다. On linux, usnig bash 리눅스 bash 환경에서 자동완성 스크립트를 Shell 로 로드 처리는 아래의 명령을 사용하면 된다. $ source <(kubectl completion bash) 프로파일에 적용하려면 아래의 명령으로 프로파일에 적용해 주면 된다. $ echo "source <(kubectl completion bash)" >> ~/.bashrc On MacOS, using bash 맥에서 bash 자동 완성을 수행하려면 아래의 명령으로 자동완성 지원 기능을 먼저 설치해야 한다. $ bre

[Kubernetes] 설치 시점에 특정 버전 지정하기

Notes 이 문서는 Ubuntu 에 Kubernetes 를 설치할 때 특정 버전의 바이너리를 지정해서 처리하는 방법을 설명하는 것이기 때문에 전체 설치 과정을 다루고 있지 않습니다. 설치에 관련된 문서는 iamartin 님 블로그에 kubeadm을 이용해서 아주 쉽게 Kubernetes 설치하기 에 상세하게 기술되어 있으므로 이 부분을 참고하시면 됩니다. (향후 변경된 사항이나 요청이 있다면 정리된 버전을 추가로 올릴 수도 있습니다) 참고로 Kubernetes 를 설치하는 도구들은 상당히 많이 존재하며 향후 kubeadm 으로 통합될 것으로 개인적인 예상을 하고 있기 때문에 다른 설치 도구에 대한 부분은 따로 정리하지 않고 있습니다. Kubernetes 특정 버전으로 구성하기 이 문서를 정리한 이유는 Kubernetes가 버전 향상 작업을 수시로 진행하고 있고, 각 종 설치 도구는 latest 버전 을 대상으로 운영되고 있기 때문에 솔루션 개발 중이거나 또는 다른 이유로 버전을 고정해야 할 경우가 있을 수 있기 때문입니다. 기본 설치 관련 정보 ubuntu 에서 설치는 초기에 아래와 같이 4 단계의 작업을 거치게 됩니다. 물론 kubeadm 을 사용하는 경우는 다른 환경에서도 거의 유사하게 사용됩니다. Apt Key 생성 $ curl http://packages .cloud .google .com /apt/doc/apt-key .gpg | apt-key add - Kubernetes Source Repository 생성 (데비안 패키지) cat <<EOF > /etc/apt/sources .list .d /kubernetes .list deb http://apt .kubernetes .io / kubernetes-xenial main EOF Apt Repository 갱신 apt- get update 필수 프로그램 설치 apt -get install -y docker . io apt -get install -y k

[Kubernetes] Vagrant를 이용해서 CoreOS + Kubernetes 설정해 보기

References 원문 : https://github.com/patrickhoefler/coreos-vagrant-kubernetes/blob/master/Vagrantfile 이 글은 원문의 내용을 기준으로 여러 가지를 테스트하면서 나름대로 정리한 내용으로 Vagrant를 사용해서 CoreOS, CoreOS Cluster, Kubernetes 까지 설정하는 방법을 로컬 머신에서 설정해 보는 것을 정리하도록 한다. 기본 설치 작업에 필요한 바이너리와 프로젝트등은 모두 GitHub를 통해서 얻게 되므로 로컬 머신에 Git 가 설치되어 있어야 하며 아래의 모든 명령들은 Git Bash 를 기준으로 한 것이다. 필요 도구 설치 로컬 머신에 단일 CoreOS 를 구성하는 작업을 먼저 진행하기 위해서는 다음과 같은 도구의 설치가 필요하다. VirutalBox 4.3.10+ or VMWare Vagrant 1.6+ Vagrant를 사용해서 CoreOS 설치를 하기 위한 프로젝트를 복제한다. $ git clone https://github.com/patrickhoefler/coreos-vagrant-kubernetes $ cd coreos-vagrant-kubernetes VM에 CoreOS 구성 VM을 구성하는데는 아래와 같이 2 가지 프로바이더가 존재한다. Vagrant의 내부 처리 명령도 프로바이더에 따라 다르기 때문에 사용할 툴에 따라서 프로바이더 정보를 설정해야 한다. 기본으로 VirtualBox 프로바이더를 사용한다. 아래와 같이 vagrant up 명령이 실행되면 CoreOS 이미지를 다운로드하고 VM에 Guest OS로 설치를 진행한다. 이미 구성된 경우라면 VM을 실행시키는 명령을 처리한다. Notes 더 다양하게 CoreOS 이미지에 대한 채널 (Alpha, Beta, Stable) 을 설정하거나, SSH 구성 정보나, VM의 갯수 및 메모리 크기를 변경하려면 Vagrant에서 제공하는 config.r