Cloud Engineering

Ad-Hoc 명령 관리하는 노드에 단일 작업을 수행할 때 사용한다. 반복적이거나 2개 이상의 작업을 하는 경우에는 Playbook 으로 수행한다. ansible [PATTERN] -m [MODULE] -a "[MODULE OPTIONS/ARGUMENT]" 예시 다음은 관리 노드 중 하나인 ansi-node2 라는 호스트를 재부팅시키는 Ad-Hoc 명령이다. $ ansible ansi-node2 -m reboot 현재 Ansible에서 사용할 수 있는 모든 모듈에 대한 정보 확인 $ ansible-doc -t module -l 특정 모듈에 대한 정보 확인하기 $ ansible-doc [MODULE_NAME] Ad Hoc 명령 vs Ansible Playbook 다음 그림은 동일한 작업을 수행하는 Ad Ho..
Inventory 란 Ansible이 관리하는 호스트들의 목록에 대해 설정하는 파일이다. 호스트들을 그룹 및 중첩 그룹으로 묶어서 관리할 수 있다. 인벤토리 파일은 INI , YAML 형식으로 정의할 수 있다. Default 인벤토리 파일 위치 : /etc/ansible/hosts 인벤토리를 지정하지 않은 경우 Default 인벤토리에서 참조된다. Inventory 조회하기 new-inventory 파일 예시 ansi-master1 # control host [group1] # 그룹명 ansi-node1 # 해당 호스트 ansi-node2 [group2] ansi-node3 [total-group:children] group1 group2 중첩 그룹을 지정할 때는 [중첩그룹이름:children] 이라고 ..
Ansible 이란 Ansible은 IaC 도구의 한 종류이다. 즉, 말그대로 인프라를 자동화 할 수 있는 도구이다. Ansible로 호스트들을 관리 및 구성하고, 배포를 자동화 할 수 있다. Ansible은 openSSH를 기본 전송 방법으로 사용한다. 따라서 보안과 신뢰성을 가지고 통신한다. Ansible에서는 에이전트 없이 Ansible이 바로 호스트들을 관리한다. Ansible은 절차적으로 수행된다. 작업이 정해진 순서대로 실행되어서 원하는 상태에 도달한다. IaC (Infrastructure as Code) 전통적인 인프라 환경에서는 수동으로 각각의 인프라를 구성해주어야 했다. 수동으로 관리하게 되면, 작업 속도도 느리고 사람이 수동으로 구성하다보니 실수와 같은 문제가 일어날 수 있다. 또한 비..
다양한 원인으로 인해서 일어날 것이다 나의 경우 이미지 파일이 잘못되었다 ->( 이미지파일만 다른 이미지 파일로 바꿔서 실행했을 때는 정상적으로 실행되었다. ) 이미지 파일을 고쳐준 다음에 새로운 버전의 이미지로 빌드해도 계속 실행이 되지 않았다 해결방법 --> control-plane 뿐만 아니라 다른 node들에서도 문제가 있는 이전 image 파일을 지워주어야 한다 !! 그리고 문제가 있는 image로 띄운 pod들을 다 지워준다 트러블슈팅어렵다..
Deployment (디플로이먼트) Deployment 는 ReplicaSet을 포함하고 있는 상위의 컨트롤러이다. Deployment는 컨트롤러나 파드와 같은 어플리케이션을 배포하고 리소스를 이용하여 컨트롤러와 파드를 제어한다. Deployment 의 하위에 ReplicaSet 이 있고, ReplicaSet은 복제된 Pod들을 관리한다. 주의할 점은 Deployment가 관리하는 ReplicaSet과 복제본 Pod 들이 있는데, ReplicaSet을 직접 제어하지 않고 Deployment 리소스를 통해 관리해야 한다는 점이다. 복제본 수(replicas)를 2로 지정한 Deployment 오브젝트를 생성하면 다음과 같다. Deployment 1개, ReplicaSet 1개, Pod 2개가 생성되었다. ..
Secret ConfigMap 처럼 키 - 값 형태로 저장하는 저장소이다. 그렇지만 ConfigMap과는 사용하는 목적이 다른데, Secret은 소량의 민감한 데이터를 안전하게 저장하기 위한 목적으로 사용한다. 따라서 패스워드, 인증서, 키, 토큰과 같은 정보를 담는데 적합하며, 1MiB 까지 저장할 수 있다. Secret 은 ConfigMap와 동일하게 특수한 볼륨의 한 형태라고 이해할 수 있으며, Pod에 볼륨으로 연결하여 사용할 수 있다. 또한 configMap은 Plain text로 저장되는 반면 secret은 base64 방식으로 인코딩되어 저장된다. Base 64 방식 인코딩과 디코딩을 하는 명령어는 다음과 같다. $ echo "minjee" | base64 bWluamVlCg== $ echo..
ConfigMap은 변수, 설정 파일 등의 내용을 key:value 형태로 저장한다. ConfigMap은 특수한 볼륨의 한 종류에 해당하며, 실제로 Pod를 생성할 때 ConfigMap 볼륨에 연결할 수 있다. Secret 오브젝트와 비교했을 때는 비교적 민감하지 않은 정보들이 저장된다. 1. 명령어로 ConfigMap 생성하기 $ kubectl create configmap CONFIGMAP_NAME --from-file=FILE_NAME $ kubectl create configmap CONFIGMAP_NAME--from-literal=KEY_NAME=VALUE # key 를 새로 지정하고 value를 파일에 있는 값으로 넣어주기 $ kubectl create configmap my-config3 -..
쿠버네티스 설정 파일을 작성할때 indent를 맞춰주어야 하는 일이 생기는데 작성 내용이 길어지면 어디가 틀렸는지 잘 안보인다.. 잘보이게끔 세로줄 하이라이트를 vim 설정파일에서 바꿔줄 수 있다 . sudo vim ~/.vimrc . vimrc 파일에 다음을 추가한다 set cursorcolumn 간단하게 설정완료 !
minjiwoo
'Cloud Engineering' 카테고리의 글 목록 (5 Page)