출제 문제
※ 기억에 의존해 복기하는 문제라 오류가 있을 수 있습니다. 참고만 부탁 드립니다.
namespace가 cute-panda 이고 deployment가 scraper인 pod에서 error log를 확인할 것
“system:serviceaccount:cute-panda:scraper” cannot Iist resource “pods” error log 처리를 위해 필요한 처리와 적절한 role를 적용할 것
# Kubernetes 메뉴얼https://kubernetes.io/docs/reference/kubectl/generated/kubectl_auth/kubectl_auth_can-i/ https://kubernetes.io/docs/reference/kubectl/generated/kubectl_create/kubectl_create_serviceaccount/ https://kubernetes.io/docs/reference/kubectl/generated/kubectl_create/kubectl_create_clusterrole/ https://kubernetes.io/docs/reference/kubectl/generated/kubectl_create/kubectl_create_clusterrolebinding/
# scraper deployment가 생성한 pod 명 확인 후 *에 적용
$ k pod -n cute-panda
$ k logs -n cute-panda scraper-*
# error log 확인
# Service Account 생성
$ k create sa -n cute-panda scraper
# 결과값 no 확인
$ k auth can-i list pods –as=system:serviceaccount:cute-panda:scraper -n scraper
# clusterrole 생성 및 clusterrolebinding 생성 처리
k create clusterrole cr –verbs=list –resource=pods -n cute-panda
k create clusterrolebinding crb –clusterrole=cr –serviceaccount=cute-panda:scraper
# scraper deployment에 scraper service account 적용
$ k set serviceaccount deployment -n cute-panda scraper scraper
# 결과값 yes 확인
$ k auth can-i list pods –as=system:serviceaccount:cute-panda:scraper -n scraper
# pod 재생성 확인 및 생성된 pod 명 확인 후 *에 적용
$ k pod -n cute-panda
$ k logs -n cute-panda scraper-*
# error log 미발생 확인
출제 문제
※ 기억에 의존해 복기하는 문제라 오류가 있을 수 있습니다. 참고만 부탁 드립니다.
사용자가 www.example.com URL로 접속할 때 라우팅이 가능하도록 Ingress를 생성
기생성 Service 의 name과 port를 참고 하여 Ingress 반영 service name : service1 port : 80
Ingress name은 ingressWeb으로 할 것
YAML파일을 작성하여 생성할 것
# Kubernetes 메뉴얼https://kubernetes.io/docs/concepts/services-networking/ingress/
# ingress.yaml 생성
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: ingressWeb
spec:
rules:
- host: "www.example.com"
http:
paths:
- pathType: Prefix
path: "/"
backend:
service:
name: service1
port:
number: 80
# Ingress 생성 및 상태 확인
$ kubectl apply -f ingress.yaml
$ kubectl get ingress
$ kubectl describe ingress ingressWeb
출제 문제
※ 기억에 의존해 복기하는 문제라 오류가 있을 수 있습니다. 참고만 부탁 드립니다.
postgres deployment의 env에 하드코딩 된 argument를 참고하여 secret 생성 secret name : postgres namespace : devops key name : username, database, password
생성된 postgres secret을 postgres deployment의 env에 하드코딩 된 argument를 수정 반영 ※ postgres deployment YAML파일을 제공하고 수정해서 재배포하라고 나왔을 수 있음
# Kubernetes 메뉴얼https://kubernetes.io/docs/tasks/configmap-secret/managing-secret-using-kubectl/ https://kubernetes.io/docs/tasks/inject-data-application/distribute-credentials-secure/
# postgres deployment의 env 확인
$ kubectl describe deployment -n devops postgres | grep -A3 Environment
Environment:
PG_USERNAME: pgadmin
PG_DATABASE: pgdatabase
PG_PASSWORD: pgpwd1234
# Secret 생성
$ kubectl create secret generic postgres --from-literal=username=pgadmin --from-literal=database=pgdatabase --from-literal=password=pgpwd1234 -n devops
$ kubectl get secrets -n devops
# 제공된 postgres deployment의 yaml 수정 및 저장
$ vi postgres-deployment.yaml
...
spec:
containers:
- name: postgres
image: postgres:stable
env:
- name: PG_USERNAME
valueFrom:
secretKeyRef:
name: postgres
key: username
- name: PG_DATABASE
valueFrom:
secretKeyRef:
name: postgres
key: database
- name: PG_PASSWORD
valueFrom:
secretKeyRef:
name: postgres
key: password
...
# deployment 재배포
$ kubectl apply -f postgres-deployment.yaml
# Environment 값 확인
$ kubectl describe deployment -n devops postgres
글 내비게이션
IT Infomation, Ultima Online