RESTful API Access (토큰 기반 리소스 접근, namespace별 토큰 생성) api server의 node의 ip와 port 확인, 클러스트 설정 정보 확인 ps0107@k8smaster1:~$ kubectl config view apiVersion: v1 clusters: - cluster: certificate-authority-data: DATA+OMITTED server: https://k8smaster:6443 name: kubernetes contexts: - context: cluster: kubernetes user: kubernetes-admin name: kubernetes-admin@kubernetes current-context: kubernetes-admin@kub..
TLS Access 설정 (인증서 기반의 클러스터 API) api를 통해 직접 호출 할수 있도록 3가지 key를 필요로 한다. ~/.kube/config 경로 안에 있는 아래 3가지 키를 base64로 encording 한 후 각각의 파일로 저장 하여 사용한다. - certificate-authority-data - client-certificate-data - client-key-data ~/.kube/config 안에 정보를 확인 ps0107@k8smaster1:~$ cat ~/.kube/config apiVersion: v1 clusters: - cluster: certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUN5RENDQ..
Links to resources # Exam Guide https://cloud.google.com/certification/guides/cloud-engineer/ Associate Cloud Engineer Certification | Certifications https://cloud.google.com/certification/cloud-engineer # Qwiklab(Recommended) https://google.qwiklabs.com/quests/23?locale=en https://google.qwiklabs.com/quests/66 # Practice Exam https://cloud.google.com/certification/practice-exam/cloud-architect ..
이번엔 우리의 pod 중 일부가 node 에서 퇴출되고 다른 곳으로 스케줄이 변경되도록 할 것이다. 이것은 기본적인 maintenance 또는 롤링 OS 업데이트 등으로 있을 수 있다. 먼저 worker1번 노드를 더이상 스케쥴 되지 않도록 한다. 이때, worker1번 노드에 있는 pod들을 다른 노드들로 퇴출된다. 현재 master node 이미지 수 확인 ps0107@k8smaster1:~$ sudo docker ps | wc -l 22 현재 worker node 이미지 수 확인 ps0107@k8sworker1:~$ sudo docker ps | wc -l 28 maintenance를 완료하기 위해 노드에서 컨테이너를 이동하고 새 컨테이너가 배치되는 것을 막아야 한다. # - drain : 비우다 ..
microservice 관련 demo 를 이용하여 배포해본다. 관련 yaml 파일을 다운로드 한다. https://raw.githubusercontent.com/microservices-demo/microservices-demo/master/deploy/kubernetes/complete-demo.yaml ps0107@k8smaster1:~$ wget https://raw.githubusercontent.com/microservices-demo/microservices-demo/master/deploy/kubernetes/complete-demo.yaml -O complete-demo.yaml 더보기 더보기 apiVersion: extensions/v1beta1 kind: Deployment metada..
namespace를 위한 리소스 제약을 실습해보기 namespace 생성한다. ps0107@k8smaster1:~$ kubectl create namespace limit-test namespace/limit-test created 생성된 namespace 확인 ps0107@k8smaster1:~$ kubectl get namespaces NAME STATUS AGE default Active 25h kube-node-lease Active 25h kube-public Active 25h kube-system Active 25h limit-test Active 8s namespace에 LimitRange를 걸기 위해 yaml 파일을 생성한다. kind는 LimitRange를 사용 - limits > de..
deployment 의 리소스 제약 실습해보기 stress tool을 사용하여 실습해 보자. 먼저 stress container yaml 파일을 만들어 제약 조건을 yaml 파일에 추가하면서 테스트 해본다. 기본으로 stress app 배포 ps0107@k8smaster1:~$ kubectl create deployment stress --image vish/stress deployment.apps/stress created deployment 리소스 확인 ps0107@k8smaster1:~$ kubectl get deployment NAME READY UP-TO-DATE AVAILABLE AGE stress 1/1 1 1 9s stress 객체 자세히 보기 ps0107@k8smaster1:~$ kube..
nginx app 간단하게 배포해보기 nginx app 배포 하기 ps0107@k8smaster1:~$ kubectl create deployment nginx --image=nginx deployment.apps/nginx created 현재 클러스터의 event 확인 ps0107@k8smaster1:~$ kubectl get events LAST SEEN TYPE REASON OBJECT MESSAGE 29s Normal Scheduled pod/nginx-554b9c67f9-cncvz Successfully assigned default/nginx-554b9c67f9-cncvz to k8sworker1 27s Normal Pulling pod/nginx-554b9c67f9-cncvz Pulling ..
클러스터에 추가할 노드 세팅 master 세팅과 마찬가지로 기본적인 설치 진행 /etc/hosts 파일 설정 필요. (설정 하지 않았다면 아래 링크 확인) [kubernetes-실습] kubeadm 을 이용한 설치 및 세팅 # 설치를 위한 준비 사항 kubeadm을 이용한 설치 기준 virtualbox 이용시 master : 3vCPU/4G memory/5G minimal OS worker : 1vCPU/2G memory/5G minimal OS gcp, aws 이용시 spec : 2 vCPU/ 7.5G memory putty 이.. blog.psnote.co.kr root@k8sworker1:~# apt-get update && apt-get upgrade -y # docker 설치 (참고, docke..
설치를 위한 준비 사항 kubeadm을 이용한 설치 기준 virtualbox 이용시 master : 3vCPU/4G memory/5G minimal OS worker : 1vCPU/2G memory/5G minimal OS gcp, aws 이용시 spec : 2 vCPU/ 7.5G memory putty 이용 할 경우 .pem or .ppk file 요구 YAML 파일 작성시 유의 사항 TAB 사용 하면 안되고 white space로 사용 VM 기준 사전 세팅 1. DHCP IP를 static으로 설정 # vi /etc/network/interfaces auto ens33 iface ens33 inet static address 172.20.0.150 netmask 255.255.255.0 broadca..