반응형

분류 전체보기 98

Istio 설치

이번에는 Istio 설치를 해보겠습니다.Istio란?Istio는 서비스 메쉬(Service Mesh)로, 클라우드 네이티브 애플리케이션에서 마이크로서비스 간의 통신을 쉽게 관리할 수 있도록 돕는 오픈 소스 입니다. Istio는 주로 Kubernetes 환경에서 사용되며, 다음과 같은 기능을 제공합니다. 트래픽 관리: 마이크로서비스 간의 네트워크 트래픽을 제어하고 라우팅하는 기능을 제공합니다. 이를 통해 A/B 테스트, 카나리 배포, 서비스 간 로드 밸런싱 등을 쉽게 할 수 있습니다. 보안: 서비스 간 통신을 자동으로 암호화(TLS)하고, 인증 및 권한 부여를 관리합니다. 또한 서비스 간의 보안 정책을 중앙에서 관리할 수 있게 해줍니다. 관찰 가능성(Observability): 마이크로서비스 간의 트래픽에..

쿠버네티스 2024.09.27

ELK 연결 구성 (filebeat 포함)

이번엔 ELK 사용해보도록 하겠습니다.기본적인 Flow는 아래 이미지와 같습니다.  FileBeat는 로그를 가져올 서버에 설치를 한 후에 Logstash 에 로그를 전달, 그리고 Logstash에서 ElasticSearch에 로그 전송 후, Kibana에서 시각화 하는 형식으로 구성하였습니다. ELK 및 filebeat 설치 방법은 아래를 참조해주세요 2024.09.13 - [Monitoring] - filebeat 설치 해보기 filebeat 설치 해보기현재 제가 사용하는 OS는 ubuntu 22.04 입니다.apt 패키지 매니저를 사용해서 설치해보도록 하겠습니다.1. Public Signing Key 다운로드 공식 홈페이지에는 아래와 같이 나와있지만, # wget -qO - https://artif..

Monitoring 2024.09.24

Forward Proxy 구성 및 확인

이번엔 Forward Proxy 구성 및 확인 해보겠습니다.대략적인 구성도 입니다.내부망(인터넷 안됨) 에 있는 서버에서 외부와 통신하여 패키지 설치하는 것을 해보도록 하겠습니다.  Forward Proxy 구성저는 hinata/forward-proxy-nginx 이미지를 사용하여 구성해보았습니다.이미지 다운로드# docker pull hinata/nginx-forward-proxy컨테이너 시작# docker run -itd --name fp -p 3128:3128 -p 80 -p 443 hinata/nginx-forward-proxy 내부망 서버 Proxy 설정먼저 프록시 설정을 하지 않고 curl 명령어로 구글 URL을 입력하면 결과가 다음과 같이 나옵니다.# curl https://www.googl..

Linux 2024.09.13

filebeat 설치 해보기

현재 제가 사용하는 OS는 ubuntu 22.04 입니다.apt 패키지 매니저를 사용해서 설치해보도록 하겠습니다.1. Public Signing Key 다운로드 공식 홈페이지에는 아래와 같이 나와있지만, # wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add - 실제로 실행을 해보니 아래와 같은 에러가 나옵니다.W: https://artifacts.elastic.co/packages/8.x/apt/dists/stable/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in..

Monitoring 2024.09.13

Docker 사용하여 ELK 설치 (Elasticsearch, Logstash, Kibana)

이번엔 ELK 설치를 해보겠습니다. 먼저 Elasticsearch를 설치해보겠습니다.Elasticsearch 설치먼저 elasticsearch 이미지를 받아주겠습니다.# docker pull docker.elastic.co/elasticsearch/elasticsearch:8.15.1 그리고 docker 볼륨을 생성해줍니다.# docker volume create elasticsearch 생성해주면, /var/lib/docker/volume/elasticsearch 디렉터리에 생성이 됩니다.볼륨을 생성해주는 이유는 elasticsearch의 설정 파일을 로컬에도 가지고 있기 위함 입니다.이제 컨테이너 실행을 해줍니다.# docker run -itd --name es -p 9200:9200 -m 1GB -..

Monitoring 2024.09.11

RedHat Ceph Storage 7 설치

Ceph 설치 과정저는 vSphere 환경에서 가상머신 4개를 생성하여 진행하였습니다.각 노드들 IP 정보 입니다.bootstrapceph01ceph02ceph0310.10.91.5110.10.91.5210.10.91.5310.10.91.54 모든 노드들에서 아래 명령어 실행 # subscription-manager register=> ID, PW 입력# subscription-manager refresh# subscription-manager list --available --matches 'Red Hat Ceph Storage'=> Subscription Name: Red Hat Ceph Storage Add-on for Red Hat OpenStack Platform, Premium (Up to 5..

RedHat 2024.09.03

주먹구구식 Gradle 빌드/배포 자동화 (Gitlab-runner, ArgoCD)

앞서 진행했던 Gradle 빌드 참고해주세요. 2024.07.25 - [Git] - Gitlab-runner 사용해서 Gradle 빌드 해보기 Gitlab-runner 사용해서 Gradle 빌드 해보기이번엔 Gitlab-runner 사용해서 Gradle 빌드 해보겠습니다.1. Gitlab Project에 build 할 때 필요한 파일 업로드저 같은 경우에는 Gitlab에서 Project를 하나 생성을 한 후에 빌드에 필요한 파일들을 모두 올려두ksh-cloud.tistory.com docker_build 단계Gradle 빌드를 완료하면,해당 jar 파일 가지고 이미지 빌드를 해준 후에 Harbor 레지스트리에 push 해줍니다.우선 Dockerfile의 내용을 변수로 생성해줍니다.(GitLab Proje..

Git 2024.08.13

쿠버네티스 대시보드 생성 및 접속

쿠버네티스 대시보드 생성# kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.6.1/aio/deploy/recommended.yaml  그리고 저는 metallb를 사용하고 있어서 서비스 type을 LoadBalancer로 변경 하였습니다. # kubectl edit service -n kubernetes-dashboard kubernetes-dashboard  그리고 LoadBalancer의 IP로 접속을 하면 토큰, kubeconfig 방식 중 하나로 로그인 하도록 되어있습니다.저는 Token 방식으로 진행하였습니다.우선 ServiceAccount 부터 생성을 해줍니다.# vim serviceaccount.yamlap..

쿠버네티스 2024.08.06

쿠버네티스 클러스터 내 DNS 주소 변경

저 같은 경우 k8s 클러스터에서 ArgoCD를 설치하였는데,제가 생성한 GitLab Repository를 등록하는 데, Error가 나왔습니다.Error를 정리 해보면,CoreDNS에서 제가 생성한 GitLab의 도메인을 찾지 못하여 ArgoCD에서 Repository를 등록하지 못하는 에러가 나왔었습니다.그래서 CoreDNS의 ConfigMap을 수정하여 다음과 같은 에러를 해결했습니다.CoreDNS ConfigMap 수정# kubectl edit configmaps -n kube-system coredns 위 명령어를 입력 해주면 아래 이미지와 같이 나옵니다. 여기서 저는 forward . 부분에 제가 사용하는 DNS 서버의 IP를 입력 해주었더니만 ArgoCD에서 정상적으로 제가 생성한 GitLa..

쿠버네티스 2024.07.26

Gitlab-runner 사용해서 Gradle 빌드 해보기

이번엔 Gitlab-runner 사용해서 Gradle 빌드 해보겠습니다.1. Gitlab Project에 build 할 때 필요한 파일 업로드저 같은 경우에는 Gitlab에서 Project를 하나 생성을 한 후에 빌드에 필요한 파일들을 모두 올려두었습니다.  2. 원격 서버에 SSH 키 생성 및 Pipeline 변수 설정.gitlab-ci.yml 파일로 Run Pipeline 하기 전에 원격 서버(10.10.92.10)에서 해주어야 할 일이 있습니다. 1. SSH 키 생성$ ssh-keygen -t rsa -b 4096 위 명령어를 입력하면 두 개의 파일이 생성 됩니다.id_rsa (개인 키)id_rsa.pub (공개 키) 2. 서버의 인증된 키에 공개 키 추가앞서 생성된 공개 키를 원격 서버(10.10..

Git 2024.07.25
반응형