CKA Study Day 11

김건호·2023년 4월 10일
0

129-143

Backup and Restore Methods

어떤걸 백업해야 할까?

  • Resoucre Configuration 생성한 리소스
    ns, secret, config -> GitHub에 저장. 백업 솔루션으로 저장
    kubeapi Query
    kubectl get all --all-namespaces -o yaml > all-deploy-services.yaml
    VELERO -> api를 이용해 쿠버네티스 클러스터 백업에 도움을 줌
  • ETCD Cluster
    클러스터 자체에 관한 정보 노드, 모든 리소스 저장 -> 서버 자체를 백업
    마스터 노드에 호스트 되어 있음
    구성하는 동안 저장된 디렉토리 명시 --data-dir=/var/lib/etcd -> 스냅샷 가능
ETCDCTL_API=3 etcdctl \
snapshot save snapshot.db

ETCDCTL_API=3 etcdctl \
snapshot status snapshot.db

service kube-apiserver stop

ETCDCTL_API=3 etcdctl \
snapshot restore  snapshot.db \
--data-dir /var/lib/etcd-from-backup

/etc/etcd/ 아래에 있는 인증 파일 지정 해야함
--cert, --cacert, --key

References

https://kubernetes.io/docs/tasks/administer-cluster/configure-upgrade-etcd/#backing-up-an-etcd-cluster

https://github.com/etcd-io/website/blob/main/content/en/docs/v3.5/op-guide/recovery.md

https://www.youtube.com/watch?v=qRPNuT080Hk

Kubernetes Security Primitives

보안이 가장 중요한 관건
호스트에 대한 모든 액세스 보안 되어야 함
ssh key 기반 인증만 가능해야 함

api server 자체에 대한 액세스 제한

who can access?

Files- Username and Passwords
Files -Username and Tokens
Certificates
External Authentication providers - LDAP

Service Accounts

스태틱 파드, kubelet -> TLS 암호화

APP 간 통신은 네트워크 정책을 통해 접근 권한 제어 가능

What can they do

RBAC Authorization
ABAC Authorization
Node Authorization
Webhook Mode

Authentication

쿠버네티스 클러스터에 접근하는 사용자를 제외하면 개발자와 앱을 사용하는 사용자가 있음

쿠버네티스 사용자 계정 직접 관리 하지 않음 -> 외부 소스 의존
쿠버네티스 클러스터에서는 사용자 생성 불가

서비스계정은 쿠버네티스가 관리 가능 -> apiserver를 통해

모든 사용자 액세스는 kube-apiserver에 의해 관리

kubectl.. curl IP:6443 --> apiserver로 처리 전에 인증을 함

어떻게 인증?
다양한 인증 메커니즘
Static Password File, Static Token File, Certificates, Identy Service

Basic

password

csv파일에 사용자와 비밀번호 생성 가능
비밀번호, 사용자 이름, 사용자 ID, 그룹명 형식으로
--basci-auth-file=user-details.csv 옵션 지정 후 kube api 재기동 -> 파드에도 containers.command 아래에 지정해야함

curl -v -k https://master-node-ip:6443/api/v1/pods -u "user1:password123"

token

csv 파일에 password 대신 token값을 지정

This is not a recommended authentication mechanism
consider volume mount while provideing the auth file in a kubeadm setup
setup role based authorization for the new users

profile
Ken, 🔽🔽 거노밥 유튜브(house icon) 🔽🔽

0개의 댓글