DevOps

    [Ansible] YAML에서의 multiline - 1

    Intro Ansible playbook을 생성하면서 자주사용하는 부분에서 YAML 형식에서의 multiline을 작성하는 법입니다. 글쓴이는 흔히 ansible.builtin.shell과 lineinblock을 사용할 때 많이 사용하고, YAML에서의 multiline이 궁금해서 찾아보다가 좋은 내용이 있어서 정리겸 공유합니다. (영문 블로그를 번역에는 오역이 있을꺼같아서 전체적인 예제를 소개하는 형식으로 포스팅합니다.) 예제에서 실행되는 base playbook은 ansible-playbook -v playbook.yml 을 실행하고 변수를 각 해당하는 style로 대체하는 형식입니다. playbook.yml --- - hosts: localhost connection: local vars: my_p..

    [k8s]Kubernetes Volume - nfs구성 in GCE

    아키텍쳐 현재 제가 Test하고 있는 GCE에서 kubeadm을 이용하여 구성한 kubernetes 환경입니다. Kubernetes Volume - nfs Kubernetes는 다양한 Volume을 지원합니다. 대표적으로 emptyDir, hostPath, AmazonEBS... 이번에는 흔히 볼 수 있는 NFS로 볼륨을 구성하여 파드간의 통신과, 데이터 백업을 할 수 있는 환경을 구성하였습니다. 현재 저는 GCE에서 "kubeadm"을 사용하여 Master-node(Control plane)과 2개의 worker-node를 구성하였습니다. 이번 실습에서는 추가적으로 NFS Server를 할 수 있는 GCE instance를 생성하여 테스트하였습니다. GCE에서 instacne 생성 gcloud sdk ..

    [k8s]local에서 kubectl로 GKE 사용 소소꿀팁

    kubectl? kubectl의 정의에 대해서 공식문서를 참조하면, Kubectl은 쿠버네티스 클러스터를 제어하기 위한 커맨드 라인 도구이다. 구성을 위해, kubectl 은 config 파일을 $HOME/.kube 에서 찾는다. 라고 적혀있습니다. 즉, 클러스터가 local에서 구동되는지 Cloud Computing으로 구동되는 Cluster인지 설정이 가능합니다. 현재 저는 MacBook Pro 13 (2 GHz Quad-Core Intel Core i5, 16 GB 3733 MHz LPDDR4X)로 kubernetes를 local로 3개이상의 노드 구성에 조금 힘든점이 있어서 GKE를 사용중입니다. (돌아가긴하지만.. Fan도 같이 돌아가는 아주 멋진 현상🏇) kubectl에는 context가 있습..

    [k8s] kubernetes는 YAML 친화적입니다. `yq`를 사용해서 데이터 파싱, Solve Error "mapping values are not allowed in this context"

    JSON(JavaScript Object Notation) 데이터 포맷은 가장 널리 사용되고, 아주 강력합니다. 하지만 kubernetes에서 JSON보다는 YAML을 사용해 구성파일을 작성하거나, describe 명령의 출력물 자체도 YAML 포맷을 띄고 있습니다. YAML에서는 jq가 아닌 yq JSON 포맷을 지원하는 보통에서는 jq 커맨드라인 유틸리티를 많이 사용합니다. JSON 데이터에서 필요한 정보를 추출하거나 변형하기 위해서 프로그래밍 언어에서는 데이터 파싱 + 조작의 번거로운 과정을 거치지만, jq에서는 간단하게 커맨드라인을 통해 작업이 가능합니다. 많이 사용되는 jq 문법의 기초를 다질 수 있는 부분은 다음 글을 참조하면 좋습니다. 👉44bits - 커맨드라인 JSON 프로세스 jq 하지..

    [Docker] Github Container Registry Open!!

    작년 9월 1일에 베타버전을 진행했던게 (소식만 알고있었다.....ㅇㅅㅇ) 오늘 오랜만에 Github을 가보니 정식지원을 하게된것같다. 관련 Officail Github Docs도 있고, GItub에서 새로운 오픈을 맞이하듯 profile창에 파란색 알림이 떴다. 예전에 (요즘 아주 많은 도움을 받고 있는 사이트)44bits에서 소개한 글에 대한 링크를 남긴다. 깃허브 컨테이너 레지스트리(GitHub Container Registry) 베타 오픈 및 사용법 깃허브(GitHub)에서는 9월 1일 새로운 컨테이너 이미지 저장소 깃허브 컨테이너 레지스트리(GitHub Container Registry)를 발표하였습니다. 깃허브에서는 이미 깃허브 패키지 레지스트리 서비스를 통해 www.44bits.io 개인적으..

    [Docker] Docker Image Stored Path / Docker.raw?

    Ubuntu: /var/lib/docker/ Fedora: /var/lib/docker/ Debian: /var/lib/docker/ Windows: C:\\ProgramData\\DockerDesktop MacOS: ~/Library/Containers/com.docker.docker/Data/vms/0/ Docker Image Layer를 확인할 때 필요하다. (일단 현재까지는!) Linux에서의 Docker Image Layer가 설치되는 것과 MacOS에서는 달랐다. 즉, 참조중인 44bits.io - 만들면서 이해하는 도커(Docker) 이미지의 구조에서의 Linux 환경에서 Image Layer Test는 다음과 같았다. $ pwd /var/lib/docker/image/overlay2/lay..