전체 글
-
K3S로 프로젝트 구성하기 - 6DevOps/K8s 2023. 6. 8. 22:40
빌드,이미지 생성, 배포시 슬랙 메시지 적용 1. 젠킨스 적용 1-1 슬랙 접속 아래 앱에서 앱추가를 클릭하여 Jenkins를 입력한다. 앱을 추가해준다. 원하는 채널에 추가한다. 이후 페이지에서 Integration Token Credential ID 를 복사한다. 1-2 젠킨스에 슬랙 플러그인 설치 1-3 젠킨스에 슬랙토큰 입력 이전에 복사한 토큰 정보 입력 1-4 젠킨스 설정에 슬랙 정보 설정 1-5 프로젝트에 슬랙알림 설정 advance를 눌러서 커밋 내용과 추가 정보를 설정할 수 있다. 프로젝트가 현재 두개로 생성 되었기때문에 둘다 설정해준다. 빌드시 다음과같이 메시지 알림이 오는지 확인해본다. 2. argoCD 적용 2-1 슬랙에 새로운 앱 만들기 https://api.slack.com/ap..
-
K3S로 프로젝트 구성하기 - 5DevOps/K8s 2023. 6. 8. 22:34
1. ArgoCD로 k8s 자동 배포 1-1 레포등록 ( 깃 허브에서 도커 이미지레포를 별도로 생성했다. ) https://github.com/JEONSEUNGREE/ecommerce-image-k3s GitHub - JEONSEUNGREE/ecommerce-image-k3s: ecommerce-image-k3s ecommerce-image-k3s. Contribute to JEONSEUNGREE/ecommerce-image-k3s development by creating an account on GitHub. github.com 1-2 ArgoCD 어플 생성 배포 전략은 자동 혹은 수동으로한다. (원하는 방식으로) 아래 네임스페이스는 미리 생성해둬야한다. 어플리케이션 이름은 대문자사용 불가이다. 마스..
-
K3S로 프로젝트 구성하기 - 4DevOps/K8s 2023. 6. 8. 18:54
1. 젠킨스로 스프링 자동 빌드 1-1 스프링부트 프로젝트 생성(3.X) intellij 혹은 https://start.spring.io/ 에서 스프링 프로젝트 생성 디펜던시는 자주 사용하는 lombok, web, devTool로만 사용하였다. (스프링 부트 3.X부터 빌드시 jdk가 17이상이어야한다. 이에 따라서 2.X와 설정이 조금 다르다) 테스트용 컨트롤러 생성 yaml파일에 서버 포트 지정 깃허브에 dev 브랜치에 commit, push 한 후 확인 1-2 젠킨스 로그인 후 플러그인 설치 3가지 (github, post build, gradle) 설치할 플러그인은 Dashboard -> Manage Jenkins -> Plugin Manager -> Available Plugins 에서 검색후 ..
-
k8s 트러블 슈팅 - Failed to create pod sandboxDevOps/K8s 2023. 6. 8. 17:46
calico-node 인증만료 문제 Failed to create pod sandbox: rpc error: code = Unknown desc = failed to setup network for sandbox "9a156e211630d14eb7488c4f2236b76a8f034b20fef7541dd25edd0e5b09d204": plugin type="calico" failed (add): error getting ClusterInformation: connection is unauthorized: Unauthorized 아래 파드를 전부 제거해준다. 인증문제로 calico 사용 인증이 만료되서 발생한다고 한다. 인증이 만료되면 지속적으로 발생할텐데 좀 더 확인 해봐야할것같다. // system 네임..
-
K3S로 프로젝트 구성하기 - 3DevOps/K8s 2023. 5. 23. 23:10
1. 로컬 PC를 NFS 설정 하기 (Multipass NFS용으로 추가생성하여 설정가능) // 로컬 PC에 nfs 서버 구성 - multipass로 새로 생성하여 사용 가능 sudo apt install nfs-kernel-server // 공유할 디렉토리 생성 sudo mkdir /sharedir/k8s // 권한 부여 sudo chmod 777 /sharedir/k8s // 공유 디렉토리 목록에 추가 sudo vi /etc/exports // 맨 아래 다음 줄 추가 (아이피는 master-node 아이피) /sharedir/k8s 10.199.74.0/24(rw,sync,no_subtree_check) // 디렉토리 내보내기 및 재시작 sudo exportfs -a sudo systemctl res..
-
K3S로 프로젝트 구성하기 - 2DevOps/K8s 2023. 5. 23. 00:33
로컬 우분투 서버 -> VM 우분투 서버로 요청 ( 노드 포트 사용 ) VM 우분투 서버 -> 로컬 우분투 서버로 응답 노드포트로 서비스를 생성하면 설정된 노드포트를 통해서 어떤 노드 아이피의 포트로 요청해도 생성된 파드로 가는 단일 진입점으로 만들수 있다. 예 ) 하나의 클러스터 즉 마스터와 워커 노드들 중 아무 노드에게 노드 포트에 설정된 포트로 요청을 보내면 설정된 서비스 파드로 응답해준다. 외부 접속시 공유기 dhcp를 막기위해서 서버 아이피는 공유기를 통해 mac 주소를 등록하고 고정아이피로 설정해둔다. 1. 구조 2. 로컬 PC에서 VM 서버로 포트 포워딩 nginx 설정 예시 현재 로컬 우부툰 서버에 도커로 nginx를 설치한 뒤 l4 역할을 부여한다. 도커는 네트워크를 호스트로 사용한다. ..
-
K3S로 프로젝트 구성하기 - 1DevOps/K8s 2023. 5. 20. 15:51
구성하고자 하는 환경 위처럼 설계하고 진행하려고 한다. 실제로 같은 종류의 자원이 허용되는 범위내에서 인스턴스 갯수는 줄이거나 늘일수있을것같다. 1. 프로세스 1.1 개발자가 프로젝트 코드를 수정 한후 깃허브에 commit, push 1.2 젠킨스 또는 깃허브 액션을 통해서 도커이미지를 생성 후 docker hub에 push (서버 자원이 넉넉하다면 깃랩과 하버를 설치하여 전체적으로 온프레미스 환경으로 구성할수있다.) 1.3 argoCD를 통해서 관련 pod를 배포한다. 1.4 배포시 K3S를 통해서 생성된 노드중 하나에 배포된다. Storage는 로컬 저장소를 NFS를 만들어 PV,PVC를 구성한다. 2. K3S 구성하기 https://heehee-myblog.tistory.com/5 Kubespray..
-
[알고리즘] 신고결과받기Algorithm 2023. 5. 18. 00:08
// 신고결과받기 //https://school.programmers.co.kr/learn/courses/30/lessons/92334 // 주의해야할점 // contains사용시 frodo에 frodo frod fro등이같이 선택됨 import java.util.Arrays; import java.util.List; import java.util.HashSet; import java.util.LinkedHashMap; import java.util.stream.Collectors; class Solution { public int[] solution(String[] id_list, String[] report, int k) { int[] answer = new int[id_list.length]; Li..