본문 바로가기

서버인프라137

Proxmox Firewall 안녕하세요 오늘은 proxmox의 firewall 사용에 대해 설명해 보려 합니다. 아래와 같이 Datacenter의 firewall에서 options를 선택하고 Firewall 을 yes로 변경합니다. Datacenter > firewall > options > Firewall [yes] 그리고 node proxmox의 firewall도 아래와 같이 yes로 변경 합니다. 이렇게 되었으면 proxmox의 방화벽을 사용할 수 있게 되었습니다 그럼 하나 예시로 룰 설정을 해보겠습니다. 현재 104(tlogin)서버는 firewall이 실행 되어 있습니다 이렇게 되면 모든 통신에 대해 차단이 됩니다. 현재 저 서버는 Port 22와 80 포트가 열려 있습니다. 하지만 현재 firewall이 실행 중 이기 때.. 2023. 1. 9.
[제 9강] Ingress 안녕하세요. 오늘은 Ingress 에 대해서 얘기해 보려 합니다. 저도 쿠버네티스를 공부하며, 기록 할겸 이렇게 계속 쿠버네티스 강의를 쓰고 있습니다. 하면서 보니 적용할 수 있는 곳과 적용하기 힘든 곳이 구분이 되더라구요 같이 글 보시는 여러분들도 많은 것들을 느끼면서 공부하는데 제 글이 도움이 되셨으면 합니다. 쿠버네티스에서 ingress로 사용할 수 있는 것들이 많은 것으로 알고 있습니다. 그중 쿠버네티스에서는 AWS와 GCE 그리고 Nginx를 지원합니다. 그 중에서 우리는 단돈서버에서 설치했으니 Nginx ingress 컨트롤러를 사용해 보도록 하겠습니다. ingress 부분을 공부하면서 많은 실수가 있어서 삽질즘 했는데 그 부분 역시 내용을 공유 하도록 하겠습니다. 우선 nginx ingres.. 2023. 1. 5.
[제 8강] Service 오늘은 쿠버네티스의 서비스에 대해 얘기하려 합니다. Service 포드 집합에서 실행 중인 응용 프로그램을 네트워크 서비스로 노출하는 추상적인 방법입니다. Kubernetes를 사용하면 익숙하지 않은 서비스 검색 메커니즘을 사용하기 위해 응용 프로그램을 수정할 필요가 없습니다. 쿠버네티스는 팟들에게 자신들의 IP 주소와 팟들의 집합에 대한 단일 DNS 이름을 부여하고, 이들 사이에서 로드 밸런싱을 할 수 있다. 단일지점을 만든다는 것은 l4를 사용함 과 같은 효과를 내어 부하분산을 이뤄낼수 있다는 것을 얘기합니다. 바로 예제로 넘어가서 사용해 보도록 하겠습니다. 이전 시간에 만들었던 Deployment를 실행하여 pod 3개를 실행해 줍니다. apiVersion: apps/v1 kind: Deployme.. 2023. 1. 4.
MariaDB, MySQL 사용자 관리 사용자 권한 조회 # 사용자 별 권한 확인 mysql > SHOW GRANTS FOR '사용자계정'@'호스트'; # 접속된 계정 권한 확인 mysql > SHOW GRANTS FOR CURRENT_USER; 사용자 권한 추가 권한종류 - ALL PRIVILEGES : 모든 권한 추가 - SELECT, INSERT, UPDATE, DELETE: 권한의 일부분 추가 적용 DB 및 테이블 - DB이름.테이블이름 : *.*시 모든 DB의 모든 TABLE권한 부여 WITH GRANT OPTION - with grant option : GRANT를 사용할 수 있는 권한 # 일반 사용 계정 mysql > GRANT ALL PRIVILEGES ON DB이름.테이블이름 TO '아이디'@'호스트' IDENTIFIED BY.. 2023. 1. 3.
[제 7강] NameSapace NameSpace Kubernetes에서 네임스페이스는 단일 클러스터 내의 리소스 그룹을 격리하는 메커니즘을 제공합니다. 리소스 이름은 네임스페이스 내에서 고유해야 하지만 네임스페이스 간에는 고유하지 않습니다. 네임스페이스 기반 범위 지정은 네임스페이스 개체(예: 배포, 서비스 등)에만 적용되며 클러스터 전체 개체(예: 스토리지 클래스, 노드, 영구 볼륨 등)에는 적용되지 않습니다. 초기 네임스페이스 Kubernetes starts with four initial namespaces: default Kubernetes는 네임스페이스를 먼저 만들지 않고 새 클러스터를 사용할 수 있도록 이 네임스페이스를 포함합니다. kube-node-lease 이 네임스페이스에는 각 노드와 연결된 리스 개체가 있습니다. 노.. 2022. 12. 29.
[제 6강] Updating a Deployment 지난 시간에 만들었던 nginx-deployment.yaml 파일을 활용할 계획 입니다. 우선 삭제를 하고 다시 만들어 보겠습니다. nginx-deployment.yaml 파일이 있는 가정하에 작업을 진행하겠습니다. kubectl delete deployments.apps nginx-deployment 위와 같이하여 삭제를 한 후 아래와 같이 신규로 생성해 줍니다. kubectl create -f nginx-deployment.yaml 위와 같이 다들 생성 되셨나요? 그럼 현재의 nginx 버전을 확인해 보겠습니다. kubectl exec nginx-deployment-85996f8dbd-xxqpb -it -- nginx -v nginx version: nginx/1.14.2 현재 우리가 설치한 ngin.. 2022. 12. 27.
[제 5강] Deployments 배포는 포드 및 복제 세트에 대한 선언적 업데이트를 제공합니다. 배포에서 원하는 상태를 설명하면 배포 컨트롤러가 제어된 속도로 실제 상태를 원하는 상태로 변경합니다. 배포를 정의하여 새 복제본 집합을 만들거나 기존 배포를 제거하고 해당 리소스를 새 배포와 함께 모두 채택할 수 있습니다. 사용 사례 다음은 배포의 일반적인 사용 사례입니다. 복제본 세트를 원격 설치할 배포를 작성합니다. ReplicaSet는 배경에 포드를 작성합니다. 원격 설치의 상태를 확인하여 성공 여부를 확인합니다. 배포의 PodTemplateSpec을 업데이트하여 포드의 새 상태를 선언합니다. 새 복제본 세트가 작성되고 배포는 이전 복제본 세트에서 새 복제본 세트로 포드를 제어된 속도로 이동합니다. 각 새 복제본 집합은 배포의 수정본을.. 2022. 12. 25.
[제 4강] ReplicaSet 목적은 주어진 시간에 실행되는 안정적인 복제본 포드 세트를 유지하는 것입니다. 이와 같이, 동일한 포드의 지정된 수의 가용성을 보장하기 위해 사용 됩니다. 복제본 세트의 작동 방식 ReplicaSet는 원하는 수에 도달하기 위해 필요에 따라 포드를 만들고 삭제함으로써 목적을 달성합니다. 복제 세트는 새 포드를 만들어야 할 때 해당 포드 템플릿을 사용합니다. 상세한 사항은 아래 링크에서 확인 하시길 바라며 테스트를 진행해 보겠습니다. 우선 아래와 같은 이름으로 yaml파일 하나를 만듭니다. vi test-replicaset.yaml apiVersion: apps/v1 kind: ReplicaSet metadata: name: frontend labels: app: guestbook tier: fronten.. 2022. 12. 21.
[제 3강] Resource Management 쿠버네티스에 pod에는 여러개의 컨테이너를 올릴 수 있습니다. 그래서 궁금해서 오늘 몇개나 올라가나 확인해 보고자 kubectl create deployment web-nginx --image=nginx --replicas=200 아래와 같은 명령어를 입력해 봤습니다. nginx 를 200개를 만들어 달라고 node-1, node-2에 분배되어 생성 되겠죠? 근데 200개가 다 생성이 될까요?? node-1, node-2 둘다 같은 사양 입니다. NODE 사양 CPU : 8Core MeM : 4Gb kubectl create deployment web-nginx --image=nginx --replicas=200 그리고 이렇게 실행 시켰더니 다음과 같이 실행이 되었습니다. root@master:~# ku.. 2022. 12. 19.
[제 2강] 컨테이너 생성을 조금더 깊이있게 오늘은 컨테이너 생성 방법에 대해 좀더 심도 있게 생성해 보려 합니다. 지난 시간에는 kubectl run 하여 nginx컨테이너를 생성했는데요 이번 시간에는 같은 컨테이너 여러개 생성하기와 yaml 파일을 활용하여 컨테이너 생성 하는 법에 대해 알아 보려 합니다. 지난시간에 컨테이너 1개를 생성한게 있었는데 일단 삭제를 해보겠습니다. 컨테이너 삭제는 delete 명령어를 사용합니다. # kubectl delete pods [pod name] kubectl delete pods nginx 위와 같은 명령어로 삭제 할 경우도 있지만 우리가 만약 전체 다 삭제를 하는 경우가 발생 한다면 하나씩 삭제 할 수는 없겠죠? 그래서 이번에는 전체 삭제 하는 명령어도 한번 사용해 보겠습니다 kubectl delete .. 2022. 12. 16.
[제 1강] 쿠버네티스 명령어 사용 및 pod 생성 오늘은 쿠버네티스 명령어에 익숙해지기 위해서 몇가지 명령을 학습해 보고, 컨터이너를 만들어서 잘 동작 하는지 확인해 보는 작업을 해보기로 하겠습니다. 1. node 확인 쿠버네티스에 join되어 있는 노드를 확인 하는 방법을 확인해 보겠습니다 아래와 같이 간단하게 한줄의 명령어로 확인 할 수 있습니다. root@master:~# kubectl get nodes NAME STATUS ROLES AGE VERSION master Ready control-plane 2d13h v1.26.0 node-1 Ready 2d13h v1.26.0 node-2 Ready 2d13h v1.26.0 헌데 조금 부족한 내용입니다. 아이피도 확인이 안되고 OS 확인도 안되고 아주 간략한 정보만 제공 합니다. 그럼 조금더 많은 .. 2022. 12. 14.
쿠버네티스 설치 오늘은 쿠버네티스 설치를 해보려 합니다. 우리가 사용할 것은 kubernetes + crio + calico 입니다. 이렇게 조합해서 사용해 보겠습니다. weabenet으로 테스트 해봤는데 잘 안되서 calico로 변경했습니다. 혹시 weabnet으로 잘 되신 분이 계시면 상세히 공유 해주심 감사하겠습니다. 우선 아래와 같이 구성을 해볼 생각 입니다. 자 그럼... 이제 설치를 시작해 보겠습니다. 설치 환경은 총 3대의 서버가 필요하고 저는 proxmox로 3대를 구성해서 사용하겠습니다. HOST OS IP MASTER Ubuntu 20.04 10.0.1.180 NODE-1 Ubuntu 20.04 10.0.1.181 NODE-2 Ubuntu 20.04 10.0.1.182 그리고 저와 같이 항해를 하실 분.. 2022. 12. 13.
쿠버네티스를 공부해요~ 조금 늦게 나마 쿠버네티스를 공부하려 한다. 시작은 일찍이 손 댔었는데 회사 사정상 적용하지 못하고 공부 역시 뒤로 미뤄뒀다. 몇년 전에는 시작 단계여서 지금처럼 활성화 되지 않은 이유도 있다 개인적으로 너무 일찍 기술에 손대기가 점점 싫어진 것도 있고.. 트랜드에 맞춰 공부를 해야 하는 것은 맞지만 무조건 적으로 트랜드가 옳다라고 할 수는 없다. 지금도 마찬가지다 몇대 사용하지 않는 곳에서 쿠버네티스를 사용할 이유는 없다고 생각한다 최소 50대 이상 사용할 경우가 아니라면 구지 컨테이너를 할 필요가 있을가 싶다. 오히려 가상화 하이퍼 바이저만 잘 사용해도 운영함에 있어서 불편함이 없다. 그러던 중 이제는 해야 할 때가 되었다고 판단하고 같은 직종에 일하는 동생들 형들이 다들 쿠버네티스에 대한 얘기가 많.. 2022. 12. 12.
Proxmox upgrade 현재 7.2.3 버전을 사용하고 있다. 현재 7.3.3 버전으로 업그레이드 해보려고 한다. 헌데 몇가지 문제가 있다 이란 Repository 수정이 필요하다. 수정 전 vi /etc/apt/sources.list deb http://ftp.kr.debian.org/debian bullseye main contrib deb http://ftp.kr.debian.org/debian bullseye-updates main contrib # security updates deb http://security.debian.org bullseye-security main contrib 수정 후 vi /etc/apt/sources.list deb http://ftp.debian.org/debian bullseye ma.. 2022. 12. 7.
MariaDB SlowQuery Log 설정 늘 mariadb slowquery 설정을 하다가 변경된거 같아서 기록을 남기게 되었습니다. 예전에는 ON, OFF로 컨피그에 넣었던거 같은데 찾아보니 enable_slow_query_log 를 추가 하는 방식도 있더라구요, 근데 예전처럼 아래와 같이 추가 하여도 잘 되긴 합니다. slow_query_log = 1 enable_slow_query_log slow_query_log_file = /var/log/mysql/mariadb-slow.log long_query_time = 3 log_slow_verbosity = query_plan,explain log-queries-not-using-indexes systemctl restart mariadb 이제 마리아DB 재시작을 해주고 설정이 잘 되었는지 .. 2022. 12. 6.
Proxmox Dark Thema 설정 안녕하세요 오늘은 proxmox의 눈부신 흰색 thema를 걷어내고, 모든 개발자 엔지니어의 사랑 dark로 돌아가 보겠습니다. 아래 github에 들어가셔서 사용법은 다시 한번 확인 하실 수 있습니다. https://github.com/Weilbyte/PVEDiscordDark GitHub - Weilbyte/PVEDiscordDark: A Discord-like dark theme for the Proxmox Web UI. A Discord-like dark theme for the Proxmox Web UI. Contribute to Weilbyte/PVEDiscordDark development by creating an account on GitHub. github.com 설치순서 proxmox.. 2022. 12. 6.
Proxmox Cluster 제거 이번에는 Proxmox Cluster 제거 방법에 대해서 알아보겠습니다 Proxmox에서 클러스터 제거는 웹에서 불가합니다. 버튼 역시 찾아 볼수 없습니다. 다른 하나는 제가 못찾은 거 일 수도 있습니다. 하지만 일단 찾지 못하였으니. 명령어로 제거 하는 방법을 행하여 보도록 하겠습니다. 아래 명령어로 proxmox의 클러스터 정보를 확인 할 수 있습니다. pvecm status 노드 정보를 확인 했으면 아래와 같이 노드를 보겠습니다. 이중 우리는 4번째 노드를 제거 할 것입니다. root@empathize:~# pvecm nodes Membership information ---------------------- Nodeid Votes Name 1 1 empathize (local) 2 1 empath.. 2022. 12. 2.
proxmox 클러스터 연결 안녕하세요. TED입니다. 이번에는 proxmox의 클러스터 연결을 하는 방법을 알아보려 합니다. 클러스터 연결은 상당히 쉽습니다. 웹에서 연결을 하는 방법에 대해서 알아 보겠습니다. 우선 먼저 아래와 같은 경로로 찾아 들어갑니다. Datacenter > Cluster > Create Cluster 아래와 같이 클러스터 연결을 만들어 볼 수 있습니다. 만들고 나면 이제 다른 Nodes를 연결해 주면 됩니다. 이제 그럼 다른 노드에서 어떻게 붙여야 하는지 보겠습니다. 저는 4개의 노드를 사용한다고 지난번에 한번 이야 했던 적이있습니다. 3개는 이미 클러드터로 연결되었고 1대만 남겨둔 상황이였는데요 그럼 이 한대 마저도 클러스터 연결을 하겠습니다. Datacenter > Cluster > Join Infor.. 2022. 12. 2.