분류 전체보기
-
Kubernetes Network Policy 정리 및 예시K8S 2023. 11. 26. 23:51
CNI 구현체 Network Policy는 Container Network Interface(CNI)에 의해 구현된다. 만약 선택한 CNI가 Network Policy를 지원하지 않는다면, 리소스가 생성되더라도 실제로 적용되지 않는다. 파드 그룹 제어 Network Policy를 사용하여 파드 그룹 간의 인그레스(Ingress)와 이그레스(Egress)를 제한할 수 있다. 이를 통해 파드 간의 네트워크 트래픽을 효과적으로 관리할 수 있다. Selector 사용 Namespace Selector나 Pod Selector를 사용하여 특정 네임스페이스 또는 파드 간의 네트워크 트래픽을 제어할 수 있다. 이는 네트워크 정책을 더욱 세밀하게 적용하는 데 도움을 준다. IPBlock 제어 특정 IP 범위(IPBlo..
-
다중 AWS Profile 사용AWS 2023. 10. 31. 14:19
AWS CLI(Command Line Interface)는 Amazon Web Services를 터미널 또는 커맨드라인에서 사용할 수 있게 해주는 도구입니다. 큰 프로젝트에서는 여러 AWS 계정이나 환경을 관리해야 할 때가 있는데, 이럴 때 프로파일을 통해 각 환경을 효율적으로 관리할 수 있습니다. 1. 프로파일 등록하기 새로운 프로파일을 등록하려면 다음과 같이 aws configure 명령어를 사용하면 됩니다: aws configure --profile=test-profile 위의 명령어를 실행하면 AWS Access Key, Secret Key, Default Region, Default Output Format을 순차적으로 입력하라는 프롬프트가 나옵니다. 입력하면 test-profile라는 이름의 ..
-
Nginx를 Istio Gateway로 expose하는 예제K8S 2023. 8. 11. 16:16
다음은 Nginx를 Istio Gateway로 expose하는 예제다. 플로우는 다음과 같다. apiVersion: networking.istio.io/v1alpha3 kind: Gateway metadata: name: nginx-gateway namespace: default spec: selector: istio: gateway # gateway 컨트롤러의 label을 명시한다. servers: - port: number: 80 name: http protocol: HTTP hosts: - "*" # 이 호스트에 대한 트래픽을 제어 --- apiVersion: networking.istio.io/v1alpha3 kind: VirtualService..
-
Netshoot: 컨테이너 환경에서의 네트워크 디버깅 도구K8S 2023. 8. 11. 13:31
네트워크 문제는 때때로 복잡하고 해결하기 어려울 수 있습니다. 특히 컨테이너 환경에서는 더욱 그렇습니다. `netshoot`는 네트워크 문제를 해결하고 디버깅하기 위한 Docker 이미지입니다. 이 이미지는 네트워크 유틸리티와 도구가 풍부하게 포함되어 있어, Kubernetes와 같은 컨테이너화된 환경에서 네트워크 문제를 쉽게 진단하고 해결할 수 있게 도와줍니다. Netshoot의 특징 풍부한 네트워크 도구: `netshoot`에는 `netstat`, `ifconfig`, `iperf`, `mtr`, `curl`, `traceroute` 등의 많은 네트워크 유틸리티가 포함되어 있습니다. Kubernetes와의 호환성: 문제가 있는 Pod나 노드의 네트워크를 효과적으로 진단하려면 `netshoot`를 해당..
-
자체 CA 인증서 만든 후 client, server 인증서 만들기메모 및 기타 2023. 8. 9. 23:35
CA는 디지털 인증서의 신뢰성을 확보하는 중요한 역할을 한다. 다음 단계들을 통해 자체 서명된 CA 인증서를 만드는 방법을 알아본다. 참고로 우분투 환경에서 openssl을 이용하였다. 1) Private Key 만들기 첫 단계로 CA의 private key를 만든다. openssl genpkey -algorithm RSA -out ca.key -aes256 2) Private Key로 Root CA 인증서 만들기 생성된 private key로 root CA 인증서를 생성한다. openssl req -x509 -new -nodes -key ca.key -sha256 -days 1825 -out ca.crt 그리고, 보안을 강화하기 위해 key 파일의 권한을 제한한다. chmod 400 ca.key CA로..
-
LVM 사용 중인 VM 파일 시스템 확장하기리눅스 2023. 7. 10. 14:46
이번 포스팅은 lvm을 사용 중인 vm의 파일시스템 용량이 부족하여 vm에 디스크를 추가하고, 이를 파일시스템으로 확장하는 방법에 대해서 다룬다. 1. 파티션 확장 디스크를 확장했으면, 제일 먼저 파티션을 확인한다. 다음 커맨드로 파티션을 확장한다. growpart /dev/sda 3 sda3의 파티션 크기가 확장되었음을 알 수 있다. 2. 논리 볼륨 사이즈 키우기 이제 파티션 안에 만들어진 논리 볼륨의 크기를 키운다. lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv 3. 파일 시스템 리사이징 이후 확장된 논리 볼륨 안에 있는 파일 시스템을 확장한다. resize2fs /dev/ubuntu-vg/ubuntu-lv 다음과 같이 파일 시스템이 잘 확장된 것을 볼 수 있다.
-
ECS Fargate 환경에서 JMX Exporter 이용한 prometheus metric 수집AWS 2023. 6. 25. 09:22
1. awsvpc network를 사용하는 fargate task definition 생성 awsvpc를 선택한 이유는 bridge 모드로 선택하게 되면, 나중에 service discovery를 만들 때, srv 레코드를 기반으로 만들어야 한다. srv 레코드를 사용하려면 app단의 수정이 필요해지고 나의 경우에는 app단 수정을 안하기 위해, awsvpc 모드를 선택했다. fargate를 선택한 이유는 서버 관리가 필요없다는 이점도 있겠지만, awsvpc와 ec2기반 ECS를 사용하게 되면, ec2 사양에 맞게 ip개수가 결정된다. 현재 사용 중인 ec2로는 ip 개수를 맞추기 힘들어 fargate를 사용했다. 2. service 생성할 때 service discovery 설정하기 service di..
-
S3 정적 호스팅 파일 다운로드 문제메모 및 기타 2023. 4. 29. 00:20
Amazon S3에서 정적 웹 호스팅을 사용할 때 index.html 파일이 다운로드되는 문제는 주로 Content-Type 설정이 잘못되었을 때 발생한다. 원래는 브라우저에서 파일을 올바르게 해석하고 표시해야 하지만, Content-Type이 잘못 설정되어 있으면 브라우저는 파일을 다운로드하려고 시도할 수 있다. 이 문제를 해결하려면 index.html 파일에 대한 metadata에서 'Key' 목록에서 'Content-Type'을 찾는다. 해당 키의 값이 'text/html'인지 확인 후, 만약 'text/html'이 아니라면, 올바른 값으로 변경한다. 이후 웹 브라우저에서 S3 버킷의 URL을 다시 로드해보고, 만약 여전히 문제가 발생한다면, 캐시를 지우고 다시 시도해보거나 다른 브라우저를 사용해서..