메모하며 성장하기
  • 홈
  • IT
  • 소소한일상
  • 생활정보
  • 재테크
  • 메뉴 닫기
  • 관리자
    • 분류 전체보기 (211)
      • IT (118)
        • 프로그래밍 (4)
        • 클라우드 (19)
        • 쿠버네티스 (32)
        • 운영체제 (33)
        • 네트워크 (0)
        • 데이터베이스 (10)
        • 자료구조 (0)
        • 알고리즘 (7)
        • 디자인패턴 (0)
        • 책리뷰 (7)
        • 세미나 및 밋업 (3)
        • 기타 (2)
        • 영어 (1)
      • 소소한 일상 (20)
      • 생활정보 (66)
      • 재테크 (6)
        • 애드센스 (2)
        • 블로그 (4)
Kubernetes production best practices - 쿠버네티스 모범 사례 체크 리스트
IT/쿠버네티스

Kubernetes production best practices - 쿠버네티스 모범 사례 체크 리스트

Production 에 Kubernetes 릴리스하는 데 도움이 되도록 설계된 모범 사례의 선별된 체크리스트 This checklist provides actionable best practices for deploying secure, scalable, and resilient services on Kubernetes. (이 체크리스트는 Kubernetes에서 안전하고 확장 가능하며 탄력적인 서비스를 배포하기 위한 실행 가능한 모범 사례를 제공합니다.) 쿠버네티스를 실제 릴리즈 할 경우 어떤 점들을 고려해야 하고 빠트리진 않았는지 3가지 카테고리를 기준으로 체크할 항목들을 알려준다. Application development - Health checks - Apps are independent (App..

2022. 7. 23.
IT/쿠버네티스

kubernetes 실습 (CKA 대비)

LFS458 관련 대비 실습 - 하나씩 해보자! 01. kubeadm 을 이용한 설치 및 세팅 02. kubernetes 클러스터 노드 확장 및 셋팅 03. 간단한 application 배포, yaml템플릿, 서비스 expose 해보기 04. deployment 의 CPU, Memory 제약 05. namespace 를 위한 resource limit 설정 06. 좀더 복잡한 deployment 배포해보기 07. 기본 Node 의 maintenance (유지보수) 08. API AND ACCESS 09. API 객체 10. Managing State with Deployments 11. Service Resource 12. Volumes and Data : ConfigMap 간단 테스트 13. PV 와 ..

2020. 3. 16.
[kubernetes-실습] HA(High Availability) 구성 - master node
IT/쿠버네티스

[kubernetes-실습] HA(High Availability) 구성 - master node

# master node 2대를 추가해 H.A 구성을 해보자. [ 방법 ] 1. 트래픽을 받도록 load balancer로 배포한다. HAProxy는 배포가 쉬운편이다. start하여 현재 동작중인 master node를 확인한다. 2. k8smaster2,3번 노드에 kubernetes software를 설치한다. (이 과정은 기존 worker node를 이미지 떠서 만들면 더 편할 듯하다.) 3. k8smaster2번을 master node에 join 한다. 기존에 worker node 추가때 사용하던 kubeadm join 으로 부터 추가적으로 hash와 flag가 필요할 것이다. 4. k8smaster3번을 master node에 join 한다. 5. haproxy에 3개의 master를 사용하도..

2020. 2. 19.
IT/쿠버네티스

[kubernetes-실습] Security - Authentication, Authorization, Admission

Kubernetes 클러스터는 사용자의 유형으로 service accoount와 normal users 가 있지만 normal users는 외부 서비스에 의해 관리된다. normal users를 나타낼 개체가 없고, 또한 API 호출을 통해 추가할 수도 없다. 하지만 service account를 추가할 수 있다. RBAC을 사용하여 개발자 devJang을 위한 네임스페이스 내의 행동에 대한 접근을 테스트해 본다. # Authentication, Authorization - 두개의 테스트용 dev, prod namespace를 생성한다. # dev, prod의 두개 namespace를 생성한다. ps0107@k8smaster1:~$ kubectl create ns dev namespace/dev crea..

2020. 2. 17.
IT/쿠버네티스

[kubernetes-실습] Security - TLS

# Working with TLS # 마스터 노드와 보조 노드 모두에서 kubelet 을 보자 . # kube-apiserver 는 cerificates 과 authorization mode와 같은 보안 정보를 보여준다. # kubelet 은 systemd 서비스이므로 아래와 같이 상태를 볼수 있다. # 아래 CGroup 정보에 보면 설정 파일들이 어디에 있는지 알수 있다. ps0107@k8smaster1:~$ systemctl status kubelet.service ● kubelet.service - kubelet: The Kubernetes Node Agent Loaded: loaded (/lib/systemd/system/kubelet.service; enabled; vendor preset: e..

2020. 2. 13.
IT/쿠버네티스

[kubernetes-실습] helm

# helm 1. 복잡한 어플리케이션들을 배포할때 사용하며, yum 이나 apt와 비슷하게 쿠버네티스 안의 package manager 역할을 한다. 2. chart template을 통해서 kubenetes application 을 패키징한다. 3. helm은 chart의 install을 요청하는 client 이다. 4. chart에 따라서 Tiller(서버) 가 cluster resource들을 생성한다. # helm과 Tiller helm은 로컬에 설치한 client를 말하고 Tiller는 쿠버네티스 클러스터 안에서 실행 중인 서버이다. # Helm 과 Charts helm 을 사용하면 복잡한 구성을 쉽게 구현할 수 있다. multi-part 애플리케이션을 한 번에 deployment 할 수 있다...

2020. 2. 9.
IT/쿠버네티스

[kubernetes-실습] CRD (Custom Resource Definition)

# Custom Resource Definition 생성 # CRD 생성을 위한 yaml 파일 작성 ps0107@k8smaster1:~$ vi crd.yaml apiVersion: apiextensions.k8s.io/v1beta1 kind: CustomResourceDefinition metadata: name: crontabs.ps.example.com spec: scope: Cluster group: ps.example.com version: v1 names: kind: CronTab plural: crontabs singular: crontab shortNames: - ct # CRD 생성 ps0107@k8smaster1:~$ kubectl create -f crd.yaml customresour..

2020. 2. 6.
IT/쿠버네티스

[kubernetes] CRD (Custom Resource Definition)

# 사용자 정의 리소스 (Custom Resources) 1. 변화하는 요구에 유연하게 대응 2. 고유한 API 개체 생성 3. kubectl틀을 통해 API 개체 관리 4. 사용자 정의 리소스 정의(CRD) 5. 집계 APIs(AA) # 사용자 정의 리소스 정의 (Custom Resource Definitions) 1. 특징 - deploy가 쉬움 - 일반적으로 프로그래밍을 요구하지 않음 - 다른 API server를 요구하지 않음 - Namespaced or cluster 전체에서 쓸지 scope 결정할 수 있다. 2. 설정 예시 - Configuration apiVersion: apiextensions.k8s.io/v1beta1 kind: CustomResourceDefinition # => kub..

2020. 2. 6.
[kubernetes-실습] 로깅과 트러블슈팅 : Metrics와 DashBoard
IT/쿠버네티스

[kubernetes-실습] 로깅과 트러블슈팅 : Metrics와 DashBoard

heapster가 deprecation 되면서 Metrics Server 와 통합되어 개발되고 배포되어지고 있다. 그리고 CNCF의 프로젝트중 프로메테우스도 잘 사용되어지고 있다. # Metrics 설정 # --------------------------------- # Metrics 설정 # --------------------------------- # git에서 metrics-server 받아옴. ps0107@k8smaster1:~$ git clone https://github.com/kubernetes-incubator/metrics-server.git # metrics-server 설치 ps0107@k8smaster1:~$ kubectl create -f metrics-server/deploy/..

2020. 2. 6.
IT/쿠버네티스

[kubernetes-실습] 로깅과 트러블슈팅 : 로그위치와 로그 출력 보기

# 로그 파일들의 위치 알아보기 다양한 로그 파일과 명령 출력 이외에도 journalctl을 사용하여 노드 관점에서 로그를 볼 수 있다. 우리는 로그 파일의 공통적인 위치를 보고, 컨테이너 로그를 보는 명령을 볼 것이다. 다른 컨테이너의 로그를 pod에 적재하는데 전용으로 사용되는 sidecar container의 사용과 같은 다른 로깅 옵션이 있다. Kubernet에서 전체 클러스터 로깅을 아직 사용할 수 없다. 따라서 kubernetes 같이 CNCF 프로젝트 다른 멤버인 fluentd 같은 외부 software를 사용된다. 다음의 로그 파일과 웹 사이트를 간단히 살펴보십시오. 서버 프로세스가 노드 수준에서 컨테이너안에 실행으로 이동함에 따라 로깅도 이동한다. 1. journalctl 명령 사용 (k..

2020. 2. 5.
IT/쿠버네티스

[kubernetes] logging and troubleshooting

# 로깅과 트러블슈팅 (logging and troubleshooting) 1. shell을 통한 Linux troubleshooting 2. 기본 monitoring 활성화 3. Set up cluster-wide logging 4. 외부 제품들 이용 (Fluentd, prometheus) 5. 내부 Metrics Server and API # 트러블슈팅을 위한 기본 단계 1. 가장 먼저 Error 라인을 확인 2. Pod 상태와 Pod 로그 확인 - kubectl get pod - kubectl describe (하단에 이유를 리턴해 주는 경우도 있기 때문에) - kubectl logs pod 3. Pod DNS 와 network 확인 - core dns 동작 이상여부, 네트워크 체크 - 만약 cal..

2020. 2. 5.
IT/쿠버네티스

[kubernetes-실습] Scheduling - Taint를 이용한 pod 배포 관리

# Using Taints to Control Pod Deployment taints를 사용하여 어느곳에 pod가 배치되거나 실행을 허용하도록 관리할수 있다. 노드 그룹에 pod들을 할당하여 추가할때 노드 사용을 제한하거나 pod들을 완전히 대피시킬수 있다. 참고 마스터노드가 처음에 NoSchedule taint로 설정되어 있었던것을 기억할 것이다. 여기서 taint의 3가지 유형을 통해 pod들을 제한하거나 제거하는것을 알아보자. # 8개의 nginx container를 배포하는 deployment를 생성하기 위해 yaml파일을 생성해보자. ps0107@k8smaster1:~$ cat taint.yaml apiVersion: apps/v1beta1 kind: Deployment metadata: nam..

2020. 2. 5.
IT/쿠버네티스

[kubernetes-실습] Scheduling - label 사용한 pod 할당

# Assign Pods Using Labels - label에 따라 pod 할당 테스트를 위해 세팅 # ------------------------------------------ # label에 따라 pod 할당 테스트를 위해 세팅 # 1. labeling # master : status=vip, worker : status=other # ------------------------------------------ # node list 확인. # 실습을 위해서 labels 나 taint 추가된게 없이 ready 상태여야 한다. ps0107@k8smaster1:~$ kubectl get nodes NAME STATUS ROLES AGE VERSION k8smaster1 Ready master 7d5h ..

2020. 2. 5.
IT/쿠버네티스

[kubernetes-실습] ingress 간단 실습

# ingress 설정 - 많은 서비스들을 클러스터의 외부로 expose 시키거나 호스트 노드의 낮은 숫자의 포트로 expose 하기 위해 ingress controller 또는 service mesh를 적용해야 해야한다. # 간단한 테스트를 위해 nginx deployment를 생성한다. # app 이름은 secondapp으로 한다. ps0107@k8smaster1:~$ kubectl create deployment secondapp --image=nginx deployment.apps/secondapp created # 현재 deployment에 의해 사용되어지는 label 들을 찾아본다. # ingress controller 로 부터 적절한 service 로 트래픽을 주기 위해 label들을 사용한..

2020. 2. 4.
IT/쿠버네티스

[kubernetes-실습] ResourceQuota 사용 (PVC Count 와 Usage를 제한)

# 기존 실습 리소스 정리 ps0107@k8smaster1:~$ kubectl delete deploy nginx-nfs deployment.extensions "nginx-nfs" deleted ps0107@k8smaster1:~$ kubectl delete pvc pvc-one persistentvolumeclaim "pvc-one" deleted ps0107@k8smaster1:~$ kubectl delete pv pvvol-1 persistentvolume "pvvol-1" deleted # ResourceQuota 설정 해보기 - ResourceQouta를 기본 설정으로 생성해 보자. 그리고 PV,PVC를 생성하여 어떻게 변경되는지 확인해 보자 # 해당 namespace 안에서는 500 Mi 까..

2020. 2. 4.
IT/쿠버네티스

[kubernetes-실습] PV 와 PVC 생성

# NFS Server/Client 세팅 # NFS Server/Client 세팅 # ---------------------------------- # master node : NFS Server # worker node : NFS Client # ---------------------------------- # master node : NFS Server 세팅 ps0107@k8smaster1:~$ sudo apt-get update && sudo apt-get install -y nfs-kernel-server ps0107@k8smaster1:~$ sudo mkdir /opt/sfw ps0107@k8smaster1:~$ sudo chmod 1777 /opt/sfw ps0107@k8smaster1:~$ ..

2020. 2. 3.
IT/쿠버네티스

[kubernetes-실습] Volumes and Data : ConfigMap 간단 테스트

# ConfigMap에 대해 간단하게 테스트 해보자 # 주요 색들을 포함한 ConfigMap을 생성해 보자. # 먼저 primary라는 디렉토리를 만들고 색과 관련된 파일들을 생성해본다. ps0107@k8smaster1:~$ mkdir primary ps0107@k8smaster1:~$ echo c > primary/cyan ps0107@k8smaster1:~$ echo m > primary/magenta ps0107@k8smaster1:~$ echo y > primary/yellow ps0107@k8smaster1:~$ echo k > primary/black ps0107@k8smaster1:~$ echo "known as key" >> primary/black ps0107@k8smaster1:~$ e..

2020. 2. 3.
IT/쿠버네티스

[kubernetes-실습] Service Resource

# Deploy A new Service # nginx deployment 배포를 위한 yaml 파일 준비 ps0107@k8smaster1:~$ vi nginx-one.yaml apiVersion: extensions/v1beta1 kind: Deployment metadata: name: nginx-one labels: system: secondary namespace: accounting spec: replicas: 2 template: metadata: labels: app: nginx spec: containers: - image: nginx:1.11.1 imagePullPolicy: Always name: nginx ports: - containerPort: 8080 #-> 포트는 8080으로 ..

2020. 2. 3.
IT/쿠버네티스

[kubernetes-실습] Managing State with Deployments

ReplicaSet 동작 살펴보기 ReplicaSet 생성을 위한 yaml 파일 생성 ps0107@k8smaster1:~$ vi rs.yaml apiVersion: extensions/v1beta1 kind: ReplicaSet metadata: name: rs-one spec: replicas: 2 template: metadata: labels: system: ReplicaOne spec: containers: - name: nginx image: nginx:1.11.1 ports: - containerPort: 80 ReplicaSet 생성 ps0107@k8smaster1:~$ kubectl create -f rs.yaml replicaset.extensions/rs-one created 생성된 R..

2020. 2. 3.
IT/쿠버네티스

[kubernetes-실습] API 객체

RESTful API Access (토큰 기반 리소스 접근, namespace별 토큰 생성) api server의 node의 ip와 port 확인, 클러스트 설정 정보 확인 ps0107@k8smaster1:~$ kubectl config view apiVersion: v1 clusters: - cluster: certificate-authority-data: DATA+OMITTED server: https://k8smaster:6443 name: kubernetes contexts: - context: cluster: kubernetes user: kubernetes-admin name: kubernetes-admin@kubernetes current-context: kubernetes-admin@kub..

2020. 2. 2.
  • «
  • 1
  • 2
  • »

전체 카테고리

  • 분류 전체보기 (211)
    • IT (118)
      • 프로그래밍 (4)
      • 클라우드 (19)
      • 쿠버네티스 (32)
      • 운영체제 (33)
      • 네트워크 (0)
      • 데이터베이스 (10)
      • 자료구조 (0)
      • 알고리즘 (7)
      • 디자인패턴 (0)
      • 책리뷰 (7)
      • 세미나 및 밋업 (3)
      • 기타 (2)
      • 영어 (1)
    • 소소한 일상 (20)
    • 생활정보 (66)
    • 재테크 (6)
      • 애드센스 (2)
      • 블로그 (4)

블로그 인기글

  • 파일관리 프로그램 2가지 추천 - 윈도우 폴더관리 쉽게
  • 티스토리 포스팅 목차 자동으로 생성하기
  • 발작성 상심실성 빈맥 (psvt) 으로 인한 전극도자절제술 후기
  • 티스토리 블로그 소제목 꾸미기 어렵지 않아요
  • 영유아검진 시기 지나면 유료 비용 발생하니 놓치지 마세요
  • 2023년 휴일 달력 및 황금연휴 한번에 정리
  • [kubernetes-실습] 로깅과 트러블슈팅 : 로그위치와 로그 출력 보기
  • AWS 자격증 시험 무료 재응시 pearson VUE 프로모션
  • 파파고 사진번역 방법 알아보기
  • 애드센스 전면광고를 위한 한번에 새창으로 열기 해제 방법

태그

  • #오라클
  • #EV9전기차
  • #EV9포토
  • #파이썬
  • #Kubernetes
  • #티스토리
  • #홍콩반점이벤트
  • #애드센스
  • #에어컨셀프점검
  • #google cloud platform
  • #EC2
  • #영종도가볼만한곳
  • #azure
  • #gcp
  • #인천국제공항
  • #Python
  • #LFS458
  • #javascript
  • #코로나19
  • #쿠버네티스
  • #에어컨안전
  • #인천가볼만한곳
  • #EV9추천
  • #에어컨점검
  • #에어컨무상점검
  • #자바스크립트
  • #AWS
  • #DevOps
  • #솔라리스
  • #s3
MORE
Powered by Privatenote Copyright © 메모하며 성장하기 All rights reserved. TistoryWhaleSkin3.4

티스토리툴바