kubernetes의 리소스를 CRUD할때 kubectl명령으로 할 수도 있지만, 이를 좀더 편하게 할 수 있는 유틸리티가 있어 소개합니다. k9s라는 툴이고, 실제 해외에서는 많이 사용하고 있다고 하네요. https://k9scli.io/ K9s - Manage Your Kubernetes Clusters In Style Who Let The Pods Out? K9s is a terminal based UI to interact with your Kubernetes clusters. The aim of this project is to make it easier to navigate, observe and manage your deployed applications in the wild. K9s con..
k8s cluster를 설치할 때 API server의 IP는 보안 때문에 보통 private IP를 지정합니다. 아래와 같이 말입니다. kubeadm init --pod-network-cidr= --apiserver-advertise-address= 어떠한 이유로 외부에서 k8s의 API server로 접근해야 한다면 kubernetes cluster를 다시 설치해야 할까요 ? 예를 들어 본인 PC에 Oracle VirtualBox같은걸로 Centos를 설치하고, 그 VM에서 kubectl로 k8s cluster를 접근하고 싶을때 말입니다. 아래 글에 그 방법을 자세하게 설명하고 있습니다. https://blog.dudaji.com/kubernetes/2020/04/08/add-ip-to-kube-ap..
cluster를 여러 사람이 사용하기 위해서는 OS user를 각각 만들고, 각 OS user에게 특정 namespace만 Write할 수 있도록 허용해야 합니다. 이를 자동화하기 위한 Shell을 공유합니다. root 또는 sudo권한을 부여받은 user권한으로 아래와 같이 실행하십시오. create-user 실행 파일 만들기 아래 내용으로 /root/.kube/create-user라는 shell파일을 만든 후 실행파일로 만드십시오. $ cd ~/.kube $ vi create-user #!/bin/sh # Get parameter if ([ $# == 0 ]) || ([ $# -eq 1 ] && [ "$1" == "-h" -o "$1" == "--help" ]); then echo "create-us..
1. 개요 1.1 가이드 목표 prometheus와 grafana를 이용하여 모니터링 체계를 구축하는 방법에 대해 이해 1.2 아키텍처 kubernetes 리소스의 metric(사용현황) 정보를 수집(prometheus)하여 대시보드로 제공 (grafana)할 수 있도록 하기 위해 prometheus와 grafana툴을 이용함 1.3 사전 작업 1) helm 설치 happycloud-lee.tistory.com/3?category=832245 2) helm chart repository 추가 helm repo add prometheus-community https://prometheus-community.github.io/helm-charts helm repo add kube-state-metrics h..
1. 개요 1.1 가이드 목표 EFK스택을 이용하여 통합로깅체계를 구축하는 방법에 대해 이해 1.2 EFK아키텍처 elastic search는 로그가 저장되는 Database입니다. fluentd는 각 Pod의 로그를 수집하는 데몬 프로그램입니다. kibana는 elastic search의 로그를 통합 조회 및 검색할 수 있는 web UI를 제공합니다. 1.3 사전 작업 1) helm 설치 happycloud-lee.tistory.com/3?category=832245 2) helm chart repository 추가 helm repo add elastic https://helm.elastic.co helm repo update 3) namespace 작성 $ kubectl create ns efk 4)..
kubernetes config (보통 ~/.kube/config파일)를 셋팅해주는 shell프로그램입니다. 아래 소스로 shell파일을 만들고, 실행권한을 준 후 , 실행하시면 됩니다. $ vi setup-config $ chmod +x setup-config $ ./setup-config kubernetes hklee kubernetes 클러스터에 아래와 같이 작업 - 네임스페이스 ns-hklee 생성 - Service account sa-hklee 생성 - rb-sa-hklee라는 rolebinding하면서 sa-hklee에게 ns-hklee의 'admin' 역할 부여. 다른 namespace는 접근 못하게 함 - kubeconfig에 service account 'sa-hklee'생성 - kube..
centos7.x과 RHEL7.x에 설치하는 방법입니다. bastion서버는 internet 연결이되는 서버를 의미합니다. Download Docker (bastion node에서 수행) o yum utility 설치 $ yum install -y yum-utils o Docker repository 등록 $ yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo $ yum repolist RHEL7.x에서는 위 명령 결과를 보면 404에러가 날 수 있습니다. Repository URL이 이상하게 등록되기 때문입니다. 아래와 같이 repository의 URL을 수동으로 변경합니다. $ cd /etc/yum...
NFS서버 설치는 아래 글을 참고하세요 . happycloud-lee.tistory.com/46?category=832247 NFS서버 만들기 1. ubuntu https://hiondal.blog.me/221624709742 NFS서버 만들기 k8s에서 Volume으로 사용할 수 있는 종류는 아래와 같이 매우 많습니다. 그 중에 많이 사용하는 volume ty... blog.naver.com 2. centos NFS서버.. happycloud-lee.tistory.com PVC만 생성되면, 자동으로 PV를 만들어 binding하려면 nfs dynamic provisioning을 설정해야 합니다. NFS Dynamic Provioning은 아래 글을 참고하세요. 변경사항) 2023-02-05 NFS Pr..
[출처] nevido.tistory.com/640 pv나 pvc삭제시 kubectl delete pv/pv-name or pvc/pvc-name으로 안될때 --grace-period=0 이 옵션을 해보고 안되면 --grace-period=0 --force 이것도 안될경우 edit후 - kubernetes.io/pv-protection 해당 부분이 존재하는지 확인해본다 만약 있다면 kubectl patch pvc pvc_name -p '{"metadata":{"finalizers":null}}' kubectl patch pv pv_name -p '{"metadata":{"finalizers":null}}' kubectl patch pod pod_name -p '{"metadata":{"finalizers"..
centos에 flannel을 CNI(Container Network Interface)로 사용하는 경우 발생 할 수 있습니다. 잘 수행되다가 갑자기 아래와 같은 현상이 발생할 수 있습니다. - kube-system 네임스페이스의 coredns Pod가 모두 Complete상태가 되면서 중지됨 - kube-system 네임스페이스의 flannel Pod중 하나가 CrashLoopBackOff상태가 됨 - Flannel Pod의 log를 보면 아래와 같이 IPv4 주소를 못찾는다는 에러가 발생함 $ kubectl -n kube-system logs kube-flannel-ds-2vnhjI0601 19:31:31.628591 1 main.go:475] Determining IP address of defau..
IBM Public Cloud에서 VPN접근을 설정하는 방법을 설명합니다. VPN접근 설정 - 본인의 계정으로 로그인합니다. - Manage > Access(IAM)을 클릭합니다. - [Users]메뉴를 선택하고, 본인 이름을 클릭합니다. - User details탭에서 VPN암호를 설정합니다. 암호는 연필 모양 눌러 지정합니다. User name도 다른 곳에 잘 복사해 둡니다. - VPN Client설치 및 로그인 1) VPN Client 설치 아래 페이지를 참조하여 OS에 맞는 VPN 클라이언트를 설치합니다. cloud.ibm.com/docs/iaas-vpn?topic=iaas-vpn-standalone-vpn-clients 2) 로그인 [Add]를 클릭하고, Title, Gateway, Userna..
kubeadm으로 k8s를 설치한 후 ingress controller를 추가로 설치해야 합니다. 1. minikube에 설치 만약, minikube를 사용한다면 아래 명령으로 간단히 설치할 수 있습니다. $ minikube addons enable ingress 2. kubernetes 1.23.* 이상에 설치 2021년 12월 현재 k8s 1.23.1에 설치하는 방법입니다. 그전 버전에서 문제가 있었던 ingress설치 버그가 해결이 되어 공식 페이지에서 가이드하는 아래 방법으로 잘 설치 됩니다. 아래 페이지에서 Baremetal 설치를 이용하여 설치 하십시오. https://kubernetes.github.io/ingress-nginx/deploy/ Installation Guide - NGINX ..
kubernetes를 오프라인에 설치하는 방법을 가이드합니다. 출처: https://docs.genesys.com/Documentation/GCXI/9.0.0/Dep/DockerOffline 위 문서를 기반으로 작성한 vanilla k8s offline 설치 가이드는 아래 문서를 참조하십시오. drive.google.com/file/d/1P39WgYQGobx4LizjVLz9AY9F4pb2uyfe/view?usp=sharing Vanilla Kubernetes Offline 설치 가이드.docx drive.google.com
작업하는 PC나 VM에서 ubuntu나 centos를 container로 실행하는 방법입니다. centos 2020-06-02현재 centos8까지 나와 있습니다. 최신 버전 아래와 같이 실행하면 됩니다. > docker run -it centos sh sh-4.4# exit exit container를 종료하면 아래 명령으로 중단된 container를 보고 다시 실행할 수 있습니다. ❯ docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES d02a9cbdfa50 centos "sh" 9 seconds ago Exited (0) 6 seconds ago agitated_gates b97449acab2d centos7 "sh" About a..
먼저 VirtualService와 destinationrule에 대해 조금 더 이해해 봅시다. 자세한 내용은 아래를 참조하시고, 간략하게 설명하면 아래와 같습니다. - VirtualService: URI, HTTP Header등을 이용한 Rule에 따라 트래픽을 라우팅해 줌 - 라우팅 조건 지정: uri, scheme, method, authority, headers, port, sourceLabels, gateways, queryParams 이용 - 라우팅 대상 지정: destionation 서비스명/PORT번호/subset, 재시도 횟수, 라우팅 비중 정의. subset정의 시 destinationrule필요. - destinationrule: 대상 서비스에 대한 제반 rule 정의 - rule종류:..
docker.io의 공식 이미지인 curimages/curl을 이용하여, 한 줄로 Pod를 생성하는 방법입니다. 테스트를 위해 pod, service를 생성합니다. apiVersion: apps/v1 kind: Deployment metadata: labels: app: hostnames name: hostnames spec: selector: matchLabels: app: hostnames replicas: 1 template: metadata: labels: app: hostnames spec: containers: - name: hostnames image: k8s.gcr.io/serve_hostname --- apiVersion: v1 kind: Service metadata: labels: a..
istio 공식 사이트에서 제공하는 Bookinfo(https://istio.io/docs/examples/bookinfo/) 어플리케이션을 이용하여 실습해 보겠습니다. 1. Bookinfo 서비스 구성 Bookinfo 서비스의 실행 결과 화면입니다. productpage, detail, review, rating의 4가지 마이크로서비스로 구성되어 있습니다. 각 마이크로서비스의 아키텍처는 아래와 같습니다. 마이크로서비스의 큰 특성중 하나인 Poly-glot(마이크로서비스별 상이한 기술 적용)으로 구성되어 있습니다. 2. 응용프로그램 배포 응용프로그램 배포 시 envoy proxy 컨테이너가 sidecar로 생성되도록 배포합니다. 1) auto sidecar injection 배포하려는 namespace에..
- Total
- Today
- Yesterday
- 분초사회
- agile
- micro service
- spotify
- 마이크로서비스
- 돌봄경제
- 리퀴드폴리탄
- 디토소비
- SAGA
- 도파밍
- 애자일
- Event Sourcing
- 버라이어티가격
- 육각형인간
- 스포티파이
- 마이크로서비스 패턴
- 요즘남편 없던아빠
- 스핀프로젝트
- 호모프롬프트
- API Composition
- AXON
- CQRS
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |