블로그

일코

첫 포스팅을 작성해봅니다.

안녕하세요?반갑습니다. 일코입니다.이 블로그에서는 제 강의에서 미흡했던 일부 설명을 보충하는 포스팅을 틈틈이 적어보려고 합니다.제 아래아한글 강의에서는 통합개발환경으로 파이참이라는 프로그램을 활용하고 있습니다.파이참에는 유용한 단축키가 참 많지만, 그 중에도 제가 가장 많이 사용하는 단축키는Shift-Alt-E 입니다. 커서가 위치한 라인, 또는 선택한 라인들을 콘솔에 보내서 실행해주는 기능을 합니다.업무자동화 특성상 한/글이나 엑셀, 혹은 브라우저를 같이 열어놓고코드 한 줄 한 줄의 결과를 즉시 확인할 수 있기 때문에 아주 유용하게 쓰입니다.강의 영상에도 대부분 파이참을 화면 왼쪽에, 한/글이나 엑셀을 화면 오른쪽에 분할해서 띄워놓고코드를 일부 작성한 후에 실행하고 싶은 라인만 선택한 후에 Shift-Alt-E를 통해 결과를 확인합니다.보조모니터 없이 14인치 노트북으로 강의안을 만들기 때문에오밀조밀하게 작은 화면에서 이것저것 하려다 보니 이런 작업환경을 만들게 되었습니다. 제 강의를 따라하시는 여러분들도 한쪽에는 강의안을다른 한쪽에는 파이참과 한/글(또는 엑셀)을 띄워놓고 저와 비슷한 화면에서 작업하시면,실습하기 더욱 수월하실 겁니다. 이번 포스팅은 여기서 마치겠습니다. 

업무 자동화일코회사원코딩일상의코딩아래아한글업무자동화파이참작업환경분할실행방법실습

이효정

Jenkins Pipeline (기초부터 Blue/Green 까지)

0. New view 만들기✅이전 작업 [새 보기] 만들어서 정리해 놓기✅[새 보기] 만들기 1. Jenkins Pipeline 기본 구성 만들기 (Step 1) - 2211✅Pipeline scriptDOCKERHUB_USERNAME과 GITHUB_USERNAME에 hyojung-leona 넣기✅Github에서 deployment.yaml 파일의 Image 수정image에서 1pro/api-tester:v1.0.0를 wnnsla09/api-tester:v1.0.0로 수정✅소스 빌드 Jenkins Pipeline 구조 이해 정리Agent- agent any : 사용가능한 에이전트에서 파이프라인 Stage를 실행, Master나 Salve 아무곳에서나 Stage가 실행- agent label(node) : 지정된 레이블(노드)에서 Stage가 실행- agent docker : Docker 빌드를 제공해주는 Agent 사용- agent dockerfile : Dockerfile 을 직접 쓸 수 있는 Agent 사용 2. Github 연결 및 파이프라인 세분화 (Step 2) - 2212✅2-1) item name 입력 및 Pipeline 선택✅2-2) [저장] 후 [지금 빌드] 실행 (이때는 파라미터가 없어서 실행되지 않는다)✅2-3) [파라미터와 함께 빌드] 선택 후 본인의 DockerHub와 Github의 Username 입력 후 [빌드] 실행✅tage View 결과 확인 ​3. Blue/Green 배포 만들기 및 특징 실습 (Step 3) - 2213✅3-1) item name 입력 및 Pipeline 선택   ✅3-2) Configure > Additional Behaviours 및 Script Path 수정 후 저장 ✅3-3) Master Node에서 version 조회 시작✅[Green 전환] yes 클릭 및 version 2로 버전 변경 확인✅3-4) 롤백 여부 선택  4. Blue/Green 자동 배포 Script 만들기 (Step 4) - 2214 ✅4-1) configure > Additional Behaviours 및 Script Path 수정 후 저장 ✅4-2) Master Node에서 version 조회 시작✅4-3) 진행 과정 확인✅4-4) Green 배포 확인 v2.0.0으로 변경 확인

데브옵스 · 인프라학습기록데브옵스쿠버네티스실습파이프라인오늘좀힘들다그래도실습까지꼼꼼하게하..

이효정

Application 기능으로 k8s 이해 - Probe

Application 기능으로 k8s 이해 - Probe에 대해 학습해 보자! pod안에 probe설정 3가지 : startupProbe/ readinessProbe / livenessProbepod가 만들어 지면 probe 기능 동작startupProbehttpGet: path:"/ready" (공통사항) port: 8080 (공통사항)periodSeconds:10successThreshold: 1failureThreshold: 10 (성공, 실패 수치 )10초에 한 번씩 /ready라는 API를 App에 날린다. 그리고 10번을 실패하기 전에 응답이 있으면 성공!성공 후에 쿠버네티스는 startupProbe기능을 중지 시킨다readinessProbe, livenessProbe 기능 동작 시킨다readinessProbehttpGet: path:"/ready" (공통사항) port: 8080 (공통사항)periodSeconds:10successThreshold: 1failureThreshold: 2 (성공, 실패 수치 )10초에 한 번씩 /ready라는 API를 App에 날린다. App이 살아 있는 동안에는 계속 200 ok결과를 리턴성공 외부 트래픽을 pod가 받을 수 있도록 만들어주면서 서비스 활성화 된다livenessProbehttpGet: path:"/ready" (공통사항) port: 8080 (공통사항)periodSeconds:10successThreshold: 1failureThreshold: 2 (성공, 실패 수치 ) 10초에 한 번씩 /ready라는 API를 App에 날린다. App이 살아 있는 동안에는 계속 200 ok결과를 리턴 readinessProbe, livenessProbe 기능 동작 반복앱이 살아있는지 계속 확인만약 2번 실패한다면? 쿠버네티스는 앱을 재기동 시킨다. (동작 예시)Application에는 동작이 있다. 그 동작이 자동화 되길 요구 한다. [초기화 과정-> User 초기화-> 앱 기동]App 초기화(API 받을 수 없는 상태): 초기화 끝냈는지에 대한 App 상태 체크, 외부 API 접근 금지 User 초기화(API 받을 수 있는 상태): App이 살아있는지에 대한 App 상태 체크, 외부 API 접근 금지 App 기동App이 살아있는지에 대한 App 상태 체크, 외부 API 접근 허용 쿠버네티스 제공 기능 [출처: 인프런 - 쿠버네티스 어나더 클래스 ]livenessProbe 성공하면 startupProbe 중지 -> livenessProbe, readinessProbe 기능 활성화 -> livenessProbe는 설정된 API 호출-> 만약 (실패)--->장애라고 판단하고 pod 재기 readinessProbe여전히 Service를 Pod에 연결하고 있지 않음 -> 연결 성공 -> 쿠버네티스가 Service랑 Pod를 연결 -> 트래픽 들어옴 --> 만약 (실패)---->쿠버네티스는 연결 해제 -> 재연 실습pod를 삭제하고 외부 API 실패app이 초기화 되고 있는 동안에는 실패한다내부 API는 성공!기동 완료 -> 다시 외부 API 날리면 성공!트래픽 중단 - App 내부 isAppReady를 False로 바꿈readinessProbe가 3번 실패하면, Service랑 Pod 연결 해제 & 외부 트래픽 받을 수 없음트래픽 재개 -> App 내부 isAppReady를 True로 바꿈API - 장애발생 (App 내부 isAppLive를 False로 바꿈) & 재기동

데브옵스 · 인프라쿠버네티스Probe데브옵스공부열정실습아자아자화이팅

채널톡 아이콘