PaaS 221

(Gitlab) Gitlab yum install 방법, 관리자 비밀번호 초기화

Gitlab 은 Memory최소사양이 4GB입니다. 필자는 AWS EC2 t2.medium 인스턴스로 진행하였습니다. 1. 기본 구성요소 설치 $ sudo yum install curl policycoreutils-python openssh-server 2. gitlab-ce 설치 $ curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash $ sudo yum install gitlab-ce 3. gitlab 서버 정보 수정 후 설정완료 $ sudo vim /etc/gitlab/gitlab.rb ## /etc/gitlab/gitlab.rb external_url 'https://gitlab..

PaaS/CI CD 2022.03.29

(Kubernetes, Jenkins) Docker이미지를 kubernetes 밖에서 빌드할 것인가 kubernetes Jenkins Agent에서 빌드할 것인가

관련링크 https://medium.com/hootsuite-engineering/building-docker-images-inside-kubernetes-42c6af855f25 Building Docker Images inside Kubernetes The Problem medium.com Docker 이미지를 DockerHub등에 Push 하기위해서 Docker Runtime을 사용해야 한다. 이때 1. Jenkins에서 Docker Plugin만을 이용해서 Build하는 방법과 2. Jenkins에서 Kubernetes 노드를 연결하여 WorkerNode에 Agent를 생성하여 Build하는 방법이 있다. 각 방법의 장단점을 이야기 하고자 한다. 1번 방법의 경우 보안이 뛰어나다. 굳이 Kubern..

PaaS/CI CD 2022.02.21

(Gitlab) Gitlab 도메인 설정

Gitlab 로컬 호스트 IP로 서비스하게 되면 보안적인 문제도 있을뿐더러 추후에 IP가 바뀌게 되면 관련 IDE, CI/CD 모듈에서 전체적으로 바뀌어야 하는 불편함이 있다. 따라서 도메인을 설정하여 운영하여 효율을 제고할 필요가 있다. ※ 오픈소스(Gitlab 뿐만아니라 모든)로 작업할 경우 서버의 리소스를 반드시 Hardware Requirement에 충족되는 자원할당 바람 1. 우선 Gitlab 서버의 host에서 변경작업을 수행한다. $ sudo vi /etc/hosts hosts에서 아래의 도메인 설정을 로컬호스트로 등록한다. 필자는 'gitlab.armyost.com'으로 서비스 할 예정이다. 127.0.0.1 gitlab.armyost.com gitlab 2. Gitlab 설정 파일을 변경..

PaaS/CI CD 2022.02.15

(RDBMS) 인덱스에 대해서

인덱스는 이름 그대로 무언가를 빠르게 찾기 위한 색인이다. 즉 테이블 내에서 특정 조건에 대한 검색을 속도를 향상시킨다. Full Scan을 방지하기 위해 사전에 색인하는 것이라보면 되겠다. 다만, 인덱스도 하나의 테이블이기 때문에 인덱스 테이블 스페이스가 필요하다(용량이 소모됨) 우선 Index 방식이 유용한 때와 그렇지 않은 때를 구분하자. Index 방식이 유용한 경우 Row수가 매우 긴 경우 PK, FK 등 완전히 Unique하거나, 값의 분포도가 고른 컬럼이 존재하는 테이블 쿼리의 WHERE 조건에서 자주 참조되는 테이블 큰 테이블에서 적은 데이터 참조가 자주 발생할때 (예, 재직구분에서 휴가 중인 사람을 검색) 다른 테이블과 순차적 JOIN(Nested Join)이 발생하는 경우 랜덤방식의 테..

PaaS/Data 2022.01.25

(JAVA-Jenkins) Java SpringFrameWork Jenkins 파이프라인 With Nexacro

일반 파이프라인 STAGE 1. Maven 빌드 2. War파일(Artifact) WAS 전송 3. Java 컨테이너 Restart Nexacro 추가된 파이프라인 STAGE 1. Nexacro 빌드 2. Maven 빌드 3. War파일(Artifact) WAS전송 4. Nexacro 소스파일 WAS 전송 5. Nexacro 소스파일 Unzip 6. JAVA 컨테이너 Restart 1. Nexacro Generator를 통한 UI소스 Build 및 Nexacro Deploy Server에 업로드* - Gitlab → Nexacro Deploy Server ※ Nexacro Build 스크립트 예시 echo "NEXABUILD START!!!" set PROJECT_NM=armyost_project set..

PaaS/CI CD 2022.01.24

CI/CD 배포 전략 설계시 고려사항

관련링크 : https://d1.awsstatic.com/whitepapers/AWS_Blue_Green_Deployments.pdf 빌드배포 환경의 범위를 결정하는 요소들 요 소 기 준 Application Architecture Dependencies, loosely/Tightly Coupled Organization Speed and Number of Iterations Risk and Complexity Blast radius and impact of failed deployment Teams Expertise of teams Process Testing/QA, rollback capability Cost Operating budgets, additional resources Blue/Green ..

PaaS/CI CD 2022.01.17

(Kubernetes) Platform9의 PMK 란?

1. 제조사 Platform9 란? Platform9은 북미에 본사를 둔 IT회사로 정확한 주소는 800 W. El Camino Real Suite 180 이다. 이 회사는 Kubernetes뿐만아니라 Iaas 이상의 플랫폼을 관리형으로 만들어 주는 솔루션을 갖고 있다. 현재 Product에 소개된 제품은 제품명 제품설명 Managed Kubernetes 퍼블릭 형태의 멀티/하이브리드 클라우드 관리형 Kubernetes Managed OpenStack 퍼블릭 형태의 멀티/하이브리드 클라우드 관리형 OpenStack Managed BareMetal BareMetal Server를 퍼블릭클라우드 노드와 같이 관리할 수 있도록 하는 솔루션 Managed KubeVirt Virtual Machine을 PMK에서..

PaaS/Kubernetes 2021.12.18

(Jira-Jenkins) Jira를 통한 Jenkins 자동빌드 유발

참고URL : https://metleeha.tistory.com/entry/KubernetesIKS%EC%97%90%EC%84%9C-Jira-%ED%99%9C%EC%9A%A9%ED%95%9C-CICD-%ED%8C%8C%EC%9D%B4%ED%94%84%EB%9D%BC%EC%9D%B8-%EA%B5%AC%EC%B6%95%ED%95%98%EA%B8%B044?category=792075 Kubernetes(IKS)에서 Jira 활용한 CI/CD 파이프라인 구축하기(4/4) Kubernetes(IKS)에서 Jira 활용한 CI/CD 파이프라인 구축하기(4/4) Part 4. Jira에서 Gitlab, Jenkins CI/CD 운영하기 Jira Issue에 소스 커밋, 빌드 정보를 업데이트 하고, 워크플로우에서 J..

PaaS/CI CD 2021.11.11

(개념) Ingress Controller 선택방법 Part1, 너의 요구사항을 인식해라

참고 : https://www.cncf.io/blog/2021/10/20/a-guide-to-choosing-an-ingress-controller-part-1-identify-your-requirements/ ●What’s an Ingress Controller? An Ingress controller is a specialized load balancer that manages the Layer 4 and 7 traffic entering Kubernetes clusters, and potentially the traffic exiting them. So that we’re all on the same page, here are the terms we use at NGINX (and they’re l..

PaaS/Kubernetes 2021.10.22