목록전체 글 (206)
클라우드 엔지니어 꿈나무
Container 와 Pod 차이 비교Container 정리app.js app.js를 제공하는 app js application8080 포트 열어 client connection 이 들어오면 200번 상태 코드와 함께 컨테이너 이름을 응답이거를 기준으로 컨테이너 제공 node 1,2 버전을 넣음 # docker build -t smlinux/appjs# docker push smlinux/appjs => 허브저장 Pod란 컨테이너를 표현하는 K8S API의 최소 단위Pod는 하나 또는 여러 개의 컨테이너를 포함할 수 있음 (권장은 하지 않음)1. kubetl run 명령(CLI)으로 생성# kubectl run webserver --image=nginx:1.142. pod yaml을 이용해 생성apiVe..
Yaml 템플릿 사람이 쉽게 읽을 수 있는 데이터 직렬화 양식 기본 문법 - 구조화된 데이터를 표현하기 위한 데이터 포맷 - Python 처럼 들여쓰기로 데이터 계층을 표기 - 들여쓰기를 할 때는 Tab이 아닌 Space Bar를 사용 - 가독성이 좋아 설정 파일에 적합한 형식 - Scalar 문법 : ':'을 기준으로 key: value 를 설정 - 배열 문법 : '-' 문자로 여러 개를 나열 - 공식 사이트 : http://yaml.org/ - kibermets yam example : $cat nginx-pod.yaml - top down 방식이 아니라 전체를 한 번에 보는 구조 API Version 확인 # kubectl api-resources # kubectl explain pod
# sudo apt install apache2 -y # sudo apt install mysql-server -y # sudo apt install php php-mysql -y # sudo mysql GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost'; UPDATE mysql.user SET host='%' WHERE user='root'; update mysql.user set plugin='mysql_native_password' where User='root'; FLUSH PRIVILEGES; ALTER USER 'root'@'%' IDENTIFIED BY '1111'; FLUSH PRIVILEGES; exit # sudo vi /etc/mysql/mysql..
Vritual Box 환경 설정 내 네트워크 추가 Ubuntu 설치 하기와 같이 설치 진행 English - English keyboard update & install software - minimal install/ NO update while installation install erase disk - popup, continue timezone - seoul user - ubuntu / hostname - target 네트워크 SecNAT으로 연결 # sudo apt update -y && sudo apt upgrade -y # sudo apt install openssh-server build-essential -y 게스트 확장 CD 이미지 삽입 클립보드 공유 - 양방향 (복붙 가능하게 설정) ..
namespace : k8s API 중 하나클러스터 하나를 여러 개의 논리적인 단위로 나눠서 사용쿠버네티스 클러스터 하나를 여러 팀이나 사용자가 함게 공유용도에 따라 실행해야 하는 앱을 구분할 때 사용 kubectl create namespaccekubectl create deploy ui --image nginx --namespace green kubectl create namespace green --dry-run -o yaml > green-ns.yamlvi green-ns.yamlkubectl create -f green-ns.yaml namespace 관리 kubernetes 초기 설정 namespacesnamespace 설정을 하지 않는다면 default가 namespace 로 작동 # kub..
마스터 컴포넌트 (Master Component) 워커 노드 컴포넌트 (Worker Node Component) etcd : key value 타입의 저장소 worker node 들에 대한 상태 정보, docker container의 상태, kubernetes 상태 정보 포함 kubelet : 모든 노드에서 실행되는 k8s 에이전트, 데몬 형태로 동작, c Advisor 라는 컨테이너 포함(cAdvisor는 컨테이너 자원 모니터링) kube-apiserver : k8s API를 사용하도록 요청을 받고 요청이 유효한지 검사 kube-proxy : k8s network 동작을 관리, iptables rule을 구성 kube-scheduler : 파드를 실행한 노드 선택 컨테이너 런타임 : 컨테이너를 실행하는..
kubectl [command] [TYPE] [NAME] [flags]command = 자원에 실행할 명령 ex) create, get, delete, edit ...TYPE = 자원의 타임 ex) node, pod, service ...NAME = 자원의 이름flags = 부가적으로 설정할 옵션 ex) --help, -o options kubectl --help]kubectl command --helpkubectl run kubectl create -f obj.ymlkubectl apply -f obj.ymlkubectl get kubectl describe kubectl delete pod main - 시스템 5 계열의 command option-- bsd 계열의 명령 옵션 (명령어, 옵션을 좀..
kubernetes 사용 시, 자동 완성 기능을 쓸 수 있는 bash 사용 방법 1. https://kubernetes.io/docs/reference/kubectl/cheatsheet/ # source > ~/.bashrc 방법 2. # yum install -y bash-completion # kubectl completion bash > /etc/bash_completion.d/kubectl 하지만 나의 경우, 위의 명령어를 진행한 후, 자동 완성 기능을 사용했을 때 하기와 같은 오류가 떠 추가적인 설정을 함. # vi ~/.bashrc 하기 두 줄 추가 후 reboot 재부팅 후, kubectl get all --all-namespaces 를 타이핑 하려면 1번과 같이 입력하면 됨. tab을 타이..
보호되어 있는 글입니다.
Chrony : Linux NTP 용 패키지 NTP(Network Time Protocol): 컴퓨터 및 네트워크 장치들 간에 정확한 시간 정보 동기화 #yum install -y dnf #dnf install -y chrony #vi /etc/chrony.conf 하기 그림에서 3~6열 주석 처리 및 7열에 server time.bora.net iburst 추가 #systemctl enable ---now chronyd #chronyc sources -v => chrony가 현재 사용하고 있는 NTP 소스에 대한 정보 제공 (-v 출력 옵션) #timedatectl set-ntp true => 시스템에서 NTP 클라이언트 활성화 #timedatectl NTP synchronized : yes 확인 가능..