본문 바로가기

분류 전체보기29

(기초) 쿠버네티스 활용 - 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.
(4) kube-ctx, kube-ns, kube-ps1 활용 3개의 krew 플러그인에 대해서 알아봅시다. kube-ctx 플러그인: 컨텍스트 kube-ns 플러그인: 네임스페이스 kube-ps1 플러그인: 프롬프트 -- 1) kube-ctx 컨텍스트 실제 환경에서는 dev/stage/product 또는 alpha/beta/real 등으로 각 단계별로 클러스터를 분리해서 운영하거나 다양한 리전을 동시에 사용하는 것이 일반적입니다. 따라서 이럴 때 혼동이 올 수 있기 때문에 플러그인을 사용하면 유용합니다. kube-ctx 플러그인: 컨텍스트. 내가 원하는 클러스터를 선택 가능 # 설치 kubectl krew install ctx # 결과 node1:~$ k ctx kubernetes-admin@cluster.local 로컬호스트에 등록한 클러스터 이름이 보입니다. .. 2023. 11. 27.
환경설정 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.
docker를 돌려보자 안녕하세요. 컨테이너 기술인 도커를 돌려볼려고 합니다. 목표는 아주 쉬운 기초입니다. node.js 프로그래밍 언어로 만들어진 간단한 api 요청을 받아주는 웹사이트를 도커 컨테이너에 띄우는 것이 목표입니다. 따라서 도커 데스크탑 등을 설치해야 구동할 수 있습니다. 윈도우, Mac os에서는 도커 데스크탑을 설치하는 것이 편합니다. 리눅스에서는 도커 엔진을 깔면 되죠. -- 이제 작업을 시작합니다. node.js로 된 간단한 웹서버 하나를 만듭니다. 요청을 받으면 Hello World! 라고 응답하는 기능입니다. 디렉토리를 우선 만듭니다. mkdir nodejs-docker-example nodejs-docker-example이라는 디렉토리를 생성한 것입니다. const express = require(.. 2023. 11. 22.
(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.