'Cloud&Container/IaC'에 해당되는 글 13건

  1. 2020.08.27 [Docker] 맥북에 우분투 올리기
  2. 2020.08.26 [Docker] Docker Container 내 Terraform 설치
  3. 2020.08.14 [Ansible] Elasticsearch + Docker Compose 구성 시 vm.max_map_count 이슈.
  4. 2020.08.14 [Ansible] apt lock 문제.
  5. 2020.07.31 [Terraform] S3 Backend 사용.
  6. 2020.04.08 [Docker] Docker Compose TZ 설정
  7. 2020.04.01 [Docker] Docker Compose 로 Ubuntu 올리기
  8. 2020.03.31 [Docker] Amazon Linux 에 Docker & Compose 설치 하기.
  9. 2020.03.30 [Docker] Image 다운로드 및 로컬 설치 하기
  10. 2020.03.27 [Docker] Docker Registry 구성 키워드

[Docker] 맥북에 우분투 올리기

Cloud&Container/IaC 2020. 8. 27. 18:32

가끔 필요 할 때가 있습니다.

 

docker-compose.yml)

version: '3.7'
services:
  ubuntu-mac:
    image: ubuntu:18.04
    container_name: ubuntu-mac
    stdin_open: true
    tty: true
    command: [/bin/bash]

 

tags : compose, docker, MAC, OSX, ubuntu
Trackbacks 0 : Comments 0

Write a comment


[Docker] Docker Container 내 Terraform 설치

Cloud&Container/IaC 2020. 8. 26. 08:26

아래와 같이 설치 하게 되면 0.11.x 버전이 설치가 됩니다.

Terraform 의 경우 syntax 가 버전에 따라 다른 부분이 있기 때문에 사용 하시는 버전에 맞추 설치 하시면 좋습니다.

 

RUN apk add terraform  

 

버전을 지정 해서 설치 하는 건 아래와 같이 하시면 됩니다.

RUN wget https://releases.hashicorp.com/terraform/0.13.0/terraform_0.13.0_linux_amd64.zip
RUN unzip terraform_0.13.0_linux_amd64.zip && rm terraform_0.13.0_linux_amd64.zip
RUN mv terraform /usr/bin/terraform

위에서 0.13.0 에 대한 부분은 변수로 빼서 사용을 하셔도 됩니다.

 

ENV terraform-version 0.13.0
...중략...
RUN wget https://releases.hashicorp.com/terraform/${terraform-version}/terraform_${terraform-version}_linux_amd64.zip

참고문서)

https://docs.docker.com/engine/reference/builder/

 

Trackbacks 0 : Comments 0

Write a comment


[Ansible] Elasticsearch + Docker Compose 구성 시 vm.max_map_count 이슈.

Cloud&Container/IaC 2020. 8. 14. 14:36

vm.max_map_count 설정은 host 서버에 해주시면 문제는 해결 됩니다.

다만, 이를 수동으로 하면 아무 의미 없겠죠.

 

자동으로 구성 하기 위해서 terraform + ansible 사용 하는 건데 수동으로 할 거면 ....

 

처음에는 init.sh 라는 스크립트 안에서 처리 하도록 했습니다.

- name: Run a script with arguments
  script: init.sh

init.sh 에는 아래 코드가 들어가 있습니다.

sudo sysctl -w vm.max_map_count=262144

 

이렇게 했으면 당연히 elasticsearch 를 실행 시켰을 때 문제가 없을 줄 알았는데, 적용이 안되었는지 오류가 발생했습니다.

그래서 ansible 에 명령어를 추가 해서 문제를 해결했습니다.

- name: set vm.max_map_count
  shell: sudo sysctl -w vm.max_map_count=262144

 

$ ansible-playbook 해 보면 아래와 같은 warning 메시지가 나오는데요.

Consider using 'become', 'become_method', and 'become_user' rather than running sudo

 

- name: become parameters
  become: yes
  become_method: sudo
  become_user: ubuntu 

이렇게 넣어서 사용하라는 이야기 입니다.

 

[수정]

- name: set vm.max_map_count
  become: yes
  become_method: sudo
  shell: sysctl -w vm.max_map_count=262144
Trackbacks 0 : Comments 0

Write a comment


[Ansible] apt lock 문제.

Cloud&Container/IaC 2020. 8. 14. 14:27

ansible 을 이용해서 서버에 필요한 stack 들을 설치 해야 하는 경우 아래와 같은 에러가 발생 할 때가 있습니다.

 

[에러]

...중략...

E: Could not get lock /var/lib/dpkg/lock

...중략...

정리 하면 다른 프로세스가 이미 사용중이기 때문에 사용할 수 없다는 뭐 그런 이야기 입니다.

그렇다 보니 ansible 배포가 실패 하게 되는데요.

 

이를 해결 하기 위해서 wait_for 나 process check 나 retry 등 다양하게 해봤는데, 그나마 아래 코드가 제일 잘 동작해서 올려 봅니다.

 

[해결]

- name: Apt lock check
  apt: name=build-essential state=present
  register: apt_state
  until: apt_state is success
  delay: 30
  retries: 10

 

Trackbacks 0 : Comments 0

Write a comment


[Terraform] S3 Backend 사용.

Cloud&Container/IaC 2020. 7. 31. 14:21

공식 문서는 아래 참고 하세요.

https://www.terraform.io/docs/backends/types/s3.html

 

terraform {
  backend "s3" {
    bucket = "버킷이름"
    key    = "폴더/파일"
    region = "ap-northeast-2"
  }
}
  • s3 backend 를 사용하기 위해서 먼저 s3 bucket 을 생성 합니다.
  • key 부분은 미리 생성해 놓지 않아도 terraform 실행을 하시면 생성이 됩니다.
  • 만약 bucket 을 만들어 놓지 않고 실행을 하게 되면 아래와 같은 에러가 발생 합니다.
Error refreshing state: BucketRegionError: incorrect region, 
the bucket is not in 'ap-northeast-2' region at endpoint ''
	status code: 301, request id: , host id:
  • bucket 을 생성 하고  $ terraform init 을 해도 같은 에러가 계속 발생 합니다.
  • 이 경우 .terraform 폴더를 삭제 하고 다시 시도 하시면 정상적으로 동작 합니다.

Terraform 기본 명령어)

$ terraform init

$ terraform plan

$ terraform apply

$ terraform destroy

.aws 에 aws configure 를 통한 설정이 되어 있어야 합니다.

 

 

tags : backend, S3, terraform
Trackbacks 0 : Comments 0

Write a comment


[Docker] Docker Compose TZ 설정

Cloud&Container/IaC 2020. 4. 8. 09:14

docker-compose tz 설정

 

Case 1)

volumes:
  - "/etc/localtime:/etc/localtime:ro"
  - "/etc/timezone:/etc/timezone:ro"


Case 2)

environment:
  - TZ=Asia/Seoul

 

Trackbacks 0 : Comments 0

Write a comment


[Docker] Docker Compose 로 Ubuntu 올리기

Cloud&Container/IaC 2020. 4. 1. 20:41

docker-compose.yml)

version: '3.7'
services:
  ubuntu-mac:
    image: ubuntu:18.04
    container_name: ubuntu-mac
    stdin_open: true
    tty: true
    command: [/bin/bash]

or

$ docker run --rm --name ubuntu-mac -ti ubuntu:18.04 /bin/bash

 

tags : compose, docker, ubuntu
Trackbacks 0 : Comments 0

Write a comment


[Docker] Amazon Linux 에 Docker & Compose 설치 하기.

Cloud&Container/IaC 2020. 3. 31. 14:06

Amazon linux docker & docker-compose 설치)

$ sudo yum update
$ sudo yum install docker
$ docker version
...중략...
Cannot connect to the Docker daemon at unix:///var/run/docker.sock.
Is the docker daemon running?
$ sudo service docker start
$ docker version
Got permission denied while trying to connect to the Docker daemon socket at 
unix:///var/run/docker.sock: 
Get http://%2Fvar%2Frun%2Fdocker.sock/v1.40/version: dial unix /var/run/docker.sock: 
connect: permission denied
$ sudo docker version
$ sudo usermod -a -G docker ec2-user

# https://github.com/docker/compose 에서 latest version 을 확인 합니다.
$ sudo curl -L https://github.com/docker/compose/releases/download/1.25.4/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
$ sudo chmod +x /usr/local/bin/docker-compose

$ docker-compose up
Couldn't connect to Docker daemon at http+docker://localhost - is it running?

$ sudo groupadd docker
$ sudo usermod -aG docker $USER
$ newgrp docker 

$ docker-compose up
tags : AWS, compose, docker
Trackbacks 0 : Comments 0

Write a comment


[Docker] Image 다운로드 및 로컬 설치 하기

Cloud&Container/IaC 2020. 3. 30. 08:41

인터넷이 안되는 환경에서 설치를 해야 할 경우가 있을 수도 있어서 이미지를 다운로드 받아 설치 하는 명령어를 작성해 보았습니다.

찾아 보면 다 나와 있는 거라서 그냥 기억력을 돕는 차원에서 간단하게 작성 합니다.

 

- root 로 안할 경우 누락 되는 파일이 있을 수 있음.
- save : load
- export : import

 

로컬로 다운로드 받기)

$ sudo docker save [옵션] <파일명> [이미지명]
$ sudo docker save -o elasticsearch.tar docker.elastic.co/elasticsearch/elasticsearch:7.6.1

# docker-compose.yml 파일 안에 
# image: docker.elastic.co/elasticsearch/elasticsearch:7.6.1


이미지 올리기)

$ sudo docker load -i tar파일명
$ sudo docker load -i elasticsearch.tar


컨테이너 자체를 파일로 내리기)

$ sudo docker export <컨테이너명 or 컨테이너ID> > xxx.tar


컨테이너 올리기)

$ sudo docker import <파일 or URL> - [image name[:tag name]]

 

tags : docker, image, local
Trackbacks 0 : Comments 0

Write a comment


[Docker] Docker Registry 구성 키워드

Cloud&Container/IaC 2020. 3. 27. 10:50
  • Nexus3
  • Harbor
  • S3

 

참고문서)

https://velog.io/@king/%EC%82%AC%EB%82%B4-Docker-Registry-%EB%A7%8C%EB%93%A4%EA%B8%B0-Nexus3-%EA%B8%B0%EB%B0%98-e9k69evm4a

https://engineering.linecorp.com/ko/blog/harbor-for-private-docker-registry/

https://goharbor.io/

 

Trackbacks 0 : Comments 0

Write a comment