본문 바로가기

Kubernetes19

yaml 파일을 이용한 쿠버네티스 오브젝트 관리 파드를 연결하는 방식을 정의하는 서비스(service) 개별 어플리케이션의 환경변수 설정을 정의하는 컨피그맵(configMap) 자원을 많이 사용해서 동일한 노드를 사용하는 다른 파드에 영향을 끼치지 않도록 하는 리소스 리미트(limits)/리퀘스트(requests) 위와 같은 오브젝트들은 대부분 코드로 구현한다. 1. 쿠버네티스 리소스를 가독성이 뛰어난 yaml 파일 형태로 export하는 kube-neat 플러그인을 설치합니다. k run busybox --image=busybox pod/busybox created k get po NAME READY STATUS RESTARTS AGE busybox 0/1 Completed 1 (4s ago) 6s k get pod busybox -o yaml ap.. 2024. 2. 8.
nginx 파드 실행과 bash실행 1. nginx 파드를 만들고 해당 파드에 bash를 실행해 파드에 접속합니다. #nginx 생성 kubectl run nginx --image=nginx #nginx bash 접속 kubect exec -it nignx -- bash #ps command apt -y update && apt -y install procps 2. nginx 디플로이먼트를 실행하고 파드의 개수를 10개 -> 0개 -> 1개 순으로 변경합니다. 파드의 개수를 변경하려면 오브젝트 타입을 파드가 아닌 디플로이먼트로 실행해야 한다. #디플로이먼트 생성 kubectl create deployment httpd --image=httpd create: 만들다 deployment: 디플로이먼트 오브젝트를 httpd: httpd라는 이름.. 2024. 2. 8.
(기초) 쿠버네티스 활용 - nginx 목표: 쿠버네티스에 nignx를 위한 deployment, service를 배포 Deployment kubectl create -f nginx-deployment.yaml apiVersion: apps/v1 kind: Deployment metadata: name: nginx-server labels: app: server spec: replicas: 1 selector: matchLabels: app: server template: metadata: name: nginx-server labels: app: server spec: containers: - name: server image: nginx:1.23.3 ports: - containerPort: 80 Service kubectl create -.. 2023. 12. 12.
클러스터 설치 - kubeadm ver 목표: 쿠버네티스 클러스터 설치 vm 2개를 준비한다. ubuntu 1개는 마스터 노드, 1개는 워커 노드로 사용 예정 1.호스트 이름 변경 sudo hostnamectl set-hostname "master-node" exec bash sudo hostnamectl set-hostname "worker-node1" exec bash 2.hosts 파일 업데이트 192.168.0.27 master-node 192.168.0.62 worker-node1 3.모든 노드에 IPv4 브리지 설정 cat kubeadm-conf.yaml 컨피그 부분만 따로 저장 certSANs: #추가 - #추가 apiServer: certSANs: - 133.186.244.143 extraArgs: authorization-mo.. 2023. 12. 12.
kubectl 명령어로 익히는 쿠버네티스의 주요 오브젝트 쿠버네티스의 주요 오브젝트에 대해서 알아보려고 한다. 파드, 디플로이먼트, 네임스페이스 등 run, create: 파드와 디플로이먼트 생성 get, exec: 생성된 파드 현황 조회 및 파드 내 bash 스크립트 실행(파드 접속) scale, delete: 파드의 수량 증가/감소 및 오브젝트 삭제 create, namespace: 네임스페이스 생성 위 내용이 주요 오브젝트이다. 쿠버네티스 오브젝트 쿠버네티스 API 서버로 생성하는 영속성을 가지는 모든 실체를 말한다. 애플리케이션을 실행하고, 필요한 추가 리소스를 지정하고, 고가용성 관련 설정을 하는 등 일련의 모든 쿠버네티스 작업은 다양한 오브젝트와 해당 오브젝트 옵션의 조합으로 실행한다. 2023. 11. 28.
환경설정 k (kubectl), krew 플러그인 쿠버네티스는 kubectl을 이용해서 제어가 가능하다. 앞서 이전 글에서 kubectl get pods -o wide라고 쓰면 pod의 상태를 볼 수 있다. 그러나 엔지니어에게 너무 긴 명령어가 아닐까? 그래서 우리는 리눅스의 alias 기능을 활용해서 단축어 등록으로 쉽게 해결하려고 한다. -- 1) kubectl 단축 alias 등록 vi ~/.bashrc 셋팅 source 2023. 11. 27.
(2) Kubespray 설치 cp -R ~/kubespray/inventory/sample ~/kubespray/inventory/mycluster mycluster/inventory.ini 파일 수정 control-plane은 node1이 담당 etcd는 node1, node2, node3에 설치 worker-node는 node2, node3에 설치 # ## Configure 'ip' variable to bind kubernetes services on a # ## different ip than the default iface # ## We should set etcd_member_name for etcd cluster. The node that is not a etcd member do not need to set the v.. 2023. 11. 25.
(1) 쿠버네티스 설치 - kubespray kubespray 다양한 설치 옵션 및 운영체제를 지원하는 Ansible 기반의 쿠버테니스 설치 자동화 도구 https://github.com/kubernetes-sigs/kubespray 1) 소스 받기 git clone https://github.com/kubernetes-sigs/kubespray.git sudo apt update -y 2) 파이썬 가상화 환경 셋팅 sudo apt install python3-venv 3) kubespray디렉토리에 가상환경 생성 python3 -m venv .venv 4) 가상환경 활성화 source ./venv/bin/activate 5) 가상환경 활성화 된 상태에서 패키지 설치 sudo pip3 install -r requirements.txt 2023. 11. 24.
(0) ubuntu 20.04 안녕하세요. 첫 글입니다. 쿠버네티스 실습을 하려고 합니다. 스터디를 목적으로 진행하려고 하며 이 환경을 차근 차근 알아볼 예정입니다. ---- virtualbox를 활용하여 가상머신 virtual machine(이하 vm)에서 쿠버네티스를 설치, 운영하는 것을 해보려고 한다. virtualbox 설치, ubuntu 20.04 설치는 이 포스트에서 다루지 않는다. 구글 검색 추천! 총 3개의 vm을 준비한다. node1 192.168.50.61 node2 192.168.50.62 node3 192.168.50.63 -- 1) ubuntu 20.04 필요한 셋팅을 아래 순서대로 진행한다. sudo apt install net-tools sudo vi /etc/sudoers # User privilege s.. 2023. 9. 8.