728x90

k8s 19

k8s hpa 적용시 deployment에 replica 빼야됨

현재 진행 프로젝트에서 막바지 작업으로 hpa 적용했는데 hpa를 따로 manifest 파일로 적용하니까 argo에서 sync 깨진다고 하고 정상적이지 않게 표시됨 좀 당연하긴 한데 생각해보면 replica는 고정으로 1로 되고 hpa는 min 값이 존재하니 최소 3으로 지정하면 replica랑 안 맞게 나옴 디플로이먼트의 replica 주석 하니 argo도 정상 replica 기능 자체가 hpa로 이관 되는 듯

k8s 2024.05.21

k8s kaniko pod를 통한 conatinaer image 생성 및 harbor저장소 업로드

k8s 1.24부터 docker를 삭제 함에 따라 더이상 설치시에 도커를 설치 하지 않는다. 문제는 그럴경우 containerd는 이미지를 컨테이너로 실행만 하는 역할을 해서 반대로 이미지를 만들어 낼 수 없다. 그리고 k8s 클러스터를 만들고 ci/cd 파이프 라인을 만드는 일련의 과정중 harbor 저장소에 업로드를 위한 작업이 생각보다 많고 저장소에 정상 업로드 되는지도 확인을 해야 된다. 과거와 다르게 요즘은 https를 많이 쓰다보니 특히 on-premise환경 의 private cloud에서는 https 인증서 문제로 인해 서버 to 서버가 정상적으로 연결 안되는 경우가 많다. harbor 역시 2. 대로 올라가면서 자체 인증서 crt 파일을 다운할 수 있게 제공 하고는 있지만 확실히 귀찮다...

k8s 2023.04.19

caas 시스템 전체 설치 흐름(k8s 1.25 이상)

k8s를 통해 Caas 컨테이너 as 서비스(도커 배제)를 하기 위해 전반적인 설치 흐름만 간략히 기록한다. 1. O/S설치(Ubuntu 18 이상) 2. 기본 세팅 2-1. swap off 2-2. hostname setting 3. container 설치 3-1. containerd 설치 및 세팅(toml 파일에 cgroup 지정) 3-2. cni plugin 설치 및 세팅 4. k8s 설치 4-1. 공개키 설정(공개키 서버 오류 발생시 해당키값 구해서 강제로 변경가능)및 세팅 4-2. apt update 및 설치 버전 확인 및 설치(kubelet, kubeadm, kubectl) 5. k8s 기본 세팅 5-1. 마스터 노드에 kubeadm init(이떄 pod 네트웟 설정 중요 노드 네트웟과 중복안..

k8s 2023.04.18

k8s harbor 비번 주의 사항

k8s에 harbor를 helm 으로 설치하면 굉장히 간편하다 초기 설정시 필요한 value.yaml 파일에 등록을 하고 정상 설치 후 ui 관리자 화면을 통해 관리자 비번을 변경하면 이 정보는 아무래도 db에 저장되는 거 같다 만일 비번 분실하면 value 파일에 기록된 정보는 k8s secret에 환경변수 처럼 기록이 되어 있는것과 달라서 관리가 어렵다 혹시나 하는 마음에 value 값을 변경 후 helm upgrade 를 해도 저 비번 같은 값은 반영이 안된다. k8s 에코 시스템들을 쓰면 관리자의 비밀번호 방식이 다들 제각각이다. 시크릿에 base64로 들어가는 것도 있고 평문 들어 가는 것도 심지어 시크릿에서 db로 들어가는 것도 있고. 오픈소스라서 모라고 하긴 그렇지만 결국 사람이 관리해야 되..

k8s 2023.04.18

gitlab k8s 설치 및 비밀번호 설정

k8s에 설치되는 에코시스들의 경우 초기 마스터 비밀번호 설정이 다 제각각이다.....ㅡ,.ㅡㅋ gitlab의 경우는 gitlab-rails 를 통해 설정한다. k8s 내부 컨테이너 콘솔로 접근후에 gitlab-rails console -e producion => gitlab rails 접근 진입 후 아래 명령어로 수정 (비번에 ' 싱글 쿼텐션 이거 넣었음) user 라는 변수에 1번 root 계정을 지정 후 해당 객체의 비번을 갱신하는 형태임 user = User.where(id:1).first user.password='[원하는 비번]' user.password_confirmation='[원하는비번]' user.save 일단 gitlab을 설치 yml은 아래와 같다. 전제조건은 스토리지클래스가 준비가..

k8s 2023.04.14

k8s공식 gpg 키 서버 500에러 대처법(Google Cloud public signing key 500 error)

일단 당황스럽게 현재 시점 2023년 2월27일 k8s 설치를 위해 공식 가이드 절차 대로 구글 클라우드의 gpg 키를 우분투20에 등록하고 관련 패키지를 다운 받을려는 절차가 공식 절차인데 전주까지 잘 되었는데 sudo curl -fsSLo /etc/apt/keyrings/kubernetes-archive-keyring.gpg https://packages.cloud.google.com/apt/doc/apt-key.gpg 요거 하고 apt list 항목에 구글 패키지 정보를 업뎃해야 되는데 당황스럽게 저게 500을 밷어서 진행이 안되었다.... 검색 해보니까 지금으로 부터 14시간 전에 같은 질문은 github issue로 올라왓고 https://github.com/GoogleCloudPlatform/..

k8s 2023.02.27

metallb k8s버전업에 따른 변경점 및 Load balancer is being provisioned with MetalLB(service load 는 되어도 kind: L2Advertisement 이거 없으면 안됨)

metallb를 가이드에 따라 https://metallb.universe.tf/installation/ kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/v0.13.7/config/manifests/metallb-native.yaml 상기와 같이 설치 하고 1.24 기준 설치 했을때 metallb의 address-pool을 configmap에 정의해서 사용했는데 1.25.에서 정의하고 사용할려고 하니 서비스 type이 load balnacer인 애들이 ip를 매핑을 못하고 pending 에 걸려 있었다 결국 speaker 들이 못받아 오는거 같은데 결국 configmap을 안 보는거 같아서 사이트에 들어가서 config 설정을 보니까..

k8s 2023.02.06

argocd 최초 설치후 cluster unknown 상태

helm을 통해 argo 설치 를 하고 정상 접근 후 제일 먼저 확인 하는 작업이 cluster의 상태를 보는건데 디폴트 cluster는 자기 자신을 바라본다 kubernetes.default.svc 가 주소이고 version 정보와 connection satus 가 나타나는데 이게 연결이 안된것 처럼 unknown 이다....k8s가 1.24인가? 부터 네임스페이스를 만들면 기본으로 만들어주던 account와 secret이 secret은 보안 정책상 더 이상 안말들어준다. 이것 때문인지 굉장히 삽질을 하다가 저 상태가 app 이 아무것도 배포가 안된 상태에서는 저렇게도 표시가 된다고 하여 테스트로 app 배포를 하니 정상으로 나온다.... 구글 검색하다가 어떤 포럼에 저 내용이 있어서 확인을 했다.....

k8s 2023.01.30
728x90