반응형
Image security
- Private docker image를 사용하기위해서 도커 레지스트리 정보가 필요합니다.
- 쿠버네티스의 secret을 docker-registry타입으로 생성하고 pod에 적용을 해야합니다.
docker registry 타입 secret 생성 명령어
k create secret docker-registry private-reg-cred --docker-username=dock_user --docker-password=dock_password --docker-server=myprivateregistry.com:5000 --docker-email=dock_user@myprivateregistry.com
pod에 해당 secret적용
apiVersion: v1
kind: Pod
metadata:
name: private-reg
spec:
containers:
- name: private-reg-container
image: <your-private-image>
imagePullSecrets:
- name: private-reg-cred
security context
- security context는 쿠버네티스의 Pod나 컨테이너에 대한 접근 제어 설정, 특수 권한를 설정하는 기능을 제공 합니다.
security context 적용된 pod.yaml예시
- 프로세스 ID와 그룹 ID를 지정할 수 있음
- 리눅스 capabilities 를 줄 수 도 있음
apiVersion: v1
kind: Pod
metadata:
name: security-context-demo-2
spec:
securityContext:
runAsUser: 1000
containers:
- name: sec-ctx-demo-2
image: gcr.io/google-samples/node-hello:1.0
securityContext:
runAsUser: 2000
fsGroup: 1000
capabilities:
add: ["NET_ADMIN", "SYS_TIME"]
mutlcontainer 구성에서 컨테이너 각각 적용 가능
apiVersion: v1
kind: Pod
metadata:
name: multi-pod
spec:
securityContext:
runAsUser: 1001
containers:
- image: ubuntu
name: web
command: ["sleep", "5000"]
securityContext:
runAsUser: 1002
- image: ubuntu
name: sidecar
command: ["sleep", "5000"]
network policy
- network policy를 사용하면 pod로 들어오거나(ingress) 나가는(egress) 트래픽을 제어 할 수 있습니다.
network policy 조회하여 정책 적용된 pod 확인하기
# network policy 를 확인하면 label이 확인됨
kubectl get netpol
# show labels 명령어로 확인
kubectl get pod --show-labels
netpol.yaml 예시
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: test-network-policy
namespace: default
spec:
podSelector:
matchLabels:
name: internal
policyTypes:
- Ingress
- Egress
ingress:
- from:
- ipBlock:
cidr: 172.17.0.0/16
except:
- 172.17.1.0/24
- namespaceSelector:
matchLabels:
project: myproject
- podSelector:
matchLabels:
role: frontend
ports:
- protocol: TCP
port: 6379
egress:
- to:
- ipBlock:
cidr: 10.0.0.0/24
ports:
- protocol: TCP
port: 5978
- to :
- podSelector:
matchLabels:
name: db
ports:
- protocol: TCP
port: 3389
반응형
'IT > Kubernetes' 카테고리의 다른 글
[CKA독학] 트러블 슈팅 - Application Failure (0) | 2021.07.01 |
---|---|
[CKA시험준비] CKA시험 할인 쿠폰 코드 및 추천강의 (0) | 2021.06.30 |
[CKA독학] Role and Rolebinding (0) | 2021.06.23 |
[CKA독학]Certificate API + kubeconfig (0) | 2021.06.16 |
[CKA독학]Pod의 Multi container/Init container (0) | 2021.06.16 |