목록전체 글 (237)
devops
Calicokubespray로 클러스터를 구성하면 default CNI로 Calico가 셋업된다. 현재 회사에 구성된 클러스터에 사용되는 CNI만큼, 한번 살펴보려고 한다.요즘 Cilium에 대한 언급이 많은데, Cilium은 eBPF 기반으로 L7 네트워크 정책과 보안에 특화되어있어, 고성능 및 세분화된 보안 정책이면 Calico는 Linux 커널의 L3 라우팅 기반으로 BGP(Border Gateway Protocol)을 활용하여 주로 대규모 클러스터 환경에서 기본적인 보안 정책을 지원하며 성능 최적화도 뛰어나다고 알려져있다. Calico는 Tigera라는 회사에서 개발했으며, 아래 공식 문서를 참고하면 좋다.쿠버네티스 워크로드와 레거시 워크로드가 원활하고 안전하게 통신할 수 있게하는 네트워크 솔루션..
Lava NetworkLava Network는 탈중앙화된 RPC 프로바이더 플랫폼이자, 블록체인 데이터 서비스를 위한 마켓플레이스를 구축하고 있다. 이를 통해 Infura, Alchemy, AllThatNode와 같은 기존의 RPC 및 API 인프라 제공자뿐만 아니라, 개인이 직접 운영하는 RPC 노드도 탈중앙화된 네트워크를 통해 클라이언트에게 서비스를 제공할 수 있다.Lava network는 Cosmos SDK 기반으로 구현되었으며, 현재 이더리움, 폴리곤, 솔라나 등 30여 개 이상의 블록체인에 대한 RPC 서비스를 지원한다.Lava Network에는 크게 서비스 사용자(Customer), 서비스 제공자(Provider), 그리고 네트워크의 검증자(Validator)라는 세 가지 주요 주체가 있다. ..
service block은 port와 health check 등 job의 네트워크 서비스 디스커버리 및 헬스체크에 사용되는 것으로 provider의 기본 default값이 consul로 되어있다.그래서 nomad를 consul과 통합하여 사용하지 않는다면 아래와 같이 service의 provider에 nomad를 지정할 필요가 있다. service { name = "arbitrum-one" port = "http" tags = ["http"] provider = "nomad" check { type = "tcp" port = "http" interval = "10s" ..
Nomad는 내가 보기엔 아주 유용한 오케스트레이션 툴이지만, 국내에는 자료가 많이 없다. 직접 Nomad로 현재 운영 중인 베어메탈 서버에 Arbitrum full node를 배포해보는 테스트를 진행하려 한다. 그 과정에서 간단한 개념도 정리하려함.Nomad installwget -O- https://apt.releases.hashicorp.com/gpg | sudo gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpgecho "deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_release -cs..
하시코프의 Nomad는 Kubernetes에 비해서 간단하며, 다양한 워크로드를 지원, 지속가능한 배포와 확장성이라는 장점을 가진 오케스트레이션 툴이다.내가 현재 몸담고 있는 회사에선 여러 베어메탈 서버와 컨테이너들을 운영하고 있고 Disk 사이즈도 TB 단위로 사용하는 워크로드가 많다. 이런 조건에선 Kubernetes는 적합하지 않다. Kubernetes를 사용하면 자칫 노드당 하나의 컨테이너만 돌려야할 수 도 있고 바이너리로 실행되는 어플리케이션은 매니징하지도 못한다.오케스트레이션에 있어 가장 중요한 기능은 리소스를 효율적으로 관리하는 스케쥴링(Scheduling)이라 생각한다. Nomad의 스케쥴링은 어떤 방식으로 진행되고 어떤 요소들이 있는지 살펴보자.Nomad Scheduling Concept..
스마트 컨트랙트를 지원하는 대부분의 체인들이 Account 모델인 web3 업계에서, 카르다노는 UTXO 모델을 확장한 EUTXO 모델을 개발하여 새로운 기술과 유스케이스를 만들어가고 있다.비트코인의 UTXO 모델은 단순히 balance의 전송만 가능하지만, 카르다노는 datum, redeemer, context와 같은 구성요소를 접목해 스마트 컨트랙트에 필요한 조건과 검증 매커니즘을 구현했다.UTXO 기반에서 트랜잭션의 실행과 스마트컨트랙트의 작동이 어떤 방식으로 이뤄지는지 살펴보려한다. EUTXOEUTXO는 UTXO 모델의 확장버전으로, 'UTXO model + Expressiveness of programmability '이다. 비트코인에서도 간순한 스크립트를 지원하는 데, 카르다노에서는 더 확장된..
CIP-14, CIP-25, CIP-27, CIP-68는 카르다노의 개선 제안(CIP)에서 token으로 분류되는 것으로, 모두 active 상태기 때문에 알아두면 카르다노 Native token의 표준을 이해하는데 도움이 된다. 간단히 하나씩 살펴보면, CIP-14: 발행되는 네이티브 토큰을 식별하는 고유값인 'Asset Fingerprint'를 도입하는 것 CIP-25: 네이티브 토큰의 메타데이터 표준을 정의 CIP-27: 메타데이터를 이용해 세컨 마켓의 로열티 배분 관련된 표준을 정의 CIP-68: CIP-25의 메타데이터 표준의 한계를 해결하는 것으로, 메타데이터를 위한 reference NFT를 도입 CIP-0014 User-Facing Asset Fingerprint asset_fingerpr..
Cardano Improvement Proposal 이더리움에 EIP(Ethereum Improvement Proposals)가 있듯이, 카르다노에도 CIP(Cardano Improvement Proposals)라는 카르다노 개선 제안 프로세스가 있다. EIP와 동일하게 CIP도 카르다노 생태계 프로세스와, 환경에 대한 변경 및 제안 사항을 간결하게 기술적 내용들을 설명하는 문서다. 카르다노는 이더리움보다 뒤늦게 시작한 프로토콜이기에, CIP가 80여개 밖에 되지않는다. 카르다노에 대한 기술적인 혹은 구조적인 내용들은 쉽게 접하기 힘든데, 이 80개의 CIP만 확인하더라도 카르다노의 지갑과 원장, 토큰에 대한 기술적 지식은 쉽게 쌓을 수 있다고 생각한다. CIP-1에 목적과 구조, state와 프로세스,..
블록체인 네트워크를 안정적으로 유지하기 위해서 가장 중요한 요소 중 하나는 보상 메커니즘이라 생각한다. 카르다노는 Proof of Stake 방식을 활용하기 때문에, 보상 매커니즘을 적절히 유지하기 위해 $ADA 의 인플레이션, Pledge, 최대 스테이킹 지분을 조절할 수 있는 포화도(k), Treasury 배분 정도 등 여러 파라미터가 사용된다. 스테이킹 풀이 블록을 생성해서 받은 보상은 위와같은 로직으로 이루어진다. 이 글에서 살펴볼 것은 아래와 같이 보상에 영향을 주는 파라미터로 결정되는 요소들이다. ADA Reserve ADA Treasury Pldege Influence Factor Stake Pool Saturation 스테이킹 풀에 분배되는 보상의 원천은 위와 같이 트랜잭션 수수료(Tran..
블록체인 네트워크의 핵심이자, 중요한 기술은 노드 간의 높은 보안과 효율을 보장하는 합의 알고리즘이라고 생각한다. 카르다노는 Ouroboros 합의 알고리즘을 자체 개발했으며, 기술 수준이 아주 뛰어나다고 알려져 있으나 쉽게 기술된 자료가 없어서 정리해보려 한다. 우선 합의 알고리즘의 시작인 비트코인의 PoW(Proof of Work) 합의 알고리즘에서부터 Ouroboros 까지 탄생한 과정과 개념에 대해서 간단히 정리해 보자. Bitcoin Consensus Algorithm 비트코인은 Public Permissionless Distributed Ledger로, 누구나 허가 없이 참여할 수 있는 네트워크다. 이 네트워크가 공유하는 두 가지 펀더멘탈 속성(Fundamental Property)는 Safe..