Just Do It ! 행동하지 않으면 성공도 실패도 없다

Concourse 를 통한 CI/CD 파이프라인

Concourse 설치 Concourse 설치하는 방법은 여러가지가 있는데, 대표적으로 아래 두가지 방법이 있다. 테스트, 데모, PoC 용도로는 docker-compose를 사용할 수 있으며, 운영 서버로 구성하는 경우 서버에 설치하거나 Kubernetes 에 설치할 것을 권고한다. https://concourse-ci.org/docs.html Docker-compose docker-compose 를 사용해서 8080 포트로 concurse 를 실행할 수 있으며, docker-compose.yml 파일을 수정하여 포트나 인스턴스 수를 조정할 수 있다. wget https://concourse-ci.org/docker-compose.yml docker-compose up -d Kubernetes / Helm 쿠버네티스에 Helm 으로 설치할 경우, https://github.com/concourse helm repo add concourse https://concourse-charts.

NSX-T Advanced Load Balancer 를 사용한 쿠버네티스 워크로드 LB

Avi Networks Architecture https://avinetworks.com/docs/ako/0.8/ako-installation Avi Controller 전체 네트워크의 로드 발랜서, WAF, 방화벽, 인증서, 로깅/모니터링 등을 담당하는 컨트럴 플레인이다. Avi SE (Service Engine) 실제 트래픽이 전달되는 Virtual Server가 동작하는 엔진으로 데이터 플레인 역할을 한다. Avi Kubernetes Operator (AKO) Ingress controller : 쿠버네티스 인그레스와 avi lb 의 Pool과 Virtual Server 와 동기화를 통해서 인그레스에 외부 접속 점을 만들어준다 LB Network Policy

openssl로 TLS용 사설인증서 만들기

Https 서비스를 위한 TLS 인증서 만들기 https://github.com/jupilhwang/mk-ssl-cert-key $DOMAIN 값을 원하는 도메인(FQDN)으로 지정한다. export DOMAIN=example.com curl https://raw.githubusercontent.com/jupilhwang/mk-ssl-cert-key/master/mk-ssl-cert-key.sh | bash - #!/bin/bash set -e SCRIPTDIR=$(cd $(dirname "$0") && pwd -P) : ${DOMAIN:?must be set the DNS domain root (ex: example.com)} : ${KEY_BITS:=4096} : ${DAYS:=1825} # Generate CA Certificate openssl req -new -x509 -nodes -sha256 -newkey rsa:${KEY_BITS} -days ${DAYS} -keyout ${DOMAIN}.ca.key.pkcs8 -out ${DOMAIN}.ca.crt -config <( cat << EOF [ req ] prompt = no distinguished_name = dn [ dn ] C = KR O = Private CN = Autogenerated CA EOF ) # Generate Private key with CA Certificate key openssl rsa -in ${DOMAIN}.

jumpbox on vSphere for Tanzu

이 문서는 vsphere 환경에서 tanzu를 설치/설정하기 위해 사용하는 jumpbox 를 손쉽게 사용하기 위한 문서이다. deploy OVA 대체로 Private Cloud이든 Public Cloud이든 동일한 작업환경을 위해서 Jumpbox를 설치해서작업을 하며 Jumpbox로는 ubuntu server 를 많이 사용한다. 여기서도 ubuntu-server-20.04.1 (LTS) 을 기준으로 설명한다. https://cloud-images.ubuntu.com/focal/current/focal-server-cloudimg-amd64.ova iso로 실제 ubuntu-server를 설치해도 되고, 이미 export 해놓은 ova를 업로드하여 사용할 수 있지만, Public internet이 되는 환경이라면 이미 만들어진 ubuntu-cloudimage 를 사용하는 것도 좋다. ubuntu cloud image는 https://cloud-images.ubuntu.com 에서 받을 수 있다.

TKG 1.2 설치/설정 : quick start

TKG Components Storage Class vSphere 에서 Storage를 사용하기 위해 Tag 기반의 policy 를 적용한 Datastore 를 사용한다. govc tags.category.create tkg-storage-category govc tags.create -c tkg-storage-category tkg-storage govc tags.attach tkg-storage /Datacenter/datastore/LUN01 tkg cluster 생성 시 자동으로 만들어 진 default sc 를 삭제하고 새로 생성한다. k delete sc default k apply -f -<<-EOF kind: StorageClass apiVersion: storage.k8s.io/v1 metadata: name: default annotations: storageclass.kubernetes.io/is-default-class: "true" provisioner: csi.vsphere.vmware.com parameters: storagepolicyname: "TKG Storage Policy" # optional fstype: ext4 EOF MetalLB k apply -f https://raw.

vSphere with Kubernetes - Tanzu Kubernetes Cluster : 선언적(Declarative) GitOPS CD

GitOps ArgoCD Installation kubectl create ns argocd kubectl -n argocd apply -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml Disable auth flag kubectl patch deploy argocd-server -n argocd -p '[{"op": "add", "path": "/spec/template/spec/containers/0/command/-", "value": "--disable-auth"}]' --type json CD for Tanzu Kubernetes Cluster

vSphere with Kubernetes의 Master/Worker Node SSH 접속하기

vSphere with Kubernetes vSphere 7.0 vSphere 7.0의 가장 큰 차이라고 한다면 당연하게 Kubernetes의 지원이다. 기존에 가상 머신, 스토리지, 네트워크의 SDDC부분에 중점을 두었다면, 쿠버네티스를 사용한 메니지먼트로 다양한 환경에서 동일한 메니페스트를 통해 관리를 할 수 있도록 한 것이다. Supervisor Cluster vSphere 7.0 의 Supervisor 클러스터를 통해서 vSphere 전반적인 가상머신, vSphere Pod, Tanzu Kubernetes Cluster를 생성/삭제 등의 라이프사이클을 관리한다. 사용자/그룹 관리, SSO연계, 퍼미션 설정, 네임스페이스 관리 등을 한다. Supervisor 노드 접속 Supervisor노드에 접속하기 위해서