IT 32

[Kubernetes] 쿠버네티스 컨텍스트 명령어 정리.

GCP GKE에서 여러 클러스터를 운영하다 보니 자주 쓰게되는 context 관련 명령어를 정리 한다. $ kubectl config current-context # 현재 컨텍스트 확인 $ kubectl config use-context var@one-dev-**** # var 계정으로 one-dev-cluster1에 연결 $ kubectl config use-context gke_one-dev-******_asia-northeast1-a_one-prod-**** $ kubectl config view # config 파일 출력 $ kubectl config get-contexts # context들 조회

IT/Kubernetes 2022.05.04

[GCP] Googlc Cloud CLI 를 설치하고 CI/CD 파이프라인 구축하기.

1. Google Cloud SDK 설치하기. 참조 : https://cloud.google.com/sdk/docs/downloads-interactive?hl=ko Google Cloud CLI 설치 프로그램 사용 | Google Cloud CLI 문서 의견 보내기 Google Cloud CLI 설치 프로그램 사용 Google Cloud CLI는 지원되는 플랫폼별로 설치 프로그램을 제공하며 대화형 또는 비대화형으로 배포할 수 있습니다. 대화형 설치 설치 프로그램을 사용 cloud.google.com # Windows에 내장된 Power Shell을 이용하여 진행 해도 되지만, 이 글에서는 VS Code에 Power Shell 터미널을 띄워서 진행 합니다. 1) VS Code를 관리자 권한으로 실행 합니..

IT/GCP 2022.04.20

[GCP] GCE에 Volume Mount 하기.

참조 : https://cloud.google.com/compute/docs/disks/add-persistent-disk?hl=ko $ sudo mkfs.ext4 -m 0 -E lazy_itable_init=0,lazy_journal_init=0,discard /dev/sdb # /dev/sdb는 마운트 할 스토리지 디바이스를 의미 $ sudo mount -o discard,defaults /dev/sdb /home/g-cloud/kafkadata # /home/g-cloud/kafka는 mount 할 디렉토리를 의미한다. $ sudo chmod a+w /home/g-cloud/kafkadata # VM 재시작시 자동 마운트 구성 $ sudo cp /etc/fstab /etc/fstab.backup $..

IT/GCP 2022.04.13

[GCP] GCE VM에 SSH 접속하기.

Xshell 을 이용하여 GCP Compute Engine 인스턴스에 접속하는 방법 입니다. 우선 생성된 인스턴스의 외부 IP가 필요합니다. Xshell에서 새로만들기 → 세션 을 선택하여 [연결] 탭의 [호스트] 에 접속할 인스턴스의 외부 IP를 입력합니다. [사용자 인증] 탭에서 사용자 이름은 g-cloud로 입력한다. 인증 방법은 Public Key를 체크하고 [설정]을 클릭한다. [찾아보기] 클릭 후 [생성] 키 생성 키 이름을 입력하고 암호는 선택적으로 입력한뒤 [마침]을 클릭 클릭 후 생성된 key 값을 전체 복사 합니다. 메타데이터에서 [수정] 을 클릭하고 복사한 키 값 맨 뒤에 g-cloud를 붙여준뒤 저장합니다. 이후 Xshell로 접속하면 접속이 잘 됩니다.

IT/GCP 2022.04.07

[CKA] 1차 시험 불합격.. 기억나는 대로 써보는 문제들. 2

7. Deployment Reconfigure 해서 현재 존재하는 Container와 Exposing 해서 Port 열어주기. # 문제가 정확히 기억나지 않으므로 Deployment를 생성하고, 수정하고, 서비스와 연결하는 방법에 대해 서술하겠다. # Deployment를 생성한다. $ vi run-my-nginx.yaml apiVersion: apps/v1 kinde: Deployment metadata: name: my-nginx spec: selector: matchLabels: run: my-nginx replicas: 2 template: metadata: labels: run: my-nginx spec: containers: - name: my-nginx image: nginx ports: -..

IT/CKA 2022.03.27

[CKA] 1차 시험 불합격.. 기억나는 대로 써보는 문제들. 1

1. Clusterrole 만들고 ServiceAccount와 특정 Namespace로 Binding 특정 리소스 타입만 허용 ClusterRole 예제 apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: secret-reader rules: - apiGroups: [""] resources: ["secrets"] verbs: ["get", "watch", "list"] # Role는 metadata: 아래에 namespace: 항목이 있지만 ClusterRole은 모든 namespace에 적용되기 때문에 해당 항목이 없다. ClusterRoleBinding 예제 apiVersion: rbac.authorization.k8..

IT/CKA 2022.03.06

[CKA] Mock Exam 2 풀이

1. Take a backup of the etcd cluster and save it to /opt/etcd-backup.db. # ETCD 백업문제, 백업 말고 Restore 쪽도 공부 해야한다. $ cd /etc/kubernetes/manifests $ cat etcd.yaml # ca.crt / server.crt / server.key 경로를 확이하고 다음 명령어를 실행 $ ETCDCTL_API=3 etcdctl --cacert= --cert= --key= snapshot save /opt/etcd-backup.db 2. Create a Pod called redis-storage with image: redis:alpine with a Volume of type emptyDir that las..

IT/CKA 2022.02.23

[CKA] Mock Exam 1 풀이

1. Deploy a pod named nginx-pod using the nginx:alpine image. # nginx-pod 라는 이름의 pod를 nginx:alpine 이라는 이미지를 사용하여 배포하라. $ kubectl run nginx-pod --image=nginx:alpine 2. Deploy a messaging pod using the redis:alpine image with the labels set to tier=msg. # messaging 이라는 pod를 redis:alpine 이라는 이미지를 사용하여 배포하라. lables는 tier=msg로 설정. $ kubectl run messaging --image=redis:alpine --labels=tier=msg 3. Crea..

IT/CKA 2022.02.23

[Kubernetes] Ubuntu에 Kubernetes 싱글노드로 구축하기.

회사에서 쿠버네티스를 다루다보니 집에서 테스트 환경을 만들어서 이것 저것 테스트해보고 싶은 생각이 들었습니다. 개인적으로 쓰고있는 서버는 1대인데 이걸 물리적으로 3대를 놓는건 현실적으로 불가능하고, 클라우드로 구축하자니 매달 비용이 발생하니 이것도 만만치 않습니다. 그렇다고 우분투에 KVM을 사용하여 가상환경으로 구축하자니 안그래도 리소스가 넉넉치 않은 개인서버에 하이퍼바이저라는 부담을 안겨주는거 같아 꺼려졌는데, 방법을 찾아보다 보니 싱글 노드로 쿠버네티스를 구축하는 방법이 있어서 이를 공유하고자 합니다. 전체적으로 kubeadm으로 일반적인 쿠버네티스 클러스터를 구성하는 방법과 다른 점은 없습니다. 다만 worker node를 join 하는 과정이 생략되고, control plane에 taint를 ..

IT/Kubernetes 2022.02.22