본문 바로가기
728x90
반응형
SMALL

Linux&Ubuntu/Docker&kuber26

GitLab CLI Tool (GLab) 설치 본 글은 https://sysdocu.tistory.com/1894 을 참조 하였습니다. GLab 은 GitLab 의 기능을 웹브라우저를 통하지 않고도 터미널에서 사용할 수 있게 해주는 GitLab CLI 도구입니다. GitLab API 를 이용하여 프로젝트, 이슈, 병합 요청 등을 터미널에서 쉽게 관리하고 조작할 수 있습니다. 본 매뉴얼 내용은 Ubuntu 22.04 환경에서 테스트 되었습니다 - GitLab CE 설치 : https://sysdocu.tistory.com/1892 - GitLab CLI : https://gitlab.com/gitlab-org/cli 1. GLab 설치 (Client PC 에서) 작성일 기준 GLab 배포 버전은 1.36.0 을 설치 합니다. - 버전 정보 : http.. 2024. 2. 19.
Ubuntu 22.04 GitLab CE(community edition)설치 본글은 https://sysdocu.tistory.com/1892 을 참조 하였습니다. GitLab은 Git 저장소 관리, CI/CD, 이슈 트래킹, 웹 IDE 등의 기능을 제공하는 자체 호스팅 가능한 플랫폼입니다. 이를 사용하여 소스 코드를 관리하고 프로젝트를 효율적으로 개발할 수 있습니다. 여기에서는 Ubuntu 22.04 서버에서 GitLab 을 설치하는 가이드를 제공합니다. 이 가이드는 기본적인 설치 방법을 제공하며, 실제 프로덕션 환경에서는 보안 및 성능을 위한 추가 구성이 필요할 수 있습니다. - 공식 사이트 : https://about.gitlab.com/ 1. GitLab 설치 환경을 최신으로 유지합니다. # apt -y update # apt -y upgrade GitLab 에 필요한 패.. 2024. 2. 19.
ubuntu 22.04 minikube 설치 보호되어 있는 글 입니다. 2024. 1. 11.
Cloud Foundry 배포시 memory, disk 할당 # cf push php-app -k 1G -m 2G name: php-app requested state: started routes: php-app.apps.xxx.zzz last uploaded: Fri 29 Dec 06:43:42 UTC 2023 stack: io.buildpacks.stacks.bionic buildpacks: type: web sidecars: instances: 1/1 memory usage: 2048M start command: bash "-c" "php -S 0.0.0.0:\"${PORT:-80}\" -t /workspace" state since cpu memory disk logging details #0 running 2023-12-29T06:44:58Z 0.0% 0.. 2023. 12. 29.
Ubuntu 22.04 Kubernetes + Korifi 설치하기 (테스트) 보호되어 있는 글 입니다. 2023. 11. 30.
docker porteiner로 mailserver 구축하기. docker porteiner로 mailserver 구축. 먼저 도메인 설정은 필수입니당. 내도메인.co.kr.com mx mail.내도메인.co.kr.com imap.내도메인.co.kr.com A 내아이피0.0.0.0 mail.내도메인.co.kr.com A 내아이피0.0.0.0 smtp.내도메인.co.kr.com A 내아이피0.0.0.0 # mkdir /home/vittorio/mail_data 이제 porteiner 접속하여 오른쪽 상단에 Add container 클릭. name : mailserver image : analogic/poste.io 하단에 publish a new network port 찾아 클릭 아래 그림과 같이 포트끼리 연결합니다. 추가적으로 Advanced container se.. 2023. 9. 18.
Docker Portainer 설치 2. Docker Portainer 설치 2-1. yml 파일 수정 및 설치 portainer은 서버 접속하지 않고 외부에서(Web) Container status를 확인 가능합니다. # vi docker-compose.yml version: '3.9 services: httpd: image: httpd:2.4.54 container_name: httpd restart: unless-stopped # 서버 부팅시 컨테이너 가동 ports: - "80:80" volumes: - /home/vittorio/httpd/html/:/usr/local/apache2/htdocs/ # 웹 소스 파일 경로 mysql: image: mysql:8.0.31 container_name: mysql restart: unle.. 2023. 9. 18.
docker php 설정하기 1) PHP 환경 설정 방법 php 컨테이너 내의 설정 파일 (php.ini) 를 호스트 서버로 복사하고 호스트 서버의 php.ini 파일을 사용하도록 해야 합니다. 컨테이너가 구동중인 상태에서 아래와 같이 파일을 복사 합니다. php 컨테이너의 /usr/local/etc/php/php.ini-development 파일을 /home/vittorio/php/conf/ 디렉토리 아래에 php.ini 이름으로 복사. # mkdir -p /home/vittorio/php/conf # docker cp php:/usr/local/etc/php/php.ini-development /home/vittorio/php/conf/php.ini Successfully copied 74.75kB to /home/vittori.. 2023. 9. 18.
Docker mysql 설정하기 1) MySQL 환경 설정 방법 MySQL 컨테이너 내의 data 디렉토리와 my.cnf 설정 파일을 호스트 서버로 복사해오면 데이터 및 설정 관리가 수월해 집니다. 컨테이너가 구동중인 상태에서 아래와 같이 파일을 복사 합니다. mysql 컨테이너의 /var/lib/mysql 디렉토리를 /home/vittorio/mysql/data 디렉토리로 복사 # mkdir /home/vittorio/mysql # docker cp mysql:/var/lib/mysql/ /home/vittorio/mysql/ Successfully copied 206.5MB to /home/vittorio/mysql/ # mv /home/vittorio/mysql/mysql /home/vittorio/mysql/data mysql .. 2023. 9. 18.
docker apm+ssl 인증서 Docker httpd 환경 설정하기 (PHP 연동, Virtualhost 및 SSL 적용) 1) httpd 기본 환경 설정 방법 httpd 컨테이너 내의 설정 파일 (conf) 를 호스트 서버로 복사하고 호스트 서버의 conf 디렉토리를 사용하도록 해야 합니다. 컨테이너가 구동중인 상태에서 아래와 같이 파일을 복사 합니다. httpd 컨테이너의 /usr/local/apache2/conf 디렉토리를 /home/vittorio/httpd/ 디렉토리 아래로 복사. # docker cp httpd:/usr/local/apache2/conf/ /home/vittorio/httpd/ 호스트 서버에서 httpd 에 대한 conf 설정과 logs 확인이 가능하도록 docker-compose.yml 파일을 수정합니다... 2023. 9. 14.
docker-compose 로 apm 기본 설치 본글은 ubuntu 22.04 버전에서 설치 했습니다. Docker 설치 # apt -y update # apt -y upgrade # apt -y install apt-transport-https ca-certificates curl gnupg lsb-release 2. Docker 공식 GPG 설치 # curl -fsSL https://download.docker.com/linux/ubuntu/gpg |gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg 3. Docker 공식 저장소 추가 # echo \ "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] h.. 2023. 9. 14.
Cronjob 사용하기 cron jab job 컨트로러로 실행 application pod 를 주기적으로 반복해서 tlfgod linux cronjob 의 스케줄링 기능을 job Controller에 추가한 API 다음과 같은 반복해서 실행하는 job을 운영해야 할 때 사용 -data backup -send email -cleaning tesks Cronjob Schedule: "1 1 1 * *" job definition cronjob definition apiVersion: batch/v1 kind: Job metadata: name: centos-job spec: #completions: 5 #parallelism: 2 activeDeadlineSeconds: 15 template: spec: containers: - .. 2023. 9. 13.
job controller 사용하기 kubernetes는 pod 를 running중인 상태로 유지 batch 처리하는 pod는 작업이 완료 되면 종료됨 batch 처리에 적합한 컨트롤러로 pod의 성공적인 완료를 보장 - 비정상 종료 시 다시 시행 - 정상 종료 시 완료 # kubectl run testpod --image=centos:7 --command sleep 5 # kubectl get pods --watch NAME READY STATUS RESTARTS AGE testpod 0/1 Pending 0 0s testpod 0/1 Pending 0 0s testpod 0/1 ContainerCreating 0 0s testpod 0/1 ContainerCreating 0 0s testpod 1/1 Running 0 1s testpo.. 2023. 9. 13.
StatefulSet 사용하기 StatefulSet -pod의 상태를 유지해주는 컨트롤러 pod이름 pod의 볼륨 (스토리지) rc-nginx.yaml statefulset-exam.yaml apiVersion: v1 kind: ReplicationController metadata: name: rc-nginx spec: replicas: 3 selector: app: webui template: metadata: name: nginx-pod labels: app: webui spec: containers: - name: nginx-container image: nginx:1.14 apiVersion: v1 kind: StatefulSet metadata: name: sf-nginx spec: replicas: 3 serviceNam.. 2023. 9. 11.
DaemonSet 사용하기. -전체 노드에서 pod가 한 개씩 실행되도록 보장 -로그 수입기 , 모니털이 에이전트와 같은 프로그램 실행 시 적용 master에서 node1,2가 있을때 node3을 추가로 join 시키면 node3에서도 자동으로 생성됩니다. rs-nginx.yaml daemonset-exam.yaml apiVersion: apps/v1 kind: ReplicaSet metadata: name: rs-nginx spec: replicas: 3 selector: matchLabels: app: webui template: metadata: name: nginx-pod labels: app: webui spec: containers: - name: nginx-container image: nginx:1.14 apiVers.. 2023. 9. 11.
Deloyment 사용하기 Deloyment 1)Deployment -> ReplicaSet-> pod 컨트롤 -ReplicaSet 을 컨트롤해서 Pod 수를 조정 -Rolling Update & Rolling Back -Rolling Update & Rolling Back란 목표 kubectl을 이용하여 롤링 업데이트 수행하기 애플리케이션 업데이트하기 사용자들은 애플리케이션이 항상 가용한 상태일 것이라 여기고 개발자들은 하루에 여러번씩 새로운 버전을 배포하도록 요구 받고있다. 쿠버네티스에서는 이것을 롤링 업데이트를 통해 이루고 있다. 롤링 업데이트는 파드 인스턴스를 점진적으로 새로운 것으로 업데이트하여 디플로이먼트 업데이트가 서비스 중단 없이 이루어질 수 있도록 해준다. 새로운 파드는 가용한 자원을 보유한 노드로 스케줄될 것이다.. 2023. 9. 8.
ReplicaSet 사용하기 Replication Controller와 유사하지만 더 유연한 셀렉터와 매칭하여 파드를 관리할 수 있으며, 롤링 업데이트 및 롤백을 지원합니다. ReplicaSet spec: replicas: 3 selector: matchLabels: app: webui machExpressions: - {key:version, operator:in, value:["2.1","2.2"]} temp.. ex) - {key:version, operator:in, value:["2.1","2.2"]} 2.1, 2.2 버전이 들어간거 3개 운영해세요. - {key:version, operator:Notln, value:["2.1","2.2"]} 2.1,2.2 버전이 아닌걸로 해주세요 . - {key:version, oper.. 2023. 9. 8.
controller종류와 Replication controller controller란 pod의 개수를 보장 순서) 1.쿠버야 나 nignx 웹서버를 3개 실행해줘 2.kubectl create deployment webui --image=nginx --replicas=3 3.API가 ETCD 로 정보를 받아온다. 4.API가 scheduler 에 물오보고 어디로 생성할지 확인하다 5.API가 Controller에게 너가 컨테이너 3개를 잘 관리 해라 6.혹시라도 하나가 문제가 발생되면 api에게 전달하여 하나더 생성해라 라고 말하고 다시 3개가 되면 관리 한다. --------------------------------------------------------------------------------------------------------------------.. 2023. 9. 7.
pod 환경변수, 패턴의 종류 3가지 env 환경 변수 설정 # vi pod-nginx-env.yaml apiVersion: v1 kind: Pod metadata: name: pod-nginx spec: containers: - image: nginx:1.14 name: pod-container ports: - containerPort: 80 protocol: TCP env: - name: MYVAR value: "testvalue" # kubectl create -f pod-nginx-env.yaml pod/pod-nginx created # kubectl exec pod-nginx -it -- /bin/bash root@pod-nginx:/# env HOSTNAME=pod-nginx NJS_VERSION=1.14.2.0.2.6-1~st.. 2023. 9. 7.
pod에 Resource 할당하기 CPU/Memory requests Limit pod에 Resource 할당하기 CPU/Memory requests, Limit pod resource 요청 제한 resource requests - 파드를 실행하기 위한 최소 리소스 양을 요청 resource Limits - 파드가 사용할 수 있는 최대 리소스 양을 제한 - memort limit 을 초과해서 사용되는 파드는 종료(OOM Kill)되며 다시 스케줄링 된다. https://kubernetes.io/docs/tasks/configure-pod-container/assing-cpu-resource/ # vi pod-nginx-resources.yaml apiVersion: v1 kind: Pod metadata: name: nginx-pod-resource spec: containers: .. 2023. 9. 6.
728x90
반응형
LIST