2021/11

    [K8S] 파일(.yaml)에서 문자열 검색 한 후 그 문자열의 라인 넘버 가져오기

    설명은 필요없고 결론만 알고 싶은 분들을 위한 $ sed "$(grep -n 'image:' nginx.yaml | grep -Eo '^[^:]+')s/nginx:1.0/nginx:2.0/g" nginx.yaml 본문의 기능이 필요한 상황 예시 위 이미지는 개발자가 코드를 커밋한 후 자동으로 k8s cluster에 배포되기 까지의 과정을 파이프라인으로 도식화한 이미지입니다. 개발자가 운영 중인 서비스에 새로운 기능을 추가하거나 버그를 수정 했다고 가정해봅시다. 그렇게 될 경우 GitOpsRepo의 있는 컨테이너 이미지의 버전 또한 바꿔주어야 합니다. 그렇게 될 경우 젠킨스에서 GitOps Repo에 push를 할 때 새롭게 만든 컨테이너 이미지의 버전으로 수정해줘야 합니다. 그래야 argoCD에서 git..

    [K8S]unable to fetch the kubeadm-config ConfigMap: failed to get config map: UnauthorizedTo see the stack trace of this error execute with --v=5 or higher 에러

    만약 kubeadm을 통해 master에 node join을 시도할 경우 아래와 같이 오류가 난다면 ubuntu@node:~$ sudo kubeadm join 192.168.241.92:6443 --token 4rlhh1.4dehcs172qy9enyj --discovery-token-ca-cert-hash sha256:b5347bb4959f63e6100142700db4b7d69ea0d860c332265a1748cef29698f814 [preflight] Running pre-flight checks [WARNING IsDockerSystemdCheck]: detected "cgroupfs" as the Docker cgroup driver. The recommended driver is "systemd"..

    [Kubernetes] kubeadm 이용하여 k8s Cluster 배포하기(공식문서 위주)

    AWS EKS 나 GCP GKE를 이용하면 어렵지 않게 쿠버네티스 클러스터를 구축할 수 있지만 퍼블릭 클라우드를 이용하지 않고 온프레미스 환경에서 쿠버네티스 클러스터를 구축하기란 쉬운 일은 아닙니다. (최소 저한테는 ㅜㅜ) 그래서 이번 글에서는 k8s 공식 문서를 보고 온프레미스 환경에서 클러스터를 구축해보겠습니다. 클러스터 구축에 초점을 맞춰서 k8s 와 k8s 내 오브젝트들에 대한 설명을 생략하겠습니다. 또한 마스터 노드와 워커 노드에서 수행할 행위가 다르므로 각 부분마다 표시하겠습니다. 그리고 반드시 진행 순서는 지켜주셔야 합니다. 만약 설치 하시다가 잘못된 느낌이 든다면 kubeadm reset 명령어를 통해 리셋해주시고 다시 진행하시기 바랍니다. 우선 미리 준비되어야 할 환경은 아래와 같습니다...

    [Network] netstat 명령어를 이용한 라우팅 테이블 확인

    https://reboot.co.kr/13.html 1.라우팅 테이블이란 내 PC를 가지고 할수 있는 일은 다음과 같다. 1) 옆자리에 앉아 있는 사람과 IPX로 스타크래프트를 한다. 2) 미국에 있는 마이크로 소프트사의 홈페이지에 접속한다 reboot.co.kr 1.라우팅 테이블이란 내 PC를 가지고 할수 있는 일은 다음과 같다. 1) 옆자리에 앉아 있는 사람과 IPX로 스타크래프트를 한다. 2) 미국에 있는 마이크로 소프트사의 홈페이지에 접속한다. 3) 기타 .. 그렇다면, 어떻게해서 내 PC는 옆자리와 미국의 PC를 구분해서 찾아나가게 되는것일까 ? 옆에있는 PC는 당연히 옆에 있으니까 바로 연결되는것이다라고 생각하는 분은 PC의 마음을 헤아리지 못한것이다. PC는 자신의 라우팅 테이블을 가지고 다..

    [Linux] Add Directory to $PATH in Linux

    When you type a command on the command line, you’re basically telling the shell to run an executable file with the given name. In Linux, these executable programs like ls , find , file and others, usually live inside several different directories on your system. Any file with executable permissions stored in these directories can be run from any location. The most common directories that hold ex..

    [Jenkins] How to use SED in a Jenkins Pipeline

    How to use SED in a Jenkins Pipeline how to use sed in jenkinsfile devopsian.net Have you ever had a task to update a single line in a file? There few utilities to help with that task, and I find sed superior on the alternatives. sed is a stream editor, with which you can modify files. It’s a great utility in your toolbox. If you’re unfamiliar with it, here’s a [link for a quick intro. I had to ..

    [Docker] 컨테이너 설정 오류로 인한 실행불가 상태에서 컨테이너 수정하기

    톰캣 이미지가 설치된 컨테이너를 run으로 실행할 경우 docker run --name tomcat8 -i -t -d -p 8088:8080 tomcat-set1 톰캣이 자동으로 실행되면서 발생한 오류로 Docker 컨테이너가 실행되지 않았다. 아래 명령어로 컨테이너 에러 로그를 열어 보았고 docker logs -t CONTAINER ID 원인은 톰캣 실행시 server.xml에 설정한 경로가 존재하지 않아서 였다. server.xml을 수정해야 하는데 컨테이너 자체가 실행되지 않기 때문에 방법을 고민하다가 결국 구글에 검색해보니 스택오버플로우의 이 글의 답변 중 적절한 해결 방법을 찾았다. 해결방법 컨테이너는 정지 상태에 있지만 안에 있는 파일을 호스트OS로 복사할 수 있었다. 파일을 복사해와서 안에..

    [Jenkins]젠킨스 파이프라인 정리 - Scripted 문법

    보호되어 있는 글입니다.

    [Docker] 컨테이너 시간 변경 방법

    docker 컨테이너 시간바꾸기 -컨테이너 접속 후 # dpkg-reconfigure tzdata - 한국 서울 기준 6(Asia) -> 68(Seoul) 선택 # date로 변경된 시간 확인 후 docker 재시작