Ansible Jinja2 템플릿 반복문 set 문장과, for 문을 통한 반복문# envs에 리스트형식으로 데이터 기입{% set envs = ["dev", "stg", "prod"] %}# envs의 리스트를 불러 for문으로 하나씩 넣어 반복문 실행{%- for env in envs -%} test-{{ env }} {% if not loop.last %}, {% endif %}{%- endfor %} # 결과물test-dev, test-stg, test-prod DevOps/Ansible 2024.08.05
ELK(Elasticsearch + Logstash + Kibana + Filebeat)로그 모니터링 - 3 Kibana를 통한 확인 방법!! Index 설정 Stack Menagement 설정 선택 Kibana쪽 Data views 선택 및 Create data view 선택 name - index view 명칭 index pattern - 보여질 index명 기입 (위와같이 nginx-* 로할시 nginx- 로시작하는 모든 인덱스를 포함하게된다.) 오른쪽 네모박스 - 지정할수있는 index 리스트를 보여준다. 로그가 잘쌓이는지 확인단계 이제 인덱스를 그룹화해서 볼수있게 하였으니 확인하러가보자! 처음 화면으로 돌아와서 Dicover 선택 왼쪽 버튼을 통해 아까 만들었던 index view 명칭을 선택 오른쪽 버튼을 통해 시간 조절가능 1번 버튼을 통해 상세 설명을 확인할수 있다. 2번 버튼을 통해 해당 필드값.. AWS/EC2 2024.03.25
ELK(Elasticsearch + Logstash + Kibana + Filebeat)로그 모니터링 - 2 # Logstash + Filebeat 설치 Logstash 설치 https://www.elastic.co/guide/en/logstash/current/installing-logstash.html Installing Logstash | Logstash Reference [8.12] | Elastic Use the echo method described above to add the Logstash repository. Do not use add-apt-repository as it will add a deb-src entry as well, but we do not provide a source package. If you have added the deb-src entry, you will see a.. AWS/EC2 2024.03.25
ELK(Elasticsearch + Logstash + Kibana + Filebeat)로그 모니터링 - 1 # ELK란 ELK란 Elasticsearch + Logstash + Kibana 를 통한 모니터링을 뜻합니다. 보통 일반적으로 구조한다면 위와같은 구조로 진행하게 됩니다. 저는 아주 기본적으로 설치해보고 설정하는 작업을 진행해볼 예정입니다. 설치 진행은 elasticsearch - kibana - logstash - filebeat 순으로 진행할 예정입니다. 기본설치이므로 공식홈페이지를 참조해서 설치 진행하셔도 무방합니다. Elasticsearch rpm 설치 공홈 https://www.elastic.co/guide/en/elasticsearch/reference/current/install-elasticsearch.html Installing Elasticsearch | Elasticsearch G.. AWS/EC2 2024.03.22
Kibana process does not have enough permissions to write to config file 환경 더보기 OS - Rocky Linux release 8.9 (Green Obsidian) kibana - kibana-8.12.2-1.x86_64 위와같은 상황에서 elasticsearch와 연결하는 도중 에러 발생 로그내용은 더보기 {"service":{"node":{"roles":["background_tasks","ui"]}},"ecs":{"version":"8.6.1"},"@timestamp":"2024-02-28T08:48:09.577+00:00","message":"Kibana process does not have enough permissions to write to config file","log":{"level":"ERROR","logger":"plugins.interactiveS.. AWS/EC2 2024.02.28
ERROR: Failed to determine the health of the cluster. Unexpected http status [503], with exit code 65 환경 OS - Rocky Linux release 8.9 (Green Obsidian) elasticsearch - elasticsearch-8.12.1-1.x86_64 elasticsearch를 클러스터 구성한 이후 elastic 계정에 대한 패스워드를 수정하려니 오류가 발생했다. # /usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic -i ERROR: Failed to determine the health of the cluster. Unexpected http status [503], with exit code 65 # /usr/share/elasticsearch/bin/elasticsearch-create-enrollment-.. AWS/EC2 2024.02.21
Ansible 변수 관련 내용 필자는 ansible을 처음 접하는 과정이다. 아래 설명은 ansible-playbook 기반으로 설명한다. ansible을 사용하면서 좀더 이해하기 쉽게 변수에 대한 설명을 풀어서 점차 기록을 늘려갈 예정이다. 혹시라도 잘못알고있다던지 틀리다면 피드백 요청바랍니다. server.ini 더보기 위 파일에는 ansible로 서버를 컨트롤 하기위해 접근하려는 서버의 정보를 기입하게 되어있습니다. 보통 아래와 같이 적습니다. [ server ] #명칭은 본인이 원하는대로 수정가능 harulife-1 ansible_host= 1.2.3.4 haru_name="harulife" #이와같이 내용은 아무렇게나 적어도된다. harulife-2 ansible_host= 4.3.2.1 haru_name="harulife_.. DevOps/Ansible 2024.02.08
EC2 키 페어 관리 EC2 생성시 키페어를 생성하여 접근하게 설정할수도 있다. 그런데 한가지 궁금한부분은 키페어를 생성하면 EC2 -> 키 페어 리스트에 생성했던 키페어 리스트가 나온다. 위 항목에서 키페어가 삭제되면 서버 접근이 불가할까? 답은 키페어 파일을 가지고있다면 접근이 가능하다! 해당 항목은 단지 생성했던 리스트를 보여줄뿐 제어까지 되어지진 않는것으로 보여진다. 접근을 불가하게 하려면 EC2내에서 기존에 있는 키페어 정보를 제거해야 한다! AWS/EC2 2024.02.01
[Mac] kubectx, fzf 설치를 통한 여러대의 kubernetes 관리 Mac을 통해 여러대의 kubernetes를 관리하다보면 각각 접근하기에 번거로움이 있다. 이부분을 alias 설정도 할수있고 여러가지 방법이 있겠지만 kubectx와 fzf를 통해 편리하게 kubernetes 접근을 변경하는 방법을 알려드리려 한다. kubectx # brew install kubectx 위 명령어를 통해 kubectx를 설치한다. # kubectx 위 명령어를 통해 연결되어있는 클러스터 정보를 확인할수있습니다. fzf # brew install fzf 위 명령어를 통해 fzf를 설치한다. # kubectx 위 명령어를 통해 진행하였을시 클러스터를 선택할수있게 바뀐 부분을 확인할수 있습니다. 위와같이 kubectx 명령어를 통해 클러스터를 선택해 접속할수가 있습니다. 기타 2023.11.08
argoCD EKS 업그레이드 관련 Supported versions EKS 업그레이드 작업중 설치된 에드온에 관련하여 EKS 버전에 따른 지원사항을 확인하게된다. Argocd 같은경우 내용 설명이 되어있긴하지만 해당 내용의 이해를 돕기위해 글을 남깁니다. 영어버전 Supported versions Similar to the Kubernetes project, the supported versions of Argo CD at any given point in time are the latest patch releases for the N and N - 1 minor versions. These Argo CD versions are supported on the same versions of Kubernetes that are supported by Kubernetes it.. DevOps/ArgoCD 2023.10.19
EKS 접근 제한 설정 EKS에 접근하는 유저를 제한할수있는 설정이 있다. # kubectl edit configmap aws-auth -n kube-system apiVersion: v1 data: mapRoles: | - groups: - system:bootstrappers - system:nodes rolearn: arn:aws:iam::{account_id}:role/{workernode-role} username: system:node:{{EC2PrivateDNSName}} mapUsers: | - userarn: arn:aws:iam::{account_id}:user/{user_name1} username: user_name1 groups: - system:mastsers - userarn: arn:aws:iam:.. AWS/EKS 2023.09.15
Kubectl 명령어 모음집 파드 정보를 가져온다. Kubectl get po ingress 정보를 가져온다. Kubectl get ing service 정보를 가져온다. kubectl get svc hpa 정보를 가져온다. kubectl get hpa EKS 클러스터 등록 aws eks --region {사용할 리전} update-kubeconfig --name {클러스터 명} aws eks --region ap-northeast-2 update-kubeconfig --name eks-test-service 단, EKS가 생성된 어카운트의 자격증명은 얻은상태에서 등록해야한다. AWS/EKS 2023.09.15
Git 명령어 모음집 현재상태 확인 # git status 전체 로그 확인 # git log 저장소에 코드 추가 # git add . (현재경로에서 하위경로까지 변경된 사항을 저장한다는 명령어) # git add 파일명 (해당 파일만 저장하겠다는 명령어) # git add -A (모든 파일의 변경사항을 저장한다는 명령어) 커밋 생성 # git commit -m "[작업내용 or 메모]" 변경 사항 원격 서버 업로드 # git push origin [브랜치명] 원격 저장소의 데이터 가져오기 # git pull 원하는 브랜치로 이동 # git checkout [브랜치명] 모든 브랜치 확인 # git branch -a 수정된 내용을 다시 되돌리기 # git checkout -- [수정된파일] (수정된 파일만 되돌리기) git ad.. DevOps/Git 2023.07.10
AWS EKS ConfigMap 설정 ConfigMap 설정으로는 환경변수 설정, 파일로 마운트 등등 설정방법이 있으며 필자는 파일로 마운트 설정에 관해서 설명하려한다. 테스트 환경은 AWS EKS를 사용중이며 deployment,dockerfile을 통해 구성중이다. 더보기 apiVersion: v1 kind: ConfigMap metadata: name: jeonyj-conf data: nginx-conf: | user nginx; worker_processes auto; error_log /var/log/nginx/error.log; pid /var/run/nginx.pid; ... web-harulife-co-kr-conf: | server { ... } web-harulife-kr-conf: | server { ... } 위와같이 .. AWS/EKS 2023.03.02
AWS WorkSpace 파일 공유 AWS의 AD 안의 모든 WorkSpace에 파일을 공유 하는 방법이다. 1. 관리자 WorkSpace를 생성 및 설정. (PCoIP, WSP 각각 생성해야함) 2. GPO를 통해 파일 공유를 진행할것이다. 1. 관리자 WorkSpace 생성 및 설정. 1-1) WorkSpace가 AD를 컨트롤 할수있게 설정 powerShell을 관리자 권한으로 실행시켜 Install-WindowsFeature RSAT-ADDS 로 필요한 패키지를 설치한다. Active Directory 사용자 및 컴퓨터 항목에서 아래 항목에 접근해 계정을 추가해준다. 4가지 항목 다 수정해준다. 위작업은 "그룹 정책 관리 템플릿"을 사용하기위한 밑작업이다. 1-2) 그룹 정책 관리 템플릿 사용 참고 링크 : https://docs.a.. AWS/WorkSpaces 2023.01.10
Kubernetes Node Limits,Request 쿠버네티스를 사용할때 의문점이 생겼다. Node에는 Pod가 저장되는데 Pod에대해 사용할수 있는 자원을 Requests, Limits 설정이 가능하다. Requests - Node에 Pod가 생성될때 요구하는 값. Limits - Node에 배치된 Pod가 최대로 사용할수 있는 값. 그리고 Node에 배치될때 Pod의 Requests값으로 배치가되는지 Limits로 배치가 되는지 궁금한 부분이였다. 결과는 Node에 Pod가 배치될땐 Requests값으로 배치가 된다. Requests값으로 배치가되고 Limits값까지 사용이 가능하지만 Node에서 필요한 자원을 지원해주지못할경우 CPU가 넘을경우 throttling이 발생되고 Memory가 넘을경우 Out Off Memory(OOM)가 발생된다. AWS/EKS 2022.12.06
nginx 특정 method 리다이렉트 DELETE라는 메소드로 /v2/reviews/ 에 요청이 올시 https://aaa.aaa.com;로 넘겨라 라는 내용의 설정이다. location ~ ^/v2/reviews/((.*))$ { if ($request_method = DELETE ) { proxy_pass https://aaa.aaa.com; } rewrite ^/v2/reviews/(.*)$ /v2/reviews/$1 break; proxy_set_header Host $proxy_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_ssl_server_name on; proxy_ssl_.. 리눅스/Nginx 2022.04.12
fatal: repository '' not found MAC 에서 git clone 을 시도했을때 해당 fatal: repository '' not found 에러가 나타났다. 글쓴이는 aws codecommit을 git clone으로 받아오려는 작업을 하고있던 중이였다. 이때 확인해볼 사항은 아래와 같다. 1. 아래와 같은 방식으로 잡아본다. # 형식 git clone https://[git user name]:[git password]@[git repository address] # 예시 git clone https://devmin:1234asdf12234@github.git 2. URL링크를 다시 잡아본다. git remote remove origin git remote add origin URL 3. git 버전 문제.(해결) 저같은경우 git 버.. DevOps/Git 2022.03.29
terraform terraform은 명령어를 내리는 위치의 모든tf파일을 참조한다. 주로 init, plan, apply 명령어를 쓰게된다. init = 모든 tf 파일을 체크하여 변동사항이나 적용가능 여부 체크 plan = 체크가됫다면 이게 정상적으로 구동될지 여부 확인 apply = 해당 내역을 실제로 적용시키기. 보통 terraform apply가 진행되면 진행내용이담긴 백앤드 파일이 생성된다. 별도 설정이없다면 명령어를 진행한 로컬 서버에 생기게된다. 백앤드 파일을 중요하기에 작업자가 여려명이라면 공유가 되어야하는 파일이다. 예를들면) terraform 파일로 생성된 EC2가 있을경우 해당 EC2를 누군가 콘솔로 작업을하여 수정을하였다. 하지만 또다른 누군가가 terraform 명령어를 통해 apply가 진행되면.. DevOps/Terraform 2021.12.10