Istio 란 무엇일까 Istio는 마이크로서비스 간 데이터 공유를 제어하는 기반을 제공하는 오픈소스 서비스 메쉬 플랫폼 로깅 플랫폼, 텔레메트리 또는 정책 시스템으로 통합하도록 지원하는 API포함 온프레미스, 쿠버네티스 컨테이너, 가상 머신 등 다양한 환경에서 구동됨 Istio 구성하기 curl -L https://istio.io/downloadIstio | sh - cd istio-1.10.2 export PATH=$PWD/bin:$PATH Istio namespace생성하기 apiVersion: v1 kind: Namespace metadata: name: istio-system labels: istio-injection: disabled 다음과 같이 istio-namespace.yaml파일을 생성..
새로운 빈 프로젝트 생성 Kubernetes 클러스터와 연결 메뉴바 -> [Infrastructure] -> [Kubernetes clusters] -> [Connect existing cluster] Kuberbetes cluster name kubectl get nodes -o wide cmd에 다음과 같은 명령어를 입력하여 cluster의 이름을 얻는다 Environment scope Gitlab Docs Group-level Kubernetes clusters | GitLab Documentation for GitLab Community Edition, GitLab Enterprise Edition, Omnibus GitLab, and GitLab Runner. docs.gitlab.com Pro..
로컬 컴퓨터의 ssh-key 생성 ssh-keygen cat ~/.ssh/id_rsa.pub 원격저장소에 복사한 ssh-key 등록 [Edit Profile] - [SSH Keys] - [Add an SSH key] 원격저장소와 로컬컴퓨터 동기화 셋팅 git config --global user.name "이름" git config --global user.email "이메일" mkdir 프로젝트이름 cd 프로젝트이름 git init touch README git add README git commit -m 'first commit' git remote add origin git@gitlab.com:demun/저장소이름.git git push -u origin master
https 로 url을 정하고 설치시 gitlab-ctl 가동작되는 동안 에러가 있다는 메세지가 뜨며 설치가 완료되지 않는다 letsencrypt 설치하기 apt-get install -y letsencrypt letsencrypt --version #certbot 0.40.0 인증에 사용 할 설정 추가하기 vim /etc/gitlab/gitlab.rb letsencrypt['enable'] = true # GitLab 10.5 and 10.6 require this option external_url "https://gitlab.example.com" # Must use https protocol letsencrypt['contact_emails'] = ['foo@email.com'] # Optiona..
sudo apt-get update sudo apt-get install -y curl openssh-server ca-certificates tzdata perl sudo apt-get install -y postfix curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash sudo EXTERNAL_URL="https://gitlab.example.com" apt-get install gitlab-ce https 프로토콜을 사용할 것이라서 letsencypt 관련 에러가 났다. gitlab은 https를 사용하게되면 자동적으로 letsencrypt 에 요청한다 Running handle..
workflows & pipelines continuous delivery rollouts events Argo Workflows는 Kubernetes에서 병렬 작업을 조정하기위한 오픈 소스 컨테이너 네이티브 워크 플로 엔진입니다. Argo Workflows는 Kubernetes CRD로 구현됩니다. 쿠버네티스용 선언적 GitOps 지속적 배포 도구 Argo Rollouts는 고급 배포기능을 쿠버네티스에 제공하는 컨트롤러 및 CRD임 쿠버네티스를 위한 이벤트 기반의 의존성 관리자임 참고: 공식홈페이지
서버 가상화 및 클라우드는 네트워크 트래픽의 급속한 증감 및 변경을 초래함 네트워크를 가상화하고 네트워크 구성과 기능 설정 등을 소프트웨어로 프로그래밍할 수 있게 만들어줌 => 기존 네트워크가 장비마다 가지고 있던 통신의 전송 기능(데이터 플레인)과 제어 기능(컨트롤 플레인)을 분리하여, 제어 기능을 컨트롤러에 논리적으로 집중시켜 데이터의 흐름을 소프트웨어로 정의함 1.서버 가상화와 마찬가지로 물리적 네트워크가 추상화되므로, 하나의 물리적 네트워크 위에 컨트롤러 별로 여러 개의 가상 네크워크를 구축할 수 있음 2.네트워크 장비의 아키텍텨가 수작 통합형 아키텍터에서, 각 기능별 레이어를 분리해서 오픈형 인터페이스로 연결하는 아키텍쳐로 바뀌고 있음 3.네트워크 장비는 컨트롤러가 집중적으로 제어하게 되며, 기..
[DevOps] 개발과 운영이 함께 협력하여, 완성도 높은 소프트웨어를 더욱 신속하게 만들어가는 문화 old) 개발 부서 - 고객의 니즈에 부응하는 최신 어플리케이션과 서비스를 빠르게 제공하길 원함 운영 부서 - 고객에게 불편을 끼치지 않는 안정적인 운영 new) 새로은 서비스의 빠른 시장 투입이 요구되고 있어, 개발과 운영의 콜라보레이션이 중요시 되고 있음 ☆배경 1.개발 방법 => 서비스의 전체 그림 안에서 결정된 부분을 먼저 개발해서 배포하는 개발 속도 우선적인 방법 => 애자일 2.클라우드 => 애플리케이션 개발/운영환경을 지원하는 PaaS 서비스와 컨테이너 서비스가 완비되었기 때문 3.자동화 =>많은 수의 서버를 소규모 인원으로 운용할 수 있게되어, 운영 부서의 리소스를 개발 부서로 이전하고 있..
공통의 이벤트 데이터 포맷을 정의하는 스펙: 플랫폼, 시스템, 서비스에 상관없이 이벤트 데이터를 전송할 수 있음 CloudEvents는 일반적인 방식으로 이벤트 데이터를 설명하기 위한 툴임 지속성 이벤트를 설명하는 일반적인 방법이 없기 때문에 개발자는 각 이벤트 소스에 대해 새로운 이벤트 처리 논리 작성 접근성 공통 이벤트 형식이 없다는 것은 여러 환경에서 이벤트를 데이터를 제공하기 위한 공통 라이브러리, 도구 및 인프라가 없음을 의미함. CloudEvents는 이벤트 라우터, 추적 시스템 및 기타 도구를 빌드하는데 사용할 수 있는 Go, Python, javascript, C#, Ruby 용 SDK를 제공함 이동성 참고: 공식홈페이지