본문 바로가기

전체 글32

[K8S] Kubernetes Object 와 Manifest 작성 방법 쿠버네티스(이하 k8s) 클러스터에 application을 배포하기위해서는 k8s에 기술된 정의대로 object를 생성해야하고 이 때, yaml 형식의 manifest파일을 작성하게 된다. 외부와 통신하는 서버를 배포한다고 했을때, 기본적으로 자주 사용되는 k8s object는 아래와 같다. 1. Deployment - Pod 배포를 제어하는 object. pod replicas, resouce, 배포 방식같은것들을 제어한다. 2. Service - Pod들을 하나의 ip로 묶어줌. pod에 고정된 주소로 접근할 수 있게 하는 역할. 다양한 어플리케이션을 올리고 통신이 필요한경우 사용. 3. Ingress : 외부의 클러스터 pod 서비스에 접근관리 위한 ojeject. 일반적으로 http를 관리함. y.. 2022. 4. 17.
[ERROR] java: illegal character: '\ufeff' JAVA 빌드시 아래와 같은 오류로 compile error 가 발생하여 빌드 실패하였다. 에러 문구 [ERROR] java: illegal character: '\ufeff' 발생원인 특정 파일의 인코딩이 UTF-8 with BOM 으로 되어있었다. JAVA compile시 BOM 유니코드를 compile 하지 못한다. BOM이란? 문서 맨 앞에 눈에 보이지 않는 특정 바이트(byte)를 넣은 다음 이것을 해석해서 정확히 어떤 인코딩 방식이 사용되었는지 알아내는 방법이다. 메모장같은 일부 Windows 프로그램에서 눈에 보이지않지만 자동으로 BOM을 집어넣어 저장한다. 해결방법 IDE (IntelliJ, VS Code) 또는 메모장을 통해 쉽게 변경할 수 있다. 1. 인코딩 메뉴에 들어가 UTF-8 w.. 2022. 4. 14.
[Ansible/AWX] AWX 관리 tip - Management Job AWX는 이전의 활동 내역들 (activity stream data)가 계속 저장하고 있기때문에 history나 job log 등 보관을 위한 용량을 차지하게 된다. 때문에 주기적으로 이전 history 를 지워야 하는데 이때 Management Jobs 메뉴에서 처리 가능하다. Menu - Management Jobs - Cleanup Activity Stream - Launch 을 클릭한다. 나는 30일이 지난 내역을 모두 삭제했다. 매번 들어가서 정리하기 번거롭기 때문에 주기적으로 정리하도록 scheduling 할 수도 있다. Cleanup Activity Stream - Schecules 를 들어가 새로운 schedule을 등록한다. 2021. 3. 24.
[Ansible/AWX] AWX inventory 에 host 자동 추가 AWX를 사용하다보니 inventory 등록할때 host를 하나씩밖에 등록하는 것이 번거롭다. 여러 방법으로 host 정보를 gathering 할 수 있는데, (SOURCE설정, inventory script) 나는 inventory 도 git에 등록하여 사용하고 있기떄문에 git의 host파일을 불러와 자동으로 inventory 를 구성하도록 했다. 우선 새로운 inventory 를 추가한다 SOURCES 탭에들어가 신규 SOURCE를 추가한다. 이때 SOURCE 는 Sourced from a Project 로 선택하면된다. Inventory file 을 git에 update 할때마다 AWX의 inventory 도 sync 를 맞추기 위해 UPDATE OPTIONS 의 OVERWRITE 와 OVERWR.. 2021. 3. 24.
[Ansible/AWX] AWX 사용법 따라하기 1. Credential Menu - Credentials 에서 + 를 눌러 접속할 서버들의 credential 정보를 추가한다. 일반 서버에 접속할 것이기 때문에 Credential type은 Machine 선택하고, credential name 및 user/password 입력하고 저장한다. 비밀번호 대신 ssh key를 등록할 수 있다. 2. Inventory Menu - Inventories 에서 추가 버튼을 누른다. (Smart Inventory말고 일반 Inventory) Name 입력 후 SAVE 버튼을 누른 후에 해당 인벤토리에 host 정보를 등록할 수 있다. HOSTS 를 눌러 host를 추가한다. 등록된 host 가 정상적으로 접속되는지 확인하기 위해 해당 host 선택 후 "RUN .. 2021. 3. 19.
[AWX] Failed to seed from getrandom: Function not implemented AWX 에서 Inventory 에 정상적으로 연결되는지 확인하기 위해 test 서버에 ping 으로 접속이 잘 되는지 확인하려는데 아래와 같은 에러가 발생했다. 아래와 같이 해결했다. AWX Error Failed to seed from getrandom: Function not implementedfailed to connect to the host via ssh: failed to seed from getrandom: function not implemented 원인 AWX Container 내부에 들어가서 ssh 명령어를 치니 동일한 에러가 발생한다. ssh는 설치되어있지만 정상적으로 동작하지 않는듯함. AWX container 에 접속하는 방법은 AWX설치 서버에서 아래 명령어를 사용하면 된다. .. 2021. 3. 19.
[Ansible/AWX] Ubuntu에 AWX 설치 따라하기 Ansible 을 GUI 로 관리하고, api로 제어할수 있도록 해주는 시스템이다. Playbook 을 관리하고 운영하는데 필요한 여러 기능을 제공한다. 서버에 AWX를 설치해보고 사용법 익히자. 설치 서버 사양 - Ubuntun 14.04 - Python 2.7 1. 사전에 설치가 필요한 package ##ansible, docker, docker-compose sudo apt update && sudo apt -y upgrade apt-get install ansible apt-get install sshpass pip install docker-py pip install docker-compose ##pip pip install --upgrade pip pip install docker-compos.. 2021. 3. 17.
[삼성 패스 오류 해결] samsung pass를 일시적으로 사용할 수 없습니다. 나중에 다시 해보세요. (255) 에러 아이폰을 쓰다가 몇년만에 갤럭시로 갈아탔다. (S20+) 웹 페이지 로그인할때마다 Samsung pass 에 저장하겠냐는 창이 뜨고 저장버튼을 누르면 첫화면에 Samsung pass로그인하라고 뜬다. 이때 삼성계정으로 로그인을 하면 "samsung pass를 일시적으로 사용할 수 없습니다. 나중에 다시 해보세요(255)" 라는 에러와 함께 접속이 되지 않는다. 혹시나 계정이 비밀번호가 틀린건가 비밀번호 초기화도 해보고, 휴대폰 소프트웨어 및 삼성패스도 최신 버전으로 업데이트해보았으나 여전히 오류 발생. 해결이 되지 않아 삼성측에 아래와 같이 문의했다. 답변이 오기까지 2주가 넘게 걸렸다. 답변은 사용하던 삼성계정을 삭제후 재등록 해야한다는것. 몇년 전 갤럭시 노트7을 사용한 적이 있는데 이때 삼성 패스 .. 2021. 3. 5.
[docker] Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. docker run 시 --memory=xx --memory-swap=xx 옵션 설정하여 docker run 시 아래와 같은 에러 발생. 에러 Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. 2021. 1. 20.