728x90 개발강의정리/DevOps64 [쿠버네티스 어나더 클래스-지상편] 3. 실무에서 느껴본 쿠버네티스가 정말 편한 이유 쿠버네티스 어나더 클래스 (지상편) - Sprint1 - 인프런 | 강의 쿠버네티스, 아직 망설이시나요? 왜 해야 되는지 강의 소개 한번 들어보시죠!, 쿠버네티스 어나더 클래스 (지상편) - Sprint1 [사진]현재 강의는 쿠버네티스 어나더 클래스 [지상편] Sprint1(Polar Rabbit) www.inflearn.com 큐브옵스 커뮤니티 : 네이버 카페 어서오세요! 인프런 [쿠버네티스 어나더클래스] 자료실 입니다^^ cafe.naver.com 쿠버네티스 표준 생태계로 편해진 IT인프라 구축 쿠버네티스가 나온 지 10년도 안됐는데 수많은 제품들이 쿠버네티스 생태계 위에서 돌아감 스페셜은 쿠버네티스 관련 업체들과 교육 파트너이고, 카오스 엔지니어링, 최적화 부분은 메인이 아니라서 빼면 아래와 같이 .. 개발강의정리/DevOps 2023. 9. 25. [쿠버네티스 어나더 클래스-지상편] 2. 쿠버네티스 무게감 있게 설치하기 쿠버네티스 어나더 클래스 (지상편) - Sprint1 - 인프런 | 강의 쿠버네티스, 아직 망설이시나요? 왜 해야 되는지 강의 소개 한번 들어보시죠!, 쿠버네티스 어나더 클래스 (지상편) - Sprint1 [사진]현재 강의는 쿠버네티스 어나더 클래스 [지상편] Sprint1(Polar Rabbit) www.inflearn.com 큐브옵스 커뮤니티 : 네이버 카페 어서오세요! 인프런 [쿠버네티스 어나더클래스] 자료실 입니다^^ cafe.naver.com 강의에서 다루는 전체 환경 Sprint 1. 쿠버네티스 제대로 시작하기: 인프라환경 Sprint 2. 쿠버네티스 누구나 배포하기: CI/CD 환경 Sprint 3. 쿠버네티스 실무에 적용하기: 개발환경 쿠버네티스(v1.27.2) 쉽고 빠르게 설치하는 방법 .. 개발강의정리/DevOps 2023. 9. 25. [쿠버네티스 어나더 클래스-지상편] 1. 컨테이너 한방 정리 쿠버네티스 어나더 클래스 (지상편) - Sprint1 - 인프런 | 강의 쿠버네티스, 아직 망설이시나요? 왜 해야 되는지 강의 소개 한번 들어보시죠!, 쿠버네티스 어나더 클래스 (지상편) - Sprint1 [사진]현재 강의는 쿠버네티스 어나더 클래스 [지상편] Sprint1(Polar Rabbit) www.inflearn.com 큐브옵스 커뮤니티 : 네이버 카페 어서오세요! 인프런 [쿠버네티스 어나더클래스] 자료실 입니다^^ cafe.naver.com 기술의 흐름으로 이해하는 컨테이너 Container Orchestration, Container, Linux OS, Cloud Service, Virtualization, DevOps 6가지 꼭지가 최종적으로 쿠버네티스를 더 잘 이해하려면 알아야되는 큰 키.. 개발강의정리/DevOps 2023. 9. 25. [데브옵스를 위한 쿠버네티스 마스터] 프라이빗 클라우드를 위한 인그레스 Ingress-Nginx 구현하기 로컬 쿠버네티스에 ingress-nginx 사용방법 1. ingress-nginx 개요 인그레스를 사용하면 L7의 웹 요청을 해석해서 단일 IP, 단일 포트로 다수의 도메인과 서비스로 연결할 수 있음 이 방법을 사용하면 웹페이지의 도메인은 같지만 다른 앱을 사용하는 것도 가능하게 한다 하지만 쿠버네티스에서 기본적으로 지원하는 인그레스 오브젝트는 클라우드 환경이 아니면 사용할 수 없다 클라우드에서 인그레스를 생성하면 외부에 게이트웨이를 생성하고 각 기능에 맞게 서비스에 연결한다 GCP의 경우에는 외부 게이트웨이에 L7 규칙이 적용돼 있다 이 포스트에 있는 nginx-ingress를 사용해보기 전에 GCP에서 제공하는 ingress를 한번 써보시길 권장한다 HTTP(S) 부하 분산용 GKE 인그레스 http.. 개발강의정리/DevOps 2021. 1. 22. [데브옵스를 위한 쿠버네티스 마스터] 쿠버네티스 환경에서 예제를 활용한 애플리케이션 개발 쿠버네티스 환경에서 WordPress + Mysql 프로젝트 개발 Kubernetes Examples Git https://github.com/kubernetes/examples https://github.com/kubernetes/examples/tree/master/mysql-wordpress-pd 시스템 구축 방법을 YAML로 정리하고 배포하시오 Wordpress MySql 쿠버네티스 배포 실습 GCP 에서 실습 kustomization.yaml 생성하기 https://kubernetes.io/ko/docs/tutorials/stateful-application/mysql-wordpress-persistent-volume/#kustomization-yaml-%EC%83%9D%EC%84%B1%ED%9.. 개발강의정리/DevOps 2021. 1. 22. [데브옵스를 위한 쿠버네티스 마스터] 클러스터 유지와 보안, 트러블슈팅 - 클러스터, 애플리케이션 트러블 슈팅 가이드 클러스터, 애플리케이션 트러블 슈팅 가이드 트러블은 언제나 발생 트러블은 매번 이슈가 됨 쿠버네티스도 예외는 아니며 시스템이 단순하지 않기 때문에 더 철저한 점검 방법이 필요 트러블 슈팅의 기본은 최소단위로 테스트하기! 크게 두 가지로 클러스터, 애플리케이션 트러블이 발생 가능 애플리케이션 트러블 슈팅 애플리케이션에서 트러블이 발생하는 경우에는 해결 방법이 비교적 단순 각각의 포드, 컨피그맵 등의 로직에서 무엇이 잘못됐는지 확인 일반적으로 이름이나 레이블링이 다른 데서 발생 클러스터 트러블 슈팅 클러스터에서 발생하는 트러블 슈팅의 경우는 쿠버네티스 시스템에 대한 깊은 이해를 요구 일반적으로 다수에서 발생하기 보다는 한 두 군데의 장애가 존재 Kubectl이 접속되지 않을 때는 serverapi 자체의 문.. 개발강의정리/DevOps 2021. 1. 22. [데브옵스를 위한 쿠버네티스 마스터] 클러스터 유지와 보안, 트러블슈팅 - 네트워크 정책 적용 네트워크 정책 적용 네트워크 정책(Network Policy) CNI 플러그인 Clico, Weavenet 을 설치해야지 사용가능 포드 그룹이 서로 및 다른 네트워크 끝점과 통신하는 방법을 지정 NetworkPolicy 리소스는 레이블을 사용하여 포드를 선택 선택한 포드에 허용되는 트래픽을 지정하는 규칙을 정의 특정 포드를 선택하는 네임 스페이스에 NetworkPolicy가 있으면 해당 포드는 NetworkPolicy에서 허용하지 않는 연결을 거부 이그레스 https://kubernetes.io/docs/concepts/services-networking/network-policies/#networkpolicy-resource 선택된 포드에서 나가는 트래픽에 대한 정책 설정 ipBlock을 통해 Bloc.. 개발강의정리/DevOps 2021. 1. 22. [데브옵스를 위한 쿠버네티스 마스터] 클러스터 유지와 보안, 트러블슈팅 - 시큐리티 콘텍스트 시큐리티 콘텍스트 보안 컨텍스트 서버 침해사고 발생 시 침해사고를 당한 권한을 최대한 축소하여 그 사고에 대한 확대를 방지 침해사고를 당한 서비스가 모든 권한(root나 노드 커널 기능)으로 동작하는 경우 서비스를 탈취한 공격자는 그대로 컨테이너의 권한을 사용할 수 있음 최소 권한 정책에 따른 취약점 감소 보안 컨텍스트 설정에는 다음 사항을 포함 권한 상승 가능 여부 프로세스 기본 UID/GID를 활용한 파일 등의 오브젝트의 액세스 제어 Linux Capabilities를 활용한 커널 기능 추가 오브젝트에 보안 레이블을 지정하는 SELinux (Security Enhanced Linux) 기능 AppArmor : 프로그램 프로필을 사용하여 개별 프로그램의 기능 제한 Seccomp : 프로세스의 시스템 호.. 개발강의정리/DevOps 2021. 1. 22. [데브옵스를 위한 쿠버네티스 마스터] 클러스터 유지와 보안, 트러블슈팅 - RBAC를 활용한 롤 기반 엑세스 컨트롤 RBAC를 활용한 롤 기반 엑세스 컨트롤 역할 기반 액세스 제어 (RBAC) 기업 내에서 개별 사용자의 역할을 기반으로 컴퓨터, 네트워크 리소스에 대한 액세스를 제어 rbac.authorization.k8s.ioAPI를 사용하여 정의 권한 결정을 내리고 관리자가 Kubernetes API를 통해 정책을 동적으로 구성 RBAC를 사용하여 룰을 정의하려면 apiserver에 --authorization-mode=RBAC 옵션이 필요 rbac.authorization.k8s.ioAPI RBAC를 다루는 이 API는 총 4가지의 리소스를 컨트롤 Role 네임스페이스에 종속되는 제한된 특정 사용자 권한 RoleBinding ClusterRole 네임스페이스에 제약이 없는 관리자 권한 ClusterRoleBindi.. 개발강의정리/DevOps 2021. 1. 22. [데브옵스를 위한 쿠버네티스 마스터] 클러스터 유지와 보안, 트러블슈팅 - kube config 파일을 사용한 인증 kube config 파일을 사용한 인증 직접 curl을 사용하여 요청 key와 cert, cacert 키를 가지고 직접 요청 가능 그러나 매번 이 요청을 사용하기에는 무리가 있음 $ curl https://kube-api-server:6443/api/v1/pods\ --key user.key \ --cert user.crt \ --cacert ca.crt \ kubectl config 명령 확인 set-credentials: 로그인 관련 정보 등록 set-cluster: 클러스트를 추가로 등록 set-context: 만든 credentials 와 cluster 를 조합해서 어떤 서버에 어떤 아이디를 가지고 조회를 할 건지 정함 $ kubectl config Modify kubeconfig files u.. 개발강의정리/DevOps 2021. 1. 20. [데브옵스를 위한 쿠버네티스 마스터] 클러스터 유지와 보안, 트러블슈팅 - TLS 인증서를 활용한 유저 생성하기 TLS 인증서를 활용한 유저 생성하기 1. ca를 사용하여 직접 csr 승인하기 개인 키 생성하기 길이 2048 만큼의 개인 키 생성 $ openssl genrsa -out gasbugs.key 2048 private 키를 기반으로 인증서 서명 요청하기 CN: 사용자 이름 O: 그룹 이름 CA에게 csr 파일로 인증을 요청할 수 있음! $ openssl req -new -key gasbugs.key -out gasbugs.csr -subj "/CN=gasbugs/O=boanproject" Kubernetes 클러스터 인증 기관(CA) 사용이 요청을 승인해야 함 내부에서 직접 승인하는 경우 pki 디렉토리에 있는 ca.key와 ca.crt를 사용하여 승인 가능 gasbugs.csr을 승인하여 최종 인증서인.. 개발강의정리/DevOps 2021. 1. 20. [데브옵스를 위한 쿠버네티스 마스터] 클러스터 유지와 보안, 트러블슈팅 - TLS 인증서를 활용한 통신 이해 TLS 인증서를 활용한 통신 이해 SSL 통신 과정 이해 응용계층인 HTTP와 TCP계층사이에서 작동, 어플리케이션에 독립적 -> HTTP제어를 통한 유연성 데이터의 암호화 (기밀성), 데이터 무결성, 서버인증기능, 클라이언트 인증기능 Certificate를 보장하는 방법! 인증기관(CA) 그림 출처: https://docs.pexip.com/admin/certificate_management.htm#infinity_usage kubernetes의 인증서 위치 $ sudo ls /etc/kubernetes/pki apiserver-etcd-client.crt apiserver-kubelet-client.crt apiserver.crt ca.crt etcd front-proxy-ca.key front-pr.. 개발강의정리/DevOps 2021. 1. 20. 이전 1 2 3 4 ··· 6 다음 💲 추천 글 728x90