일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 유산소
- 건대입구역
- docker
- 대구
- Run The Bridge
- 한강
- Podman
- 달리기
- GitHub
- DSEC
- Grafana
- 대전
- 정보처리기사
- Kubernetes
- 자전거
- 소모임
- Shell
- 중식
- 맛집
- 2021
- 힐링
- 뚝섬유원지
- zabbix
- Python
- 하체
- 10km
- 러닝
- Linux
- 오답노트
- 성수대교
- Today
- Total
목록Cloud/k8s (20)
Run The Bridge
kubernetes를 사용하다 보면 환경변수를 적용하게 되는데 ConfigMap 또는 Secret 을 생성해서 env에 key, value를 적용하는 방식인 ConfigMapRef와 secretKeyRef를 선언하는 방식을 많이 사용하고 있다. 해당 방식은 1:1 대응이기 때문에 N개 이상의 환경변수를 적용하기 위해서는 yaml에 정의해야 할 값이 늘어난다는 단점이 있다. 그래서 우리는 envFrom을 통해 N개 이상의 환경변수를 Pod내에 Mount 해보려고 한다. 1. ConfigMap 생성 아래와 같이 꽃, 동물, 과일에 대한 key를 넣고 key에 맞는 value를 선언해주었다. apiVersion: v1 data: FLOWER: "ROSE" ANIMAL: "DOG" FRUITS: "APPLE" ..
네임스페이스를 구분하여 작업할 때가 많은데 그때마다 "-n"을 붙여서 Pod를 조회하는 게여간 번거로운 일이 아니다. 이렇게 많은 namespace를 일일히 언제 옵션 주고 있을까..? root@p-iskim-master ~ # kubectl get namespace NAME STATUS AGE acc-global Active 23d acc-system Active 23d default Active 23d iskim Active 23d kube-node-lease Active 23d kube-public Active 23d kube-system Active 23d 그래서 kubens라는 오픈소스가 있는데, kubens는 외부망이 되어야 하는 환경에서 사용이 가능하다 ㅠㅠ.. kubens도 결국 kuber..
Kubernetes Cluster를 운영하다 보면 개발, 스테이징, 운영 이렇게 나눠서 운영하는 경우가 매우 많다. 예시로 node1, node2, node3이 있다면 node1(개발), node2(스테이징), node3(운영)으로 지정할 텐데 node1에는 개발을 위한 Pod만 배포되어야 하고 node2, node3번도 각 역할에 맞게 앱들이 서비스되어야 한다. 물론 taint, toleration 설정을 해줘도 되지만, taint, toleration은 DaemonSet으로 배포된 Pod들도 설정해주어야 하는 번거로움이 존재한다. 우리는 그것보다 편한 네임스페이스를 구분하여 Pod들을 배포해 본다. 1. Node에 label 부여 먼저 나의 Cluster 구성은 worker01, 02, 03이 존재하..
보호되어 있는 글입니다.
0. 들어가기에 앞서 kubernetes에는 yaml 파일로 pod을 생성할 때 다양한 명령어들이 존재하는데 apply, create를 많이 사용하고 있다. 또한 그렇게 생성된 pod에 편집을 할 때는 patch, replcae와 같은 명령어들을 사용하여 편집을 한다. 이번에는 각 명령어들의 차이점을 알아보고 정리한다. 1. Pod 생성 명령어의 간단한 테스트를 위해 kubernets docs에 있는 nginx pod를 이용한다. 이름은 nginx-apply로 주고 apply 명령어로 생성한다. apiVersion: v1 kind: Pod metadata: name: nginx-apply spec: containers: - name: nginx-apply image: nginx:1.14.2 ports: ..
0. 들어가기에 앞서 쿠버네티스상에서 한 Pod안에 두 개의 앱이 들어가면 사이드카라고 부르는데, 통상적으로 하나의 앱은 로그를 관리하거나 healthcheck를 하는 데 사용하는 걸로 알고 있다. 쿠버네티스의 원칙은 1개의 Pod에는 1개의 앱만 올라가는 것을 원칙으로 삼고 있다. 여기까지 간단하게 서론 이야기를 하고, 만약 사이드카로 구성된 컨테이너 중 하나의 앱이 오류가 나서 올라오지 않을 때, 전체 Pod를 재시작할까? 아니면 오류난 앱만 재시작할까? 한 번 테스트해본다. 1. 사이드카 앱 구성하기 kubernetes docs에서 지원하는 사이드카 컨테이너 yaml을 사용한다. apiVersion: v1 kind: Pod metadata: name: counter spec: containers: ..
0. 들어가기에 앞서 kubernetes를 사용하면 생각보다 namespace를 많이 입력하게 된다. 물론 '-n {namespace}'으로 그리 긴 명령어는 아니지만, 생각보다 오타도 많이 나고 '-'이랑 'n'이 생각보다 떨어져 있어서 누르기도 귀찮다.... 또 namespace 이름이 이상하면 그거 또한 힘들어진다. 이러한 상황을 쉽게 타게할 수 있게 만들어진 플러그인(?) kubens을 소개한다. 1. kubens https://github.com/ahmetb/kubectx GitHub - ahmetb/kubectx: Faster way to switch between clusters and namespaces in kubectl Faster way to switch between clusters..
교육 들으면서 쿠버네티스 관련 내용은 많이 적은 거 같은데, 정작 중요한 설치 가이드가 없었다. 그래서 복습 겸 설치도 중요하니까 이렇게 설치 가이드 게시글을 만들어본다. 우리는 Master 1대, Worker 1대로 구성한다.(CPU 2 core, RAM 2GB, HDD: 100GB) - master: 192.168.200.14 - worker: 192.168.200.15 우선 Centos7 기준으로 설치해주면 된다. 설치중... 1. hostname 변경 hostnamectl set-hostname kube-master 2. /etc/hosts 변경(Node 간 통신을 위해 hosts에 정의해준다.) 192.168.200.14 kube-master 192.168.200.15 kube-worker 3...