목록개발/인프라 (9)

PV와 PVC에 대해 알아보려고 한다. 관리자가 NFS 볼륨을 만들면 이를 에일리어싱한 PersistentVolume을 생성한다. 그러면 개발자 담당에서는 pv-nfs와 연결된 pvc-nfs를 이용한다. pv-nfs가 pvc-nfs에게 피자 한조각 씩 때준거라 생각을 하자 apiVersion: v1 kind: PersistentVolume metadata: name: pv-nfs spec: capacity: storage: 100Mi accessModes: - ReadWriteMany persistentVolumeReclaimPolicy: Retain nfs: server: 192.168.1.10 path: /nfs_shared/pvc-vol 관리자가 생성하는 pv코드이다. accessModes에 접근 ..

오늘은 볼륨에 대해 실습했다. 먼저 emptyDir이다. 얘는 파드 내 컨테이너들끼리 데이터를 공유하기 위해서 볼륨을 사용한다. 최초 볼륨이 생성될 때 내용이 비어있어 emptyDir라는 이름이 생겼다. 이 볼륨은 파드 안에 생성되기 때문에 파드가 재생성되면 데이터가 없어진다. 즉 볼륨에 쓰이는 데이터는 일시적인 사용목적이다. volumes의 이름은 두 개의 컨테이너의 volumeMounts와 매칭시켜준다. val a = volumes val b = volumes 같은 느낌으로 생각하니 이해가 빨랐다. html-builder에서 생성된 웹리소스를 공유 디렉터리에 저장하면 nginx가 이를 출력해 주는 형식이다. volumes이 두 개의 컨테이너를 share 해준다는 점을 꼭 기억한다. 배포를 하고 ip에..

apiVersion: apps/v1 kind: Deployment metadata: name: deploy-nginx labels: app: deploy-nginx spec: replicas: 3 selector: matchLabels: app: deploy-nginx template: metadata: labels: app: deploy-nginx spec: containers: - name: nginx image: nginx --- apiVersion: v1 kind: Service metadata: name: cl-nginx spec: selector: app: deploy-nginx ports: - name: http port: 80 targetPort: 80 type: ClusterIP Clus..

배포 방법에 대해 알아본다. 먼저 포트포워딩이다. 해당 yaml을 배포한다. 포트포워딩 명령어이다. 마스터노드에 들어온 ip를 워커노드 80 포트로 보낸다는 뜻이다. 로컬에서 curl을 날려본다. 포트포워딩은 많이 쓰지 않고 그냥 테스트용으로 쓰인다. 그다음 hostport와 hostNetwork는 사용자가 어디 노드로 배포했는지 알아야 접속할 수 있다. 비현실적이기에 사용하지 않는다. NodePort에 대해 알아본다. apiVersion: apps/v1 kind: Deployment metadata: name: deploy-nginx labels: app: deploy-nginx spec: replicas: 3 selector: matchLabels: app: deploy-nginx template: ..

간단한 파드 배포 코드이다. image는 nginx이다. deployment이다. pod와 비슷하나 template라는 속성이 있다. 이는 붕어빵 기계마냥 파드를 찍어주는 역할이다. spec의 app과 template의 app이름을 같게 해주어야 한다. 배포할 때 명령행인자도 같이 이용할 수 있는 방법이 있을까?? 가능하다. apiVersion: v1 kind: Pod metadata: labels: run: simple-wo-command name: simple-wo-command spec: containers: - image: sysnet4admin/net-tools name: net-tools net-tools이미지는 네트워크 명령어를 사용할 수 있는 이미지이다. 해당 코드를 배포하면 crashLo..

자주 사용하고 중요했던 명령어를 복습했다. 오랜만에 하니 재밌었다. 간단한 nginx 파드 배포하기 디플로이먼트 배포하기 replicas값을 바꾸면 파드 개수가 바뀐다. 삭제해도 status값을 유지할려고 파드를 자동으로 생성해 주는 모습 파일로도 배포를해본다. 파일로 배포할 때는 apply명령어 사용 파드에 접속할 때는 exec명령어 사용 나올 때는 exit edit으로 디플로이먼트 replicas값을 바꾸어본다. vi편집기와 사용법을 동일하다. 파드가 하나로 바뀌어있다. --dry-run=client -o yaml 명령어를 이용하여 실제로 수행하지는 않지만 그에 대한 코드를 확보할 수 있다. 이를 응용하면... 파일에 리다이렉션 해서 저장 가능 그리고 배포 events로 이벤트를 확인할 수 있다. 네..

과거 공부했었던 kubernetes 복습겸 쭉 정리를 해본다. # -*- mode: ruby -*- # vi: set ft=ruby : ## configuration variables ## # max number of worker nodes N = 3 # each of components to install k8s_V = '1.22.0' # Kubernetes docker_V = '20.10.8-3.el7' # Docker ctrd_V = '1.4.9-3.1.el7' # Containerd ## /configuration variables ## Vagrant.configure("2") do |config| #api버전을 2로 사용해서 쓰겠다. do end가 한세트임 #=============# # Mas..
보호되어 있는 글입니다.