Exercise 6.1: Set SecurityContext for a Pod and Container
Pod 생성
cat <<EOF | kubectl create -f - apiVersion: v1 kind: Pod metadata: name: ubuntu spec: containers: - name: ubuntu image: youngwjung/ubuntu-with-user command: [ "sleep" ] args: [ "infinity" ] EOFPod 생성 확인
kubectl get pod ubuntu컨테이너 안에서 프로세스를 실행하는 리눅스 유저 확인
kubectl exec -it ubuntu -- whoami루트 권한 확인
kubectl exec -it ubuntu -- apt updatePod 삭제
kubectl delete pod ubuntuPod 생성
cat <<EOF | kubectl create -f - apiVersion: v1 kind: Pod metadata: name: ubuntu spec: securityContext: runAsUser: 1000 containers: - name: ubuntu image: youngwjung/ubuntu-with-user command: [ "sleep" ] args: [ "infinity" ] securityContext: runAsUser: 2000 EOF해당 링크를 통해서 생성된 컨테이너 이미지 리뷰
Pod로 Bash 연결
kubectl exec -it ubuntu -- /bin/bash명령어를 실행하는 리눅스 유저 확인
id루트 권한이 있는지 확인
apt update루트 유저로 전환 시도 - 비밀번호는 admin
su루트 권한을 획득 했는지 확인
apt update기존 유저로 전환
exitBash 프로세스 종료
exitPod 삭제
kubectl delete pod ubuntuPod 생성
cat <<EOF | kubectl create -f - apiVersion: v1 kind: Pod metadata: name: ubuntu spec: securityContext: runAsUser: 1000 containers: - name: ubuntu image: youngwjung/ubuntu-with-user command: [ "sleep" ] args: [ "infinity" ] securityContext: runAsUser: 2000 allowPrivilegeEscalation: false EOFPod로 Bash 연결
kubectl exec -it ubuntu -- /bin/bash루트 유저로 전환 시도 - 비밀번호는 admin
suBash 프로세스 종료
exitPod 삭제
kubectl delete pod ubuntuPod 생성
cat <<EOF | kubectl create -f - apiVersion: v1 kind: Pod metadata: name: alpine spec: containers: - name: alpine image: praqma/network-multitool command: [ "sleep" ] args: [ "infinity" ] EOF생성한 Pod에서 ping 명령어 실행
kubectl exec -it alpine -- ping -c 3 www.google.com생성한 Pod에서 date 명령어를 통해서 시스템 시간 변경 시도
kubectl exec -it alpine -- date -s "11:11:11"Pod 삭제
kubectl delete pod alpinePod 생성
cat <<EOF | kubectl create -f - apiVersion: v1 kind: Pod metadata: name: alpine spec: containers: - name: alpine image: praqma/network-multitool command: [ "sleep" ] args: [ "infinity" ] securityContext: capabilities: add: ["NET_RAW", "SYS_TIME"] EOF생성한 Pod에서
ping명령어 실행kubectl exec -it alpine -- ping -c 3 www.google.com생성한 Pod에서
date명령어를 통해서 시스템 시간 변경 시도kubectl exec -it alpine -- date -s "11:11:11"Pod 삭제
kubectl delete pod alpine
Last updated