PaaS 221

Docker Garbage 삭제 Docker Prune

$ docker system prune [옵션] 옵션 short 설명 --all -a dangling 상태 뿐만아니라 미사용 Image 모두 삭제 --filter 1.28 API 버전이상. 필터리 사용 (label==) --force -f 프롬프트에 확인 질문 안함 --volumes 익명 볼륨 삭제(아무 컨테이너도 사용하지 않는) 옵션이 없을때 기본적으로 지우는 내용은 모든 멈춘 컨테이너 누구에게도 사용되지 않는 네트워크 누구에게도 사용되지 않는 이미지 빌드시 사용한 Cache 일부 리소스만 지우고 싶을때 $ docker builder prune $ docker image prune

PaaS/Kubernetes 2024.01.17

특정 NameSpace에서 특정 상태의 Pod를 지우고 싶을때

가끔, Pending된 Pod 녀석들을 한꺼번에 지우고 싶을때가 있다. 근데 특정 NameSpace에서 말이다. 그럴때는 아래와 같은 CLI를 사용한다. $ kubectl get pods -n [네임스페이스 이름] | grep [지우고싶은 상태] | awk '{print $1}' | xargs kubectl delete pod -n [네임스페이스 이름] 위 처럼 해도 되고 field selector 조건을 붙여도 된다. $ kubectl delete pod -n [네임스페이스] --field-selector status.phase=[삭제할상태]

PaaS/Kubernetes 2024.01.04

Kubernetes 인증서 만료시 갱신방안

kubectl 을 돌렸더니 아래와 같이 인증서가 만료되었다는 안내가 나온다. Unable to connect to the server: x509: certificate has expired or is not yet valid: current time 2024-01-05T06:06:24+09:00 is after 2023-12-23T12:35:45Z kubeadm 으로 인증서 현황을 조회하면 아래와 같다. $ kubeadm certs check-expiration 우선 kubernetes 관련 주요 설정을 백업 해두자. $ cp -pr /etc/kubernetes/ /etc/kubernetes_backup 간단히 한꺼번에 인증서 갱신이 가능하다. $ kubeadm certs renew all Kubectl..

PaaS/Kubernetes 2024.01.04

Github Actions) Github-hosted와 self-hosted runner의 차이점

Github-hosted Runner는 간단하고 빠르게 Workflow를 운영할 수 있다. 반면에 self-hosted Runner는 당신의 환경에 맞추어 커스터마이징할수 있는 여지가 많다. GitHub-hosted runners Github으로부터 관리되는 가상환경이며 매 Job 실행마다 Clean한 인스턴스가 제공된다. 무료로 제공되는 몇분이 있고 그이후에는 분단위로 과금된다. Self-hosted runners Runner에 대한 업데이트는 비활성화하면서도 Runner 어플리케이션만 자동업데이트를 하게된다. 이러한 Runner S/W 업데이트에 대한 자세한 내용은 이 링크를 참조바란다. 그리고 직접 관리하는 로컬머신이나 Cloud 서비스에서 운영하므로 당신은 해당 OS와 관련 S/W에 대한 책임이 ..

PaaS/CI CD 2024.01.03

(Gitlab) Merge Request시 delete source branch가 체크되어 있는 경우

Gitlab에서 Merge Request시에 아래와 같이 Delete source branch ... 가 체크되어 있는 경우가 있다. 만약 조직의 DevOps 정책이 Merge해도 Branch삭제를 하지 않는것이 정책이라면 사용자 실수를 방지하는것이 중요하다. Default로 Delete Source Branch를 띄우고 싶지 않다면 아래와 같은 세팅을 하는 것이 좋다 . [해당 Project]-[General Settings]-[Merge Request] 에서 Enable "Delete source branch" ... 를 비활성화 한다.

PaaS/CI CD 2023.12.14

Gitlab 의 Project내의 특정 파일을 Access Token 만으로 접근하여 다운로드

Shell 이나 CICD Pipeline을 짜다보면 간단하게 특정 Repository의 Single File만 다운로드 받고 싶을때가 있다. 이럴때 사용하면 유용하다. 1. Gitlab에서 계정에 대한 Token을 만든다. [내 Profile]-[Edit profile]-[Access Token]-[Personal Access Token] ※ Access Token을 복사해두자! 2. 해당 Token으로 API가 정상적으로 호출되는지 테스트한다. $ curl --header "PRIVATE-TOKEN: PUT_ACCESSTOKEN_HERE" "http://gitlab.armyost.com/api/v4/personal_access_tokens" 이때 JSON Type으로 Gitlab 계정에 대한 API 토..

PaaS/CI CD 2023.12.08

Github Actions의 Workflow에서 GCP(Google Cloud Platform) 인증받기

AWS와 거의 유사하게 IAM에서 만든 Account에 OIDC 인증이 가능하도록 세팅하는 구조이다. 관련링크 : https://cloud.google.com/blog/products/identity-security/enabling-keyless-authentication-from-github-actions Enabling keyless authentication from GitHub Actions | Google Cloud Blog Authenticate from GitHub Actions to create and manage Google Cloud resources using Workload Identity Federation. cloud.google.com Github Actions 파이프라인과 샘..

PaaS/CI CD 2023.12.07

증분데이터 처리를 위한 Netflix Maestro와 Apache Iceberg 활용

원문링크 : https://netflixtechblog.com/incremental-processing-using-netflix-maestro-and-apache-iceberg-b8ba072ddeeb Incremental Processing using Netflix Maestro and Apache Iceberg by Jun He, Yingyi Zhang, and Pawan Dixit netflixtechblog.com 개요 - IPS( incremental processing solution )는 Maestro를 기반으로 두 가지 Building Block(새로운 Trigger 메커니즘과 Step Job) 을 추가하여 모든 워크플로에 대한 증분 처리를 지원하는 확장 기능으로 구축되었습니다. 최소한의 O..

PaaS/Data 2023.11.29

(데이터시각화) Tableau Map (지도) 기반 시각화 웹사이트 노출 방법

샘플 대시보드 작성은 이전 포스팅 참조 : https://armyost.tistory.com/448 Tableau Map (지도) 기반 시각화 샘플 Tableau Desktop에서 Sample 데이터를 통하여 지도기반 시각화를 진행해보고자 한다. 1. Tableau Desktop의 데이터 레이어에서 '데이터에 연결'을 클릭한다. 2. '슈퍼스토어-샘플'을 클릭한다. 3. 테이블 - 주 armyost.tistory.com 이제 완성한 대시보드를 WebPage에 표시하는 방안이다. 1. 공유코자 하는 Tableau 대시보드를 들어간다. 2. '공유'를 클릭하여 표시되는 화면에서 '내장 코드 복사'를 클릭한다. 3. 그러면 아래와 같은 HTML 코드가 복사된다. 표시하고자 하는 Frontend 소스에 붙인다...

PaaS/Data 2023.11.27