반응형

분류 전체보기 145

쿠버네티스 네임스페이스 변경

쿠버네티스에서는 네임스페이스 별로 pod, service 등등 자원이 나뉘는데, 특정 네임스페이스에 있는 자원들을 조회하려면ex) # kubectl get pods -n test 위와 같이 네임스페이스를 명시해줘야한다. (기본적으로는 default 네임스페이스)뒤에 -n 옵션 후 네임스페이스를 명시하는 것이 귀찮다면, 기본적으로 default 네임스페이스를 다른 네임스페이스로 변경 할 수 있다.예를 들어 ansible-awx 라는 네임스페이스를 default 네임스페이스 대신 하고 싶다면,# kubectl config set-context --current --namespace ansible-awx 위와 같이 커맨드를 입력을 해주면 변경된다. 변경 후 확인 방법은, 아래의 커맨드를 입력해주면 된다.# k..

쿠버네티스 2024.06.27

Gitlab runner 사용해서 CI 해보기

이번에 해볼 것은 Gitlab runner 사용해서 docker 이미지 빌드하고 harbor 레지스트리에 추가 해보도록 하겠습니다.config.toml 파일 수정우선 Gitlab runner에서 docker 명령어를 사용하기 위해서 /etc/gitlab-runner/config.toml 파일을 수정해줍니다.[[ruuners]] executor = "shell" => "docker" [runners.docker] tls_verify = false image = "docker:24.0.5" privilieged = true config.toml 파일을 수정해준 다음 Gitlab-runner를 재시작 해줍니다.(저 같은 경우에는 docker 컨테이너로 gitlab-runner 서비스를 실행해주었기 때..

Pipeline 2024.06.14

Kubernetes 네임스페이스 별 자원할당

이번엔 네임스페이스 별로 자원할당량을 설정해주고 serviceaccount에해당 네임스페이스에 대한 권한만 부여하여 자원을 나눠서 사용해보도록 하겠습니다.1. Namespace 생성우선 Namespace를 생성 해줍니다.# kubectl create namespace ex) kubectl create namespace test2. Service Account 생성네임스페이스를 사용할 Service Account를 생성 해줍니다.# kubectl create serviceaccount -n ex) kubectl create serviceaccount test-sa -n test3. Role 정의Service Account에 넣어줄 권한을 정의해주는 Role을 생성 해줍니다.apiVersion: rbac...

쿠버네티스 2024.06.11

쿠버네티스 Metrics 설치

이번엔 쿠버네티스 클러스터에 Metrics 설치를 해보겠습니다.우선 githup에서 metrics-server 설치를 위한 코드를 받아오겠습니다. # git clone https://github.com/kubernetes-sigs/metrics-server.git kubelets에서 제공하는 인증서를 무시하기 위해서 --kubelet-insecure-tls 옵션을 넣어줍니다.# cd metrics-server/manifest/base# vim deployment.yaml  그리고 이제 yaml 파일을 사용해서 배포 해줍니다.위치는 /metrics-server/manifests/base# kubectl apply -k .  설치 완료 후 확인# kubectl top nodes

쿠버네티스 2024.06.10

Gitlab API 사용하여 수동으로 데이터 이동(Project, User, Group)

이번에 해볼 것은Gitlab API를 사용하여 Group, User를 먼저 옮겨주고, 필요한 Project를 export하여 새롭게 생성한 Gitlab 서버에 import 해주는 작업을 해보겠습니다.Gitlab API를 사용하여 Group, User 데이터 생성우선, 원래 사용하고 있던 Gitlab에서 API를 사용하여 Group과 User 데이터를 받아보겠습니다.http:///api/v4/groups 를 URL 창에 넣어줍니다. 그러면 json 형태로 데이터 값이 나오는데, 이걸 복사해서 vi 편집기에 복사한 내용을 적어서 groups.json 파일로 만들어 줍니다.위와 비슷하게 http:///api/v4/users 를 URL 창에 입력해서 나온 json 데이터를 vi 편집기를 열어서 복사해준 후 us..

Git 2024.05.25

Docker compose 설치 (ubuntu)

Docker compose 설치 과정은 docker.docs에 나와 있습니다.https://docs.docker.com/compose/install/linux/Docker compose 설치1. Docker Engine을 설치하기 전에 Docker의 공식 GPG key를 생성 해줍니다.# apt-get update# apt-get install ca-certificates curl# install -m 0755 -d /etc/apt/keyrings# curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc# chmod a+r /etc/apt/keyrings/docker.asc 2. apt source.li..

도커 2024.05.22

AWX 컬렉션 설치 (requirements.yml)

AWX를 사용하던 도중 Hosts에 등록된 노드들에서 한번에 ssh-key를 생성하고 싶어서 아래 코드를 사용했더니만 오류가 발생하였다.---- name: Create ssh-keygen to Common Hosts hosts: Common # Inventory에서 생성한 Groups tasks: - name: Generate ssh-key community.crypto.openssh_keypair: path: /tmp/id_ssh_rsa  그래서 구글링 해보던 중, requirements.yml 파일을 생성하고 안에 collections 을 정의해주면 된다는 글을 발견..---collections: - name: community.crypto 그 후 Github에 등록 후 Temp..

Ansible 2024.05.17

AWX 시작해보기 (Inventory, Credentials, Projects, Templates)

앞서 AWX 설치는 아래 링크에서 확인하실 수 있습니다.2024.05.13 - [AWS] - AWX 설치 (k8s 환경) AWX 설치 (k8s 환경)AWX란?Ansible을 기반으로 그래픽 인터페이스를 통해 Ansible 플레이북, 인벤토리 및 작업 일정을 중앙 집중화하고 제어할 수 있으므로 인프라 전체에서 자동화 작업을 더 쉽게 관리하고 모니터링할ksh-cloud.tistory.com 목표이번에 해볼 목표는 각 호스트들에 hello.txt 파일을 생성해보겠습니다.1. Inventory 생성Inventory는 AWX에서 관리하는 호스트들을 선택해서 넣을 수 있습니다. [Add] - [Add inventory] 새로운 inventory를 생성 해줍니다. Name: 원하는 이름Organization: 생성해..

Ansible 2024.05.14

AWX 설치 (k8s 환경)

AWX란?Ansible을 기반으로 그래픽 인터페이스를 통해 Ansible 플레이북, 인벤토리 및 작업 일정을 중앙 집중화하고 제어할 수 있으므로 인프라 전체에서 자동화 작업을 더 쉽게 관리하고 모니터링할 수 있게 해주는 오픈소스 툴 입니다. 이제 쿠버네티스 클러스터에서 설치를 해보도록 하겠습니다. AWX 설치1. 필요한 패키지 설치# apt install -y git make 2. awx-operator 설치2-1. 해당 주소에 있는 git 레포지토리에서 파일을 받아옵니다.# git clone https://github.com/ansible/awx-operator.git2-2. git 레포지토리에서 0.17.0 버전으로 변경 (브랜치)# cd awx-operator# git checkout 0.17.02..

Ansible 2024.05.13
반응형