เชตเชนเซเชฒเชพ เช
เชฅเชตเชพ เชชเชเซเชจเชพ เชธเชฎเชฏเชฎเชพเช, เชเซเชเชชเชฃ เชธเชฟเชธเซเชเชฎเชจเชพ เชธเชเชเชพเชฒเชจเชฎเชพเช, เชธเซเชฐเชเซเชทเชพเชจเซ เชฎเซเชฆเซเชฆเซ เชเชญเซ เชฅเชพเชฏ เชเซ: เชชเซเชฐเชฎเชพเชฃเซเชเชฐเชฃ, เช
เชงเชฟเชเชพเชฐเซเชจเซเช เชตเชฟเชญเชพเชเชจ, เชเชกเชฟเชเชฟเชเช เช
เชจเซ เช
เชจเซเชฏ เชเชพเชฐเซเชฏเซเชจเซ เชเชพเชคเชฐเซ เชเชฐเชตเซ. Kubernetes เชฎเชพเชเซ เชชเชนเซเชฒเซเชฅเซ เช เชฌเชจเชพเชตเซเชฒ เชเซ
เชชเซเชฐเชฎเชพเชฃเซเชเชฐเชฃ
เชเซเชฌเชฐเชจเซเชเซเชธเชฎเชพเช เชฌเซ เชชเซเชฐเชเชพเชฐเชจเชพ เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพเช เชเซ:
- เชธเซเชตเชพ เชเชเชพเชเชจเซเชเซเชธ - เชเซเชฌเชฐเชจเซเชเซเชธ API เชฆเซเชตเชพเชฐเชพ เชธเชเชเชพเชฒเชฟเชค เชเชเชพเชเชจเซเชเซเชธ;
- เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพเช - "เชธเชพเชฎเชพเชจเซเชฏ" เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพเช เชฌเชพเชนเซเชฏ, เชธเซเชตเชคเชเชคเซเชฐ เชธเซเชตเชพเช เชฆเซเชตเชพเชฐเชพ เชธเชเชเชพเชฒเชฟเชค.
เช เชชเซเชฐเชเชพเชฐเซ เชตเชเซเชเซเชจเซ เชฎเซเชเซเชฏ เชคเชซเชพเชตเชค เช เชเซ เชเซ เชธเชฐเซเชตเชฟเชธ เชเชเชพเชเชจเซเชเซเชธ เชฎเชพเชเซ เชเซเชฌเชฐเชจเซเชเซเชธ API เชฎเชพเช เชตเชฟเชถเชฟเชทเซเช เชเชฌเซเชเซเชเซเชเซเชธ เชเซ (เชคเซเชจเซ เชเชนเซเชตเชพเชฎเชพเช เชเชตเซ เชเซ - ServiceAccounts
), เชเซ เชจเซเชฎเชธเซเชชเซเชธ เชธเชพเชฅเซ เชเซเชกเชพเชฏเซเชฒ เชเซ เช
เชจเซ เชธเชฟเชเซเชฐเซเชเซเชธ เชชเซเชฐเชเชพเชฐเชจเชพ เชเชฌเซเชเซเชเซเชเซเชธเชฎเชพเช เชเซเชฒเชธเซเชเชฐเชฎเชพเช เชธเชเชเซเชฐเชนเชฟเชค เช
เชงเชฟเชเซเชค เชกเซเชเชพเชจเชพ เชธเชฎเซเชน เชธเชพเชฅเซ เชเซเชกเชพเชฏเซเชฒ เชเซ. เชเชตเชพ เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพเช (เชธเชฐเซเชตเชฟเชธ เชเชเชพเชเชจเซเชเซเชธ) เชฎเซเชเซเชฏเชคเซเชตเซ เชเซเชฌเชฐเชจเซเชเซเชธ เชเซเชฒเชธเซเชเชฐเชฎเชพเช เชเชพเชฒเชคเซ เชชเซเชฐเชเซเชฐเชฟเชฏเชพเชเชจเชพ เชเซเชฌเชฐเชจเซเชเซเชธ API เชจเชพ เชเชเซเชธเซเชธ เช
เชงเชฟเชเชพเชฐเซเชจเซเช เชธเชเชเชพเชฒเชจ เชเชฐเชตเชพเชจเซ เชเซ.
เชธเชพเชฎเชพเชจเซเชฏ เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพเช เชชเชพเชธเซ เชเซเชฌเชฐเชจเซเชเซเชธ API เชฎเชพเช เชเชจเซเชเซเชฐเซเช เชนเซเชคเซ เชจเชฅเซ: เชคเซเช เชฌเชพเชนเซเชฏ เชฎเชฟเชเซเชจเชฟเชเชฎเซเชธ เชฆเซเชตเชพเชฐเชพ เชธเชเชเชพเชฒเชฟเชค เชนเซเชตเชพ เชเซเชเช. เชคเซเช เชเซเชฒเชธเซเชเชฐเชจเซ เชฌเชนเชพเชฐ เชฐเชนเซเชคเชพ เชฒเซเชเซ เช เชฅเชตเชพ เชชเซเชฐเชเซเชฐเชฟเชฏเชพเช เชฎเชพเชเซ เชฌเชจเชพเชตเชพเชฏเซเชฒ เชเซ.
เชฆเชฐเซเช API เชตเชฟเชจเชเชคเซ เชเชพเช เชคเซ เชธเซเชตเชพ เชเชพเชคเชพ, เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพ เชธเชพเชฅเซ เชธเชเชเชณเชพเชฏเซเชฒ เชเซ เช เชฅเชตเชพ เช เชจเชพเชฎเซ เชเชฃเชตเชพเชฎเชพเช เชเชตเซ เชเซ.
เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพ เชชเซเชฐเชฎเชพเชฃเซเชเชฐเชฃ เชกเซเชเชพเชฎเชพเช เชถเชพเชฎเซเชฒ เชเซ:
- เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพ เชจเชพเชฎ โ เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพ เชจเชพเชฎ (เชเซเชธ เชธเซเชจเซเชธเชฟเชเชฟเชต!);
- เชฏเซ.เชเช.เชกเซ. - เชฎเชถเซเชจ เชฆเซเชตเชพเชฐเชพ เชตเชพเชเชเซ เชถเชเชพเชฏ เชคเซเชตเซ เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพ เชเชณเช เชธเซเชเซเชฐเชฟเชเช เชเซ เชเซ "เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพเชจเชพเชฎ เชเชฐเชคเชพเช เชตเชงเซ เชธเซเชธเชเชเชค เช เชจเซ เช เชจเชจเซเชฏ" เชเซ;
- เชเซเชฅเซ โ เชเซเชฅเซเชจเซ เชธเซเชเชฟ เชเซ เชเซเชจเซ เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพ เชธเชเชฌเชเชง เชงเชฐเชพเชตเซ เชเซ;
- เชตเชฟเชถเซเชท โ เชตเชงเชพเชฐเชพเชจเชพ เชเซเชทเซเชคเซเชฐเซ เชเซ เชเซเชจเซ เชเชชเชฏเซเช เช เชงเชฟเชเซเชคเชคเชพ เชชเชฆเซเชงเชคเชฟ เชฆเซเชตเชพเชฐเชพ เชเชฐเซ เชถเชเชพเชฏ เชเซ.
เชเซเชฌเชฐเชจเซเชเซเชธ เชฎเซเชเซ เชธเชเชเซเชฏเชพเชฎเชพเช เชชเซเชฐเชฎเชพเชฃเซเชเชฐเชฃ เชชเชฆเซเชงเชคเชฟเชเชจเซ เชเชชเชฏเซเช เชเชฐเซ เชถเชเซ เชเซ: X509 เชชเซเชฐเชฎเชพเชฃเชชเชคเซเชฐเซ, เชฌเซเชฐเชฐ เชเซเชเชจเซเชธ, เชชเซเชฐเชฎเชพเชฃเซเชเชฐเชฃ เชชเซเชฐเซเชเซเชธเซ, HTTP เชฎเซเชณเชญเซเชค เชชเซเชฐเชฎเชพเชฃเซเชเชฐเชฃ. เช เชฎเชฟเชเซเชจเชฟเชเชฎเซเชธเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ, เชคเชฎเซ เชฎเซเชเซ เชธเชเชเซเชฏเชพเชฎเชพเช เช เชงเชฟเชเซเชคเชคเชพ เชฏเซเชเชจเชพเช เช เชฎเชฒเชฎเชพเช เชฎเซเชเซ เชถเชเซ เชเซ: เชชเชพเชธเชตเชฐเซเชกเซเชธ เชธเชพเชฅเซเชจเซ เชธเซเชฅเชฟเชฐ เชซเชพเชเชฒเชฅเซ OpenID OAuth2 เชธเซเชงเซ.
เชคเชฆเซเชชเชฐเชพเชเชค, เชเช เชธเชพเชฅเซ เช เชจเซเช เช เชงเชฟเชเซเชคเชคเชพ เชฏเซเชเชจเชพเชเชจเซ เชเชชเชฏเซเช เชเชฐเชตเซ เชถเชเซเชฏ เชเซ. เชฎเซเชณเชญเซเชค เชฐเซเชคเซ, เชเซเชฒเชธเซเชเชฐ เชเชชเชฏเซเช เชเชฐเซ เชเซ:
- เชธเชฐเซเชตเชฟเชธ เชเชเชพเชเชจเซเช เชเซเชเชจเซเชธ - เชธเชฐเซเชตเชฟเชธ เชเชเชพเชเชจเซเชเซเชธ เชฎเชพเชเซ;
- X509 - เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพเช เชฎเชพเชเซ.
เชธเชฐเซเชตเชฟเชธ เชเชเชพเชเชจเซเชเซเชธ เชฎเซเชจเซเช เชเชฐเชตเชพ เชตเชฟเชถเซเชจเซ เชชเซเชฐเชถเซเชจ เช เชฒเซเชเชจเชพ เช
เชตเชเชพเชถเชจเซ เชฌเชนเชพเชฐ เชเซ, เชชเชฐเชเชคเซ เชเซเช เช เชฎเซเชฆเซเชฆเชพเชฅเซ เชชเซเชคเชพเชจเซ เชตเชงเซ เชตเชฟเชเชคเชตเชพเชฐ เชชเชฐเชฟเชเชฟเชค เชเชฐเชตเชพ เชฎเชพเชเชเซ เชเซ, เชนเซเช เชเชจเชพเชฅเซ เชชเซเชฐเชพเชฐเชเชญ เชเชฐเชตเชพเชจเซ เชญเชฒเชพเชฎเชฃ เชเชฐเซเช เชเซเช
เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพเช เชฎเชพเชเซ เชชเซเชฐเชฎเชพเชฃเชชเชคเซเชฐเซ (X.509)
เชชเซเชฐเชฎเชพเชฃเชชเชคเซเชฐเซ เชธเชพเชฅเซ เชเชพเชฎ เชเชฐเชตเชพเชจเซ เชเซเชฒเชพเชธเชฟเช เชฐเซเชคเชฎเชพเช เชถเชพเชฎเซเชฒ เชเซ:
- เชเซ เชชเซเชขเซ:
mkdir -p ~/mynewuser/.certs/ openssl genrsa -out ~/.certs/mynewuser.key 2048
- เชชเซเชฐเชฎเชพเชฃเชชเชคเซเชฐ เชตเชฟเชจเชเชคเซ เชเชจเชฐเซเช เชเชฐเซ เชฐเชนเซเชฏเชพ เชเซเช:
openssl req -new -key ~/.certs/mynewuser.key -out ~/.certs/mynewuser.csr -subj "/CN=mynewuser/O=company"
- เชเซเชฌเชฐเชจเซเชเซเชธ เชเซเชฒเชธเซเชเชฐ CA เชเซเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชชเซเชฐเชฎเชพเชฃเชชเชคเซเชฐ เชตเชฟเชจเชเชคเซ เชชเชฐ เชชเซเชฐเชเซเชฐเชฟเชฏเชพ เชเชฐเชตเซ, เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพ เชชเซเชฐเชฎเชพเชฃเชชเชคเซเชฐ เชฎเซเชณเชตเชตเซเช (เชชเซเชฐเชฎเชพเชฃเชชเชคเซเชฐ เชฎเซเชณเชตเชตเชพ เชฎเชพเชเซ, เชคเชฎเชพเชฐเซ เชเชตเชพ เชเชเชพเชเชจเซเชเชจเซ เชเชชเชฏเซเช เชเชฐเชตเซ เชเชตเชถเซเชฏเช เชเซ เชเซ เชเซเชจเซ เชชเชพเชธเซ เชเซเชฌเชฐเชจเซเชเซเชธ เชเซเชฒเชธเซเชเชฐ CA เชเซเชจเซ เชเชเซเชธเซเชธ เชนเซเชฏ, เชเซ เชฎเซเชณเชญเซเชค เชฐเซเชคเซ เชธเซเชฅเชฟเชค เชเซ
/etc/kubernetes/pki/ca.key
):openssl x509 -req -in ~/.certs/mynewuser.csr -CA /etc/kubernetes/pki/ca.crt -CAkey /etc/kubernetes/pki/ca.key -CAcreateserial -out ~/.certs/mynewuser.crt -days 500
- เชฐเซเชชเชฐเซเชเชพเชเชเชจ เชซเชพเชเชฒ เชฌเชจเชพเชตเซ เชฐเชนเซเชฏเชพ เชเซ:
- เชเซเชฒเชธเซเชเชฐ เชตเชฐเซเชฃเชจ (เชเซเชเซเชเชธ เชเซเชฒเชธเซเชเชฐ เชเชจเซเชธเซเชเซเชฒเซเชถเชจ เชฎเชพเชเซ CA เชชเซเชฐเชฎเชพเชฃเชชเชคเซเชฐ เชซเชพเชเชฒเชจเซเช เชธเชฐเชจเชพเชฎเซเช เช
เชจเซ เชธเซเชฅเชพเชจ เชธเซเชชเชทเซเช เชเชฐเซ):
kubectl config set-cluster kubernetes --certificate-authority=/etc/kubernetes/pki/ca.crt --server=https://192.168.100.200:6443
- เช
เชฅเชตเชพ เชเซเชตเซ เชฐเซเชคเซ เชจเชฅเซเชญเชฒเชพเชฎเชฃ เชเชฐเซเชฒ เชตเชฟเชเชฒเซเชช - เชคเชฎเชพเชฐเซ เชฐเซเช เชชเซเชฐเชฎเชพเชฃเชชเชคเซเชฐเชจเซ เชเชฒเซเชฒเซเช เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชจเชฅเซ (เชชเชเซ kubectl เชเซเชฒเชธเซเชเชฐเชจเชพ api-เชธเชฐเซเชตเชฐเชจเซ เชถเซเชฆเซเชงเชคเชพ เชคเชชเชพเชธเชถเซ เชจเชนเซเช):
kubectl config set-cluster kubernetes --insecure-skip-tls-verify=true --server=https://192.168.100.200:6443
- เชฐเซเชชเชฐเซเชเชพเชเชเชจ เชซเชพเชเชฒเชฎเชพเช เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพเชจเซ เชเชฎเซเชฐเซ เชฐเชนเซเชฏเชพ เชเซ:
kubectl config set-credentials mynewuser --client-certificate=.certs/mynewuser.crt --client-key=.certs/mynewuser.key
- เชธเชเชฆเชฐเซเชญ เชเชฎเซเชฐเซ เชฐเชนเซเชฏเชพ เชเซ:
kubectl config set-context mynewuser-context --cluster=kubernetes --namespace=target-namespace --user=mynewuser
- เชกเชฟเชซเซเชฒเซเช เชธเชเชฆเชฐเซเชญ เชธเซเชเชชเชฃเซ:
kubectl config use-context mynewuser-context
- เชเซเชฒเชธเซเชเชฐ เชตเชฐเซเชฃเชจ (เชเซเชเซเชเชธ เชเซเชฒเชธเซเชเชฐ เชเชจเซเชธเซเชเซเชฒเซเชถเชจ เชฎเชพเชเซ CA เชชเซเชฐเชฎเชพเชฃเชชเชคเซเชฐ เชซเชพเชเชฒเชจเซเช เชธเชฐเชจเชพเชฎเซเช เช
เชจเซ เชธเซเชฅเชพเชจ เชธเซเชชเชทเซเช เชเชฐเซ):
เชเชชเชฐเซเชเซเชค เชฎเซเชจเชฟเชชเซเชฏเซเชฒเซเชถเชจเซเชธ เชชเชเซ, เชซเชพเชเชฒเชฎเชพเช .kube/config
เชเชจเชพ เชเซเชตเซ เชฐเซเชชเชฐเซเชเชพ เชฌเชจเชพเชตเชตเชพเชฎเชพเช เชเชตเชถเซ:
apiVersion: v1
clusters:
- cluster:
certificate-authority: /etc/kubernetes/pki/ca.crt
server: https://192.168.100.200:6443
name: kubernetes
contexts:
- context:
cluster: kubernetes
namespace: target-namespace
user: mynewuser
name: mynewuser-context
current-context: mynewuser-context
kind: Config
preferences: {}
users:
- name: mynewuser
user:
client-certificate: /home/mynewuser/.certs/mynewuser.crt
client-key: /home/mynewuser/.certs/mynewuser.key
เชเชเชพเชเชจเซเชเซเชธ เช เชจเซ เชธเชฐเซเชตเชฐเซเชธ เชตเชเซเชเซ เชฐเซเชชเชฐเซเชเชพเชจเซ เชธเซเชฅเชพเชจเชพเชเชคเชฐเชฟเชค เชเชฐเชตเชพเชจเซเช เชธเชฐเชณ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชเซ, เชจเซเชเซเชจเซ เชเซเชจเชพ เชฎเซเชฒเซเชฏเซเชจเซ เชธเชเชชเชพเชฆเชฟเชค เชเชฐเชตเซเช เชเชชเชฏเซเชเซ เชเซ:
-
certificate-authority
-
client-certificate
-
client-key
เช เชเชฐเชตเชพ เชฎเชพเชเซ, เชคเชฎเซ เชฌเซเช 64 เชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชคเซเชฎเชพเช เชเชฒเซเชฒเซเชเชฟเชค เชซเชพเชเชฒเซเชจเซ เชเชจเซเชเซเชก เชเชฐเซ เชถเชเซ เชเซ เช
เชจเซ เชคเซเชฎเชจเซ เชฐเซเชชเชฐเซเชเชพเชฎเชพเช เชจเซเชเชงเชฃเซ เชเชฐเซ เชถเชเซ เชเซ, เชเซเชจเชพ เชจเชพเชฎเชฎเชพเช เชชเซเชฐเชคเซเชฏเชฏ เชเชฎเซเชฐเซ เชถเชเซ เชเซ. -data
, เชเชเชฒเซ เชเซ เชชเซเชฐเชพเชชเซเชค เชเชฐเซเชฏเชพ certificate-authority-data
เช
เชจเซ เชเซเชฎ
kubeadm เชธเชพเชฅเซ เชชเซเชฐเชฎเชพเชฃเชชเชคเซเชฐเซ
เชชเซเชฐเชเชพเชถเชจ เชธเชพเชฅเซ
kubeadm alpha kubeconfig user --client-name=mynewuser --apiserver-advertise-address 192.168.100.200
NB: เชเชฐเซเชฐเซ เชธเชฐเชจเชพเชฎเซเช เชเชพเชนเซเชฐเชพเชค เชเชฐเซ api-server เชฐเซเชชเชฐเซเชเชพเชฎเชพเช เชถเซเชงเซ เชถเชเชพเชฏ เชเซ, เชเซ เชฎเซเชณเชญเซเชค เชฐเซเชคเซ เชธเซเชฅเชฟเชค เชเซ /etc/kubernetes/manifests/kube-apiserver.yaml
.
เชชเชฐเชฟเชฃเชพเชฎเซ เชฐเซเชชเชฐเซเชเชพ stdout เชฎเชพเช เชเชเชเชชเซเช เชฅเชถเซ. เชคเซ เชฎเชพเช เชธเชพเชเชตเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ ~/.kube/config
เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพ เชเชพเชคเซเช เช
เชฅเชตเชพ เชชเชฐเซเชฏเชพเชตเชฐเชฃ เชตเซเชฐเซเชเชฌเชฒเชฎเชพเช เชเชฒเซเชฒเซเชเชฟเชค เชซเชพเชเชฒเชฎเชพเช KUBECONFIG
.
เชตเชงเซ เชเชเชกเชพ เชเซเชฆเชตเซเช
เชเซเช เชตเชงเซ เชธเชพเชฐเซ เชฐเซเชคเซ เชตเชฐเซเชฃเชตเซเชฒ เชฎเซเชฆเซเชฆเชพเชเชจเซ เชธเชฎเชเชตเชพ เชฎเชพเชเชเซ เชเซ เชคเซเชฎเชจเชพ เชฎเชพเชเซ:
-
เช เชฒเช เชฒเซเช เชธเชคเซเชคเชพเชตเชพเชฐ เชเซเชฌเชฐเชจเซเชเซเชธ เชฆเชธเซเชคเชพเชตเซเชเซเชฎเชพเช เชชเซเชฐเชฎเชพเชฃเชชเชคเซเชฐเซ เชธเชพเชฅเซ เชเชพเชฎ เชเชฐเชตเชพ เชชเชฐ; -
เชฌเชฟเชเชจเชพเชฎเซ เชคเชฐเชซเชฅเซ เชธเชพเชฐเซ เชฒเซเช , เชเซเชฎเชพเช เชชเซเชฐเชฎเชพเชฃเชชเชคเซเชฐเซเชจเชพ เชฎเซเชฆเซเชฆเชพเชจเซ เชตเซเชฏเชตเชนเชพเชฐเชฟเช เชฆเซเชฐเชทเซเชเชฟเชเซเชฃเชฅเซ เชธเซเชชเชฐเซเชถเชตเชพเชฎเชพเช เชเชตเซ เชเซ. -
เชธเชพเชฎเชพเชจเซเชฏ เชฆเชธเซเชคเชพเชตเซเชเซเชเชฐเชฃ เชเซเชฌเชฐเชจเซเชเซเชธเชฎเชพเช เชชเซเชฐเชฎเชพเชฃเซเชเชฐเชฃ เชชเชฐ.
เช เชงเชฟเชเซเชคเชคเชพ
เชกเชฟเชซเซเชฒเซเช เช เชงเชฟเชเซเชค เชเชเชพเชเชจเซเช เชชเชพเชธเซ เชเซเชฒเชธเซเชเชฐ เชชเชฐ เชเชพเชฎ เชเชฐเชตเชพเชจเชพ เช เชงเชฟเชเชพเชฐเซ เชจเชฅเซ. เชชเชฐเชตเชพเชจเชเซเช เชเชชเชตเชพ เชฎเชพเชเซ, Kubernetes เชเช เช เชงเชฟเชเซเชคเชคเชพ เชชเชฆเซเชงเชคเชฟ เชฒเชพเชเซ เชเชฐเซ เชเซ.
เชธเชเชธเซเชเชฐเชฃ 1.6 เชชเชนเซเชฒเชพ, เชเซเชฌเชฐเชจเซเชเซเชธ เชจเชพเชฎเชจเชพ เช
เชงเชฟเชเซเชค เชชเซเชฐเชเชพเชฐเชจเซ เชเชชเชฏเซเช เชเชฐเชคเชพ เชนเชคเชพ ABAC (เชเชเซเชฐเซเชฌเซเชฏเซเช เชเชงเชพเชฐเชฟเชค เชเชเซเชธเซเชธ เชเชเชเซเชฐเซเชฒ). เชคเซเชจเชพ เชตเชฟเชถเซเชจเซ เชตเชฟเชเชคเซ เชคเซเชฎเชพเช เชฎเชณเซ เชถเชเซ เชเซ
เชเซเชฒเชธเซเชเชฐเชจเชพ เชเชเซเชธเซเชธ เช
เชงเชฟเชเชพเชฐเซเชจเซ เชตเชฟเชญเชพเชเชฟเชค เชเชฐเชตเชพเชจเซ เชตเชฐเซเชคเชฎเชพเชจ (เช
เชจเซ เชตเชงเซ เชฒเชตเชเซเช) เชฐเซเชค เชเชนเซเชตเชพเชฎเชพเช เชเชตเซ เชเซ เชเชฐเชฌเซเชเชธเซ (
RBAC เชจเซ เชธเชเซเชทเชฎ เชเชฐเชตเชพ เชฎเชพเชเซ, เชคเชฎเชพเชฐเซ เชชเซเชฐเชพเชฎเซเชเชฐ เชธเชพเชฅเซ Kubernetes api-server เชถเชฐเซ เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ --authorization-mode=RBAC
. เชชเชฐเชฟเชฎเชพเชฃเซ เชเชชเซเชเช-เชธเชฐเซเชตเชฐ เชฐเซเชชเชฐเซเชเชพเชเชเชจ เชธเชพเชฅเซ เชฎเซเชจเชฟเชซเซเชธเซเชเชฎเชพเช เชธเซเช เชเชฐเซเชฒ เชเซ, เชเซ เชฎเซเชณเชญเซเชค เชฐเซเชคเซ เชชเชพเชฅ เชธเชพเชฅเซ เชธเซเชฅเชฟเชค เชเซ /etc/kubernetes/manifests/kube-apiserver.yaml
, เชตเชฟเชญเชพเชเชฎเชพเช command
. เชเซ เชเซ, RBAC เชชเชนเซเชฒเซเชฅเซ เช เชกเชฟเชซเซเชฒเซเช เชฐเซเชชเซ เชธเชเซเชทเชฎ เชเซ, เชคเซเชฅเซ เชธเชเชญเชตเชคเช เชคเชฎเชพเชฐเซ เชคเซเชจเชพ เชตเชฟเชถเซ เชเชฟเชเชคเชพ เชจ เชเชฐเชตเซ เชเซเชเช: เชคเชฎเซ เชเชจเซ เชฎเซเชฒเซเชฏ เชฆเซเชตเชพเชฐเชพ เชเชเชพเชธเซ เชถเชเซ เชเซ authorization-mode
(เชชเชนเซเชฒเชพเชฅเซ เช เชเชฒเซเชฒเซเช เชเชฐเซเชฏเซ เชเซ kube-apiserver.yaml
). เชฎเชพเชฐเซเช เชฆเซเชตเชพเชฐเชพ, เชคเซเชจเชพ เช
เชฐเซเชฅเซเชฎเชพเช เช
เชจเซเชฏ เชชเซเชฐเชเชพเชฐเชจเซ เช
เชงเชฟเชเซเชคเชคเชพ เชนเซเช เชถเชเซ เชเซ (node
, webhook
, always allow
), เชชเชฐเชเชคเซ เช
เชฎเซ เชคเซเชฎเชจเซ เชตเชฟเชเชพเชฐเชฃเชพเชจเซ เชธเชพเชฎเชเซเชฐเซเชจเชพ เช
เชตเชเชพเชถเชจเซ เชฌเชนเชพเชฐ เชเซเชกเซเชถเซเช.
เชฎเชพเชฐเซเช เชฆเซเชตเชพเชฐเชพ, เช
เชฎเซ เชชเชนเซเชฒเซเชฅเซ เช เชชเซเชฐเชเชพเชถเชฟเชค เชเชฐเซเชฏเซเช เชเซ
เชจเซเชเซเชจเซ API เชเชเชฎเซเชจเซ เชเชชเชฏเซเช RBAC เชฎเชพเชฐเชซเชค เชเซเชฌเชฐเชจเซเชเซเชธเชฎเชพเช เชเชเซเชธเซเชธเชจเซ เชจเชฟเชฏเชเชคเซเชฐเชฟเชค เชเชฐเชตเชพ เชฎเชพเชเซ เชฅเชพเชฏ เชเซ:
-
Role
ะธClusterRole
- เชญเซเชฎเชฟเชเชพเช เชเซ เชเชเซเชธเซเชธ เช เชงเชฟเชเชพเชฐเซเชจเซเช เชตเชฐเซเชฃเชจ เชเชฐเซ เชเซ: -
Role
เชคเชฎเชจเซ เชจเซเชฎเชธเซเชชเซเชธเชฎเชพเช เช เชงเชฟเชเชพเชฐเซเชจเซเช เชตเชฐเซเชฃเชจ เชเชฐเชตเชพเชจเซ เชฎเชเชเซเชฐเซ เชเชชเซ เชเซ; -
ClusterRole
- เชเซเชฒเชธเซเชเชฐเชจเซ เช เชเชฆเชฐ, เชเซเชฒเชธเซเชเชฐ-เชตเชฟเชถเชฟเชทเซเช เชเชฌเซเชเซเชเซเชเซเชธ เชเซเชฎ เชเซ เชจเซเชกเซเชธ, เชฌเชฟเชจ-เชธเชเชธเชพเชงเชจ url (เชเชเชฒเซ โโโโเชเซ เชเซเชฌเชฐเชจเซเชเซเชธ เชธเชเชธเชพเชงเชจเซเชฅเซ เชธเชเชฌเชเชงเชฟเชค เชจเชฅเซ - เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ,/version
,/logs
,/api*
); -
RoleBinding
ะธClusterRoleBinding
- เชฌเชเชงเชจ เชฎเชพเชเซ เชตเชชเชฐเชพเชฏ เชเซRole
ะธClusterRole
เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพ, เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพ เชเซเชฅ เช เชฅเชตเชพ เชธเชฐเซเชตเชฟเชธ เชเชเชพเชเชจเซเช เชฎเชพเชเซ.
เชฐเซเชฒ เช เชจเซ เชฐเซเชฒเชฌเชพเชเชจเซเชกเชฟเชเช เชเชจเซเชเชฟเชเซ เชจเซเชฎเชธเซเชชเซเชธ เชฆเซเชตเชพเชฐเชพ เชฎเชฐเซเชฏเชพเชฆเชฟเชค เชเซ, เชเชเชฒเซ เชเซ. เช เช เชจเซเชฎเชธเซเชชเซเชธเชจเซ เช เชเชฆเชฐ เชนเซเชตเซเช เชเซเชเช. เชเซ เชเซ, เชฐเซเชฒเชฌเชพเชเชจเซเชกเชฟเชเช เชเซเชฒเชธเซเชเชฐเชฐเซเชฒเชจเซ เชธเชเชฆเชฐเซเชญ เชเชชเซ เชถเชเซ เชเซ, เชเซ เชคเชฎเชจเซ เชธเชพเชฎเชพเชจเซเชฏ เชชเชฐเชตเชพเชจเชเซเชเชจเซ เชธเชฎเซเชน เชฌเชจเชพเชตเชตเชพ เช เชจเซ เชคเซเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชเชเซเชธเซเชธเชจเซ เชจเชฟเชฏเชเชคเซเชฐเชฟเชค เชเชฐเชตเชพเชจเซ เชฎเชเชเซเชฐเซ เชเชชเซ เชเซ.
เชญเซเชฎเชฟเชเชพเช เชธเชฎเชพเชตเชฟเชทเซเช เชจเชฟเชฏเชฎเซเชจเชพ เชธเซเชเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เช เชงเชฟเชเชพเชฐเซเชจเซเช เชตเชฐเซเชฃเชจ เชเชฐเซ เชเซ:
- API เชเซเชฅเซ - เชเซเช
เชธเชคเซเชคเชพเชตเชพเชฐ เชฆเชธเซเชคเชพเชตเซเชเซเชเชฐเชฃ apiGroups เช เชจเซ เชเชเชเชชเซเช เชฆเซเชตเชพเชฐเชพkubectl api-resources
; - เชธเชเชธเชพเชงเชจเซ (เชธเซเชฐเซเชคเซ:
pod
,namespace
,deployment
เช เชจเซ เชคเซเชฅเซ เชตเชงเซ.); - เชเซเชฐเชฟเชฏเชพเชชเชฆเซ (เชเซเชฐเชฟเชฏเชพเชชเชฆ:
set
,update
เช เชจเซ เชคเซเชฅเซ เชตเชงเซ.). - เชธเชเชธเชพเชงเชจ เชจเชพเชฎเซ (
resourceNames
) - เชคเซ เชเชฟเชธเซเชธเชพเชฎเชพเช เชเซเชฏเชพเชฐเซ เชคเชฎเชพเชฐเซ เชเซเช เชตเชฟเชถเชฟเชทเซเช เชธเชเชธเชพเชงเชจเชจเซ เชเชเซเชธเซเชธ เชชเซเชฐเชฆเชพเชจ เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชนเซเชฏ, เช เชจเซ เช เชชเซเชฐเชเชพเชฐเชจเชพ เชคเชฎเชพเชฎ เชธเชเชธเชพเชงเชจเซเชจเซ เชจเชนเซเช.
เชเซเชฌเชฐเชจเซเชเซเชธเชฎเชพเช เช
เชงเชฟเชเซเชคเชคเชพเชจเซเช เชตเชงเซ เชตเชฟเชเชคเชตเชพเชฐ เชตเชฟเชถเซเชฒเซเชทเชฃ เชชเซเชทเซเช เชชเชฐ เชฎเชณเซ เชถเชเซ เชเซ
RBAC เชเชเชฎเซเชจเชพ เชเชฆเชพเชนเชฐเชฃเซ
เชธเชฐเชณ Role
, เชเซ เชคเชฎเชจเซ เชชเซเชกเซเชธเชจเซ เชธเซเชเชฟ เช
เชจเซ เชธเซเชฅเชฟเชคเชฟ เชฎเซเชณเชตเชตเชพเชจเซ เช
เชจเซ เชจเซเชฎเชธเซเชชเซเชธเชฎเชพเช เชคเซเชจเซเช เชจเชฟเชฐเซเชเซเชทเชฃ เชเชฐเชตเชพเชจเซ เชฎเชเชเซเชฐเซ เชเชชเซ เชเซ target-namespace
:
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
namespace: target-namespace
name: pod-reader
rules:
- apiGroups: [""]
resources: ["pods"]
verbs: ["get", "watch", "list"]
เชเชฆเชพเชนเชฐเชฃ: ClusterRole
, เชเซ เชคเชฎเชจเซ เชชเซเชกเซเชธเชจเซ เชธเซเชเชฟ เช
เชจเซ เชธเซเชฅเชฟเชคเชฟ เชฎเซเชณเชตเชตเชพ เช
เชจเซ เชธเชฎเชเซเชฐ เชเซเชฒเชธเซเชเชฐเชฎเชพเช เชคเซเชจเซเช เชจเชฟเชฐเซเชเซเชทเชฃ เชเชฐเชตเชพเชจเซ เชฎเชเชเซเชฐเซ เชเชชเซ เชเซ:
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
# ัะตะบัะธะธ "namespace" ะฝะตั, ัะฐะบ ะบะฐะบ ClusterRole ะทะฐะดะตะนััะฒัะตั ะฒะตัั ะบะปะฐััะตั
name: secret-reader
rules:
- apiGroups: [""]
resources: ["secrets"]
verbs: ["get", "watch", "list"]
เชเชฆเชพเชนเชฐเชฃ: RoleBinding
, เชเซ เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพเชจเซ เชชเชฐเชตเชพเชจเชเซ เชเชชเซ เชเซ mynewuser
เชจเซเชฎเชธเซเชชเซเชธเชฎเชพเช เชชเซเชกเซเชธ "เชตเชพเชเชเซ". my-namespace
:
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: read-pods
namespace: target-namespace
subjects:
- kind: User
name: mynewuser # ะธะผั ะฟะพะปัะทะพะฒะฐัะตะปั ะทะฐะฒะธัะธะผะพ ะพั ัะตะณะธัััะฐ!
apiGroup: rbac.authorization.k8s.io
roleRef:
kind: Role # ะทะดะตัั ะดะพะปะถะฝะพ ะฑััั โRoleโ ะธะปะธ โClusterRoleโ
name: pod-reader # ะธะผั Role, ััะพ ะฝะฐั
ะพะดะธััั ะฒ ัะพะผ ะถะต namespace,
# ะธะปะธ ะธะผั ClusterRole, ะธัะฟะพะปัะทะพะฒะฐะฝะธะต ะบะพัะพัะพะน
# ั
ะพัะธะผ ัะฐะทัะตัะธัั ะฟะพะปัะทะพะฒะฐัะตะปั
apiGroup: rbac.authorization.k8s.io
เชเชตเซเชจเซเช เชเชกเชฟเช
เชฏเซเชเชจเชพเชเซเชฏ เชฐเซเชคเซ, เชเซเชฌเชฐเชจเซเชเซเชธ เชเชฐเซเชเชฟเชเซเชเซเชเชฐเชจเซ เชจเซเชเซ เชชเซเชฐเชฎเชพเชฃเซ เชฐเชเซ เชเชฐเซ เชถเชเชพเชฏ เชเซ:
เชตเชฟเชจเชเชคเซเช เชชเชฐ เชชเซเชฐเชเซเชฐเชฟเชฏเชพ เชเชฐเชตเชพ เชฎเชพเชเซ เชเชตเชพเชฌเชฆเชพเชฐ เชฎเซเชเซเชฏ เชเซเชฌเชฐเชจเซเชเซเชธ เชเชเช เชเซ api-เชธเชฐเซเชตเชฐ. เชเซเชฒเชธเซเชเชฐ เชชเชฐเชจเซ เชคเชฎเชพเชฎ เชเชพเชฎเชเซเชฐเซ เชคเซเชฎเชพเชเชฅเซ เชชเชธเชพเชฐ เชฅเชพเชฏ เชเซ. เชคเชฎเซ เชฒเซเชเชฎเชพเช เช เชเชเชคเชฐเชฟเช เชชเชฆเซเชงเชคเชฟเช เชตเชฟเชถเซ เชตเชงเซ เชตเชพเชเชเซ เชถเชเซ เชเซ โ
เชเซเชฌเชฐเชจเซเชเซเชธเชฎเชพเช เชธเชฟเชธเซเชเชฎ เชเชกเชฟเชเซเชเช เช เชเช เชฐเชธเชชเซเชฐเชฆ เชธเซเชตเชฟเชงเชพ เชเซ, เชเซ เชกเชฟเชซเซเชฒเซเช เชฐเซเชชเซ เช
เชเซเชทเชฎ เชเซ. เชคเซ เชคเชฎเชจเซ Kubernetes API เชฎเชพเช เชคเชฎเชพเชฎ เชเซเชฒเซเชธเชจเซ เชฒเซเช เชเชฐเชตเชพเชจเซ เชฎเชเชเซเชฐเซ เชเชชเซ เชเซ. เชเซเชฎ เชคเชฎเซ เช
เชจเซเชฎเชพเชจ เชเชฐเซ เชถเชเซ เชเซ, เชเซเชฒเชธเซเชเชฐเชจเซ เชธเซเชฅเชฟเชคเชฟเชจเซเช เชจเชฟเชฐเซเชเซเชทเชฃ เชเชฐเชตเชพ เช
เชจเซ เชฌเชฆเชฒเชตเชพเชฅเซ เชธเชเชฌเชเชงเชฟเชค เชคเชฎเชพเชฎ เชเซเชฐเชฟเชฏเชพเช เช API เชฆเซเชตเชพเชฐเชพ เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ. เชคเซเชจเซ เชเซเชทเชฎเชคเชพเชเชจเซเช เชธเชพเชฐเซเช เชตเชฐเซเชฃเชจ (เชนเชเชฎเซเชถเชจเซ เชเซเชฎ) เชฎเชพเช เชฎเชณเซ เชถเชเซ เชเซ
เช เชจเซ เชคเซเชฅเซ, เชเชกเชฟเชเซเชเช เชธเชเซเชทเชฎ เชเชฐเชตเชพ เชฎเชพเชเซ, เช เชฎเชพเชฐเซ เชเชชเซเชเช-เชธเชฐเซเชตเชฐเชฎเชพเช เชเชจเซเชเซเชจเชฐเชฎเชพเช เชคเซเชฐเชฃ เชเชฐเซเชฐเซ เชชเชฐเชฟเชฎเชพเชฃเซ เชชเชธเชพเชฐ เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ, เชเซ เชจเซเชเซ เชตเชงเซ เชตเชฟเชเชคเชตเชพเชฐ เชตเชฐเซเชฃเชตเซเชฒ เชเซ:
-
--audit-policy-file=/etc/kubernetes/policies/audit-policy.yaml
-
--audit-log-path=/var/log/kube-audit/audit.log
-
--audit-log-format=json
เช เชคเซเชฐเชฃ เชเชฐเซเชฐเซ เชชเชฐเชฟเชฎเชพเชฃเซ เชเชชเชฐเชพเชเชค, เชเชกเชฟเชเชฟเชเช เชธเชเชฌเชเชงเชฟเชค เชเชฃเซ เชตเชงเชพเชฐเชพเชจเซ เชธเซเชเชฟเชเชเซเชธ เชเซ: เชฒเซเช เชฐเซเชเซเชถเชจเชฅเซ เชตเซเชฌเชนเซเช เชตเชฐเซเชฃเชจเซ. เชฒเซเช เชฐเซเชเซเชถเชจ เชชเชฐเชฟเชฎเชพเชฃเซเชจเซเช เชเชฆเชพเชนเชฐเชฃ:
-
--audit-log-maxbackup=10
-
--audit-log-maxsize=100
-
--audit-log-maxage=7
เชชเชฐเชเชคเซ เช
เชฎเซ เชคเซเชฎเชจเชพ เชชเชฐ เชตเชงเซ เชตเชฟเชเชคเชตเชพเชฐ เชงเซเชฏเชพเชจ เชเชชเซเชถเซเช เชจเชนเซเช - เชคเชฎเซ เชคเซเชฎเชพเช เชฌเชงเซ เชตเชฟเชเชคเซ เชถเซเชงเซ เชถเชเซ เชเซ
เชชเชนเซเชฒเซเชฅเซ เช เชเชฒเซเชฒเซเช เชเชฐเซเชฏเซ เชเซ เชคเซเชฎ, เชคเชฎเชพเชฎ เชชเชฐเชฟเชฎเชพเชฃเซ เชเชชเซเชเช-เชธเชฐเซเชตเชฐ เชเซเช เชตเชฃเซ เชธเชพเชฅเซ เชฎเซเชจเชฟเชซเซเชธเซเชเชฎเชพเช เชธเซเช เชเชฐเซเชฒ เชเซ (เชกเชฟเชซเซเชฒเซเช เชฐเซเชชเซ /etc/kubernetes/manifests/kube-apiserver.yaml
), เชตเชฟเชญเชพเชเชฎเชพเช command
. เชเชพเชฒเซ 3 เชเชฐเซเชฐเซ เชชเชฐเชฟเชฎเชพเชฃเซ เชชเชฐ เชชเชพเชเชพ เชเชเช เช
เชจเซ เชคเซเชจเซเช เชตเชฟเชถเซเชฒเซเชทเชฃ เชเชฐเซเช:
-
audit-policy-file
โ เชเชกเชฟเช เชจเซเชคเชฟเชจเซเช เชตเชฐเซเชฃเชจ เชเชฐเชคเซ YAML เชซเชพเชเชฒเชจเซ เชชเชพเชฅ. เช เชฎเซ เชชเชเซเชฅเซ เชคเซเชจเชพ เชธเชฎเชพเชตเชฟเชทเซเชเซ เชชเชฐ เชชเชพเชเชพ เชเชตเซเชถเซเช, เชชเชฐเชเชคเซ เชนเชฎเชฃเชพเช เชฎเชพเชเซ เชนเซเช เชจเซเชเชง เชเชฐเซเชถ เชเซ เชซเชพเชเชฒ เชเชชเซเชเช-เชธเชฐเซเชตเชฐ เชชเซเชฐเชเซเชฐเชฟเชฏเชพ เชฆเซเชตเชพเชฐเชพ เชตเชพเชเชเซ เชถเชเชพเชฏ เชคเซเชตเซ เชนเซเชตเซ เชเซเชเช. เชคเซเชฅเซ, เชคเซเชจเซ เชเชจเซเชเซเชจเชฐเชจเซ เช เชเชฆเชฐ เชฎเชพเชเชจเซเช เชเชฐเชตเซเช เชเชฐเซเชฐเซ เชเซ, เชเซเชจเชพ เชฎเชพเชเซ เชคเชฎเซ เชจเซเชเซเชจเชพ เชเซเชกเชจเซ เชฐเซเชชเชฐเซเชเชพเชจเชพ เชฏเซเชเซเชฏ เชตเชฟเชญเชพเชเซเชฎเชพเช เชเชฎเซเชฐเซ เชถเชเซ เชเซ:volumeMounts: - mountPath: /etc/kubernetes/policies name: policies readOnly: true volumes: - hostPath: path: /etc/kubernetes/policies type: DirectoryOrCreate name: policies
-
audit-log-path
- เชฒเซเช เชซเชพเชเชฒเชจเซ เชชเชพเชฅ. เชชเชพเชฅ เชเชชเซเชเช-เชธเชฐเซเชตเชฐ เชชเซเชฐเชเซเชฐเชฟเชฏเชพ เชฎเชพเชเซ เชชเชฃ เชธเซเชฒเชญ เชนเซเชตเซ เชเซเชเช, เชคเซเชฅเซ เช เชฎเซ เชคเซเชจเชพ เชฎเชพเชเชจเซเชเชฟเชเชเชจเซเช เชคเซ เช เชฐเซเชคเซ เชตเชฐเซเชฃเชจ เชเชฐเซเช เชเซเช:volumeMounts: - mountPath: /var/log/kube-audit name: logs readOnly: false volumes: - hostPath: path: /var/log/kube-audit type: DirectoryOrCreate name: logs
-
audit-log-format
- เชเชกเชฟเช เชฒเซเช เชซเซเชฐเซเชฎเซเช. เชฎเซเชณเชญเซเชค เชเซjson
, เชชเชฐเชเชคเซ เชฒเซเชเชธเซ เชเซเชเซเชธเซเช เชซเซเชฐเซเชฎเซเช เชชเชฃ เชเชชเชฒเชฌเซเชง เชเซ (legacy
).
เชเชกเชฟเช เชจเซเชคเชฟ
เชนเชตเซ เชฒเซเชเซเชเช เชจเซเชคเชฟเชจเซเช เชตเชฐเซเชฃเชจ เชเชฐเชคเซ เชเชฒเซเชฒเซเชเชฟเชค เชซเชพเชเชฒ เชตเชฟเชถเซ. เชเชกเชฟเช เชจเซเชคเชฟเชจเซ เชชเซเชฐเชฅเชฎ เชเซเชฏเชพเชฒ เชเซ level
, เชฒเซเชเซเชเช เชธเซเชคเชฐ. เชคเซเช เชจเซเชเซ เชฎเซเชเชฌ เชเซ.
-
None
- เชฒเซเช เชจ เชเชฐเซ; -
Metadata
- เชฒเซเช เชตเชฟเชจเชเชคเซ เชฎเซเชเชพเชกเซเชเชพ: เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพ, เชตเชฟเชจเชเชคเซ เชธเชฎเชฏ, เชฒเชเซเชทเซเชฏ เชธเชเชธเชพเชงเชจ (เชชเซเชก, เชจเซเชฎเชธเซเชชเซเชธ, เชตเชเซเชฐเซ), เชเซเชฐเชฟเชฏเชพเชจเซ เชชเซเชฐเชเชพเชฐ (เชเซเชฐเชฟเชฏเชพเชชเชฆ), เชตเชเซเชฐเซ; -
Request
- เชฎเซเชเชพเชกเซเชเชพ เชฒเซเช เชเชฐเซ เช เชจเซ เชฌเซเชกเซเชจเซ เชตเชฟเชจเชเชคเซ เชเชฐเซ; -
RequestResponse
- เชฎเซเชเชพเชกเซเชเชพ เชฒเซเช เชเชฐเซ, เชฌเซเชกเซ เช เชจเซ เชฐเชฟเชธเซเชชเซเชจเซเชธ เชฌเซเชกเซเชจเซ เชตเชฟเชจเชเชคเซ เชเชฐเซ.
เชเซเชฒเซเชฒเชพ เชฌเซ เชธเซเชคเชฐเซ (Request
ะธ RequestResponse
) เชเชตเซ เชตเชฟเชจเชเชคเซเชเชจเซ เชฒเซเช เชเชฐเชถเซ เชจเชนเซเช เชเซ เชเซเชฃเซ เชธเชเชธเชพเชงเชจเซเชจเซ เชเชเซเชธเซเชธ เชจ เชเชฐเซเชฏเซเช เชนเซเชฏ (เชเชนเซเชตเชพเชคเชพ เชฌเชฟเชจ-เชธเชเชธเชพเชงเชจ URL เชจเซ เชเชเซเชธเซเชธ).
เชคเซเชฎเช เชคเชฎเชพเชฎ เชตเชฟเชจเชเชคเซเช เชชเชธเชพเชฐ เชฅเชพเชฏ เชเซ เชเซเชเชฒเชพเช เชคเชฌเชเซเชเชพเช:
-
RequestReceived
- เชคเซ เชคเชฌเชเซเชเซ เชเซเชฏเชพเชฐเซ เชชเซเชฐเซเชธเซเชธเชฐ เชฆเซเชตเชพเชฐเชพ เชตเชฟเชจเชเชคเซ เชชเซเชฐเชพเชชเซเชค เชฅเชพเชฏ เชเซ เช เชจเซ เชนเชเซ เชธเซเชงเซ เชชเซเชฐเซเชธเซเชธเชฐเชจเซ เชธเชพเชเชเชณ เชธเชพเชฅเซ เชเชเชณ เชชเซเชฐเชธเชพเชฐเชฟเชค เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชจเชฅเซ; -
ResponseStarted
โ เชชเซเชฐเชคเชฟเชญเชพเชต เชนเซเชกเชฐเซ เชฎเซเชเชฒเชตเชพเชฎเชพเช เชเชตเซ เชเซ, เชชเชฐเชเชคเซ เชชเซเชฐเชคเชฟเชธเชพเชฆ เชฌเซเชกเซ เชฎเซเชเชฒเชตเชพเชฎเชพเช เชเชตเซ เชคเซ เชชเชนเซเชฒเชพเช. เชฒเชพเชเชฌเชพ เชธเชฎเชฏเชฅเซ เชเชพเชฒเชคเซ เชเซเชตเซเชฐเซ เชฎเชพเชเซ เชเชจเชฐเซเช เชเชฐเซเชฒ (เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ,watch
); -
ResponseComplete
- เชชเซเชฐเชคเชฟเชญเชพเชต เชฌเซเชกเซ เชฎเซเชเชฒเชตเชพเชฎเชพเช เชเชตเซ เชเซ, เชตเชงเซ เชฎเชพเชนเชฟเชคเซ เชฎเซเชเชฒเชตเชพเชฎเชพเช เชเชตเชถเซ เชจเชนเซเช; -
Panic
- เชเชเชจเชพเช เชเชจเชฐเซเช เชฅเชพเชฏ เชเซ เชเซเชฏเชพเชฐเซ เช เชธเชพเชฎเชพเชจเซเชฏ เชชเชฐเชฟเชธเซเชฅเชฟเชคเชฟ เชฎเชณเซ เชเชตเซ เชเซ.
เชคเชฎเซ เชเชชเชฏเซเช เชเชฐเซ เชถเชเซ เชคเซ เชเซเชเชชเชฃ เชชเชเชฒเชพเชเชจเซ เชเซเชกเชตเชพ เชฎเชพเชเซ omitStages
.
เชชเซเชฒเชฟเชธเซ เชซเชพเชเชฒเชฎเชพเช, เช เชฎเซ เชตเชฟเชตเชฟเชง เชฒเซเชเซเชเช เชธเซเชคเชฐเซ เชธเชพเชฅเซ เชเซเชเชฒเชพเช เชตเชฟเชญเชพเชเซเชจเซเช เชตเชฐเซเชฃเชจ เชเชฐเซ เชถเชเซเช เชเซเช. เชชเซเชฒเชฟเชธเซ เชตเชฐเซเชฃเชจเชฎเชพเช เชเซเชตเชพ เชฎเชณเซเชฒเซ เชชเซเชฐเชฅเชฎ เชฎเซเชเชฟเชเช เชจเชฟเชฏเชฎ เชฒเชพเชเซ เชเชฐเชตเชพเชฎเชพเช เชเชตเชถเซ.
เชเซเชฌเซเชฒเซเช เชกเชฟเชฎเชจ เชเชชเซเชเช-เชธเชฐเซเชตเชฐ เชฐเซเชชเชฐเซเชเชพเชเชเชจ เชธเชพเชฅเซ เชฎเซเชจเชฟเชซเซเชธเซเชเชฎเชพเช เชซเซเชฐเชซเชพเชฐเซเชจเซเช เชจเชฟเชฐเซเชเซเชทเชฃ เชเชฐเซ เชเซ เช
เชจเซ, เชเซ เชเซเช เชถเซเชงเชพเชฏเซเชฒ เชนเซเชฏ, เชคเซ เชเชชเซเชเช-เชธเชฐเซเชตเชฐ เชธเชพเชฅเซ เชเชจเซเชเซเชจเชฐเชจเซ เชชเซเชจเชเชชเซเชฐเชพเชฐเชเชญ เชเชฐเซ เชเซ. เชชเชฐเชเชคเซ เชเช เชฎเชนเชคเซเชตเชชเซเชฐเซเชฃ เชตเชฟเชเชค เชเซ: เชชเซเชฒเชฟเชธเซ เชซเชพเชเชฒเชฎเชพเช เชซเซเชฐเชซเชพเชฐเซ เชคเซเชจเชพ เชฆเซเชตเชพเชฐเชพ เช
เชตเชเชฃเชตเชพเชฎเชพเช เชเชตเชถเซ. เชชเซเชฒเชฟเชธเซ เชซเชพเชเชฒเชฎเชพเช เชซเซเชฐเชซเชพเชฐเซ เชเชฐเซเชฏเชพ เชชเชเซ, เชคเชฎเชพเชฐเซ เชเชชเซเชเช-เชธเชฐเซเชตเชฐเชจเซ เชฎเซเชจเซเชฏเซเช
เชฒเซ เชฐเซเชธเซเชเชพเชฐเซเช เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชชเชกเชถเซ. เชเชชเซเชเช-เชธเชฐเซเชตเชฐ เชคเชฐเซเชเซ เชถเชฐเซ เชฅเชฏเซเช เชนเซเชตเชพเชฅเซ kubectl delete
เชคเซเชจเซ เชชเซเชจเชเชชเซเชฐเชพเชฐเชเชญ เชเชฐเชถเซ เชจเชนเซเช. เชคเชฎเชพเชฐเซ เชคเซเชจเซ เชฎเซเชจเซเชฏเซเช
เชฒเซ เชเชฐเชตเซเช เชชเชกเชถเซ docker stop
kube-masters เชชเชฐ, เชเซเชฏเชพเช เชเชกเชฟเช เชจเซเชคเชฟ เชฌเชฆเชฒเชพเช เชเซ:
docker stop $(docker ps | grep k8s_kube-apiserver | awk '{print $1}')
เชเชกเชฟเชเชฟเชเชเชจเซ เชธเชเซเชทเชฎ เชเชฐเชคเซ เชตเชเชคเซ, เชคเซ เชฏเชพเชฆ เชฐเชพเชเชตเซเช เชฎเชนเชคเซเชตเชชเซเชฐเซเชฃ เชเซ เชเซเชฌเซ-เชเชชเซเชธเชฐเซเชตเชฐ เชชเชฐเชจเซ เชญเชพเชฐ เชตเชงเซ เชเซ. เชเชพเชธ เชเชฐเซเชจเซ, เชตเชฟเชจเชเชคเซ เชธเชเชฆเชฐเซเชญ เชธเซเชเซเชฐ เชเชฐเชตเชพ เชฎเชพเชเซ เชฎเซเชฎเชฐเซ เชตเชชเชฐเชพเชถ เชตเชงเซ เชเซ. เชชเซเชฐเชคเชฟเชญเชพเชต เชนเซเชกเชฐ เชฎเซเชเชฒเซเชฏเชพ เชชเชเซ เช เชฒเซเชเซเชเช เชถเชฐเซ เชฅเชพเชฏ เชเซ. เชฒเซเชก เชชเชฃ เชเชกเชฟเช เชจเซเชคเชฟ เชฐเซเชชเชฐเซเชเชพเชเชเชจ เชชเชฐ เชเชงเชพเชฐ เชฐเชพเชเซ เชเซ.
เชจเซเชคเชฟเชเชจเชพ เชเชฆเชพเชนเชฐเชฃเซ
เชเชพเชฒเซ เชเชฆเชพเชนเชฐเชฃเซเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชชเซเชฒเชฟเชธเซ เชซเชพเชเชฒเซเชจเซ เชฐเชเชจเชพ เชเซเชเช.
เช
เชนเซเช เชเช เชธเชฐเชณ เชซเชพเชเชฒ เชเซ policy
เชธเซเชคเชฐ เชชเชฐ เชฌเชงเซเช เชฒเซเช เชเชฐเชตเชพ เชฎเชพเชเซ Metadata
:
apiVersion: audit.k8s.io/v1
kind: Policy
rules:
- level: Metadata
เชจเซเชคเชฟเชฎเชพเช เชคเชฎเซ เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพเชเชจเซ เชธเซเชเชฟเชจเซ เชเชฒเซเชฒเซเช เชเชฐเซ เชถเชเซ เชเซ (Users
ะธ ServiceAccounts
) เช
เชจเซ เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพ เชเซเชฅเซ. เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ, เช เชฐเซเชคเซ เช
เชฎเซ เชธเชฟเชธเซเชเชฎ เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพเชเชจเซ เช
เชตเชเชฃเซเชถเซเช, เชชเชฐเชเชคเซ เชธเซเชคเชฐ เชชเชฐ เชฌเชพเชเซเชจเซเช เชฌเชงเซเช เชฒเซเช เชเชฐเซเชถเซเช Request
:
apiVersion: audit.k8s.io/v1
kind: Policy
rules:
- level: None
userGroups:
- "system:serviceaccounts"
- "system:nodes"
users:
- "system:anonymous"
- "system:apiserver"
- "system:kube-controller-manager"
- "system:kube-scheduler"
- level: Request
เชฒเชเซเชทเซเชฏเซเชจเซเช เชตเชฐเซเชฃเชจ เชเชฐเชตเซเช เชชเชฃ เชถเชเซเชฏ เชเซ:
- เชจเชพเชฎเชจเซ เชเชเซเชฏเชพเช (
namespaces
); - เชเซเชฐเชฟเชฏเชพเชชเชฆเซ (เชเซเชฐเชฟเชฏเชพเชชเชฆ:
get
,update
,delete
เช เชจเซ เช เชจเซเชฏ); - เชธเชเชธเชพเชงเชจเซ (เชธเซเชฐเซเชคเซเชเชเชฒเซ เชเซ:
pod
,configmaps
เชตเชเซเชฐเซ) เช เชจเซ เชธเชเชธเชพเชงเชจ เชเซเชฅเซ (apiGroups
).
เชงเซเชฏเชพเชจ เชเชชเซ! เชธเชเชธเชพเชงเชจเซ เช เชจเซ เชธเชเชธเชพเชงเชจ เชเซเชฅเซ (API เชเซเชฅเซ, เชเชเชฒเซ เชเซ apiGroups), เชคเซเชฎเช เชเซเชฒเชธเซเชเชฐเชฎเชพเช เชธเซเชฅเชพเชชเชฟเชค เชคเซเชฎเชจเชพ เชธเชเชธเซเชเชฐเชฃเซ, เชเชฆเซเชถเซเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชฎเซเชณเชตเซ เชถเชเชพเชฏ เชเซ:
kubectl api-resources
kubectl api-versions
เชจเซเชเซเชจเซ เชเชกเชฟเช เชจเซเชคเชฟ เชถเซเชฐเซเชทเซเช เชชเซเชฐเชฅเชพเชเชจเชพ เชชเซเชฐเชฆเชฐเซเชถเชจ เชคเชฐเซเชเซ เชชเซเชฐเชฆเชพเชจ เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ
apiVersion: audit.k8s.io/v1beta1
kind: Policy
# ะะต ะปะพะณะธัะพะฒะฐัั ััะฐะดะธั RequestReceived
omitStages:
- "RequestReceived"
rules:
# ะะต ะปะพะณะธัะพะฒะฐัั ัะพะฑััะธั, ััะธัะฐััะธะตัั ะผะฐะปะพะทะฝะฐัะธัะตะปัะฝัะผะธ ะธ ะฝะต ะพะฟะฐัะฝัะผะธ:
- level: None
users: ["system:kube-proxy"]
verbs: ["watch"]
resources:
- group: "" # ััะพ api group ั ะฟััััะผ ะธะผะตะฝะตะผ, ะบ ะบะพัะพัะพะผั ะพัะฝะพััััั
# ะฑะฐะทะพะฒัะต ัะตััััั Kubernetes, ะฝะฐะทัะฒะฐะตะผัะต โcoreโ
resources: ["endpoints", "services"]
- level: None
users: ["system:unsecured"]
namespaces: ["kube-system"]
verbs: ["get"]
resources:
- group: "" # core
resources: ["configmaps"]
- level: None
users: ["kubelet"]
verbs: ["get"]
resources:
- group: "" # core
resources: ["nodes"]
- level: None
userGroups: ["system:nodes"]
verbs: ["get"]
resources:
- group: "" # core
resources: ["nodes"]
- level: None
users:
- system:kube-controller-manager
- system:kube-scheduler
- system:serviceaccount:kube-system:endpoint-controller
verbs: ["get", "update"]
namespaces: ["kube-system"]
resources:
- group: "" # core
resources: ["endpoints"]
- level: None
users: ["system:apiserver"]
verbs: ["get"]
resources:
- group: "" # core
resources: ["namespaces"]
# ะะต ะปะพะณะธัะพะฒะฐัั ะพะฑัะฐัะตะฝะธั ะบ read-only URLs:
- level: None
nonResourceURLs:
- /healthz*
- /version
- /swagger*
# ะะต ะปะพะณะธัะพะฒะฐัั ัะพะพะฑัะตะฝะธั, ะพัะฝะพัััะธะตัั ะบ ัะธะฟั ัะตััััะพะฒ โัะพะฑััะธัโ:
- level: None
resources:
- group: "" # core
resources: ["events"]
# ะ ะตััััั ัะธะฟะฐ Secret, ConfigMap ะธ TokenReview ะผะพะณัั ัะพะดะตัะถะฐัั ัะตะบัะตัะฝัะต ะดะฐะฝะฝัะต,
# ะฟะพััะพะผั ะปะพะณะธััะตะผ ัะพะปัะบะพ ะผะตัะฐะดะฐะฝะฝัะต ัะฒัะทะฐะฝะฝัั
ั ะฝะธะผะธ ะทะฐะฟัะพัะพะฒ
- level: Metadata
resources:
- group: "" # core
resources: ["secrets", "configmaps"]
- group: authentication.k8s.io
resources: ["tokenreviews"]
# ะะตะนััะฒะธั ัะธะฟะฐ get, list ะธ watch ะผะพะณัั ะฑััั ัะตััััะพัะผะบะธะผะธ; ะฝะต ะปะพะณะธััะตะผ ะธั
- level: Request
verbs: ["get", "list", "watch"]
resources:
- group: "" # core
- group: "admissionregistration.k8s.io"
- group: "apps"
- group: "authentication.k8s.io"
- group: "authorization.k8s.io"
- group: "autoscaling"
- group: "batch"
- group: "certificates.k8s.io"
- group: "extensions"
- group: "networking.k8s.io"
- group: "policy"
- group: "rbac.authorization.k8s.io"
- group: "settings.k8s.io"
- group: "storage.k8s.io"
# ะฃัะพะฒะตะฝั ะปะพะณะธัะพะฒะฐะฝะธั ะฟะพ ัะผะพะปัะฐะฝะธั ะดะปั ััะฐะฝะดะฐััะฝัั
ัะตััััะพะฒ API
- level: RequestResponse
resources:
- group: "" # core
- group: "admissionregistration.k8s.io"
- group: "apps"
- group: "authentication.k8s.io"
- group: "authorization.k8s.io"
- group: "autoscaling"
- group: "batch"
- group: "certificates.k8s.io"
- group: "extensions"
- group: "networking.k8s.io"
- group: "policy"
- group: "rbac.authorization.k8s.io"
- group: "settings.k8s.io"
- group: "storage.k8s.io"
# ะฃัะพะฒะตะฝั ะปะพะณะธัะพะฒะฐะฝะธั ะฟะพ ัะผะพะปัะฐะฝะธั ะดะปั ะฒัะตั
ะพััะฐะปัะฝัั
ะทะฐะฟัะพัะพะฒ
- level: Metadata
เชเชกเชฟเช เชจเซเชคเชฟเชจเซเช เชฌเซเชเซเช เชธเชพเชฐเซเช เชเชฆเชพเชนเชฐเชฃ เชเซ
เชเชกเชฟเช เชเชตเซเชจเซเชเซเชธเชจเซ เชเชกเชชเชฅเซ เชเชตเชพเชฌ เชเชชเชตเชพ เชฎเชพเชเซ, เชคเซ เชถเชเซเชฏ เชเซ เชตเซเชฌเชนเซเชเชจเซเช เชตเชฐเซเชฃเชจ เชเชฐเซ. เช เชฎเซเชฆเซเชฆเซ เชเชตเชฐเซ เชฒเซเชตเชพเชฎเชพเช เชเชตเซเชฏเซ เชเซ
เชชเชฐเชฟเชฃเชพเชฎเซ
เช เชฒเซเช เชเซเชฌเชฐเชจเซเชเซเชธ เชเซเชฒเชธเซเชเชฐเซเชธเชฎเชพเช เชฎเซเชณเชญเซเชค เชธเซเชฐเชเซเชทเชพ เชชเชฆเซเชงเชคเชฟเชเชจเซเช เชตเชฟเชนเชเชเชพเชตเชฒเซเชเชจ เชชเซเชฐเชฆเชพเชจ เชเชฐเซ เชเซ, เชเซ เชคเชฎเชจเซ เชตเซเชฏเชเซเชคเชฟเชเชค เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพ เชเชเชพเชเชจเซเชเซเชธ เชฌเชจเชพเชตเชตเชพ, เชคเซเชฎเชจเชพ เช เชงเชฟเชเชพเชฐเซเชจเซ เช เชฒเช เชเชฐเชตเชพ เช เชจเซ เชคเซเชฎเชจเซ เชเซเชฐเชฟเชฏเชพเช เชฐเซเชเซเชฐเซเชก เชเชฐเชตเชพเชจเซ เชฎเชเชเซเชฐเซ เชเชชเซ เชเซ. เชนเซเช เชเชถเชพ เชฐเชพเชเซเช เชเซเช เชเซ เชเซเช เชธเชฟเชฆเซเชงเชพเชเชคเชฎเชพเช เช เชฅเชตเชพ เชตเซเชฏเชตเชนเชพเชฐเชฎเชพเช เชเชตเซ เชธเชฎเชธเซเชฏเชพเชเชจเซ เชธเชพเชฎเชจเซ เชเชฐเซ เชฐเชนเซเชฏเชพ เชเซ เชคเซเชฎเชจเชพ เชฎเชพเชเซ เชคเซ เชเชชเชฏเซเชเซ เชฅเชถเซ. เชนเซเช เช เชชเชฃ เชญเชฒเชพเชฎเชฃ เชเชฐเซเช เชเซเช เชเซ เชคเชฎเซ เชเซเชฌเชฐเชจเซเชเซเชธเชฎเชพเช เชธเซเชฐเชเซเชทเชพเชจเชพ เชตเชฟเชทเชฏ เชชเชฐเชจเซ เช เชจเซเชฏ เชธเชพเชฎเชเซเชฐเซเชเชจเซ เชธเซเชเชฟ เชตเชพเชเชเซ, เชเซ "PS" เชฎเชพเช เชเชชเชตเชพเชฎเชพเช เชเชตเซ เชเซ - เชเชฆเชพเช เชคเซเชฎเชพเชเชฅเซ เชคเชฎเชจเซ เชธเชเชฌเชเชงเชฟเชค เชธเชฎเชธเซเชฏเชพเช เชชเชฐ เชเชฐเซเชฐเซ เชตเชฟเชเชคเซ เชฎเชณเชถเซ.
PS
เช เชฎเชพเชฐเชพ เชฌเซเชฒเซเช เชชเชฐ เชชเชฃ เชตเชพเชเชเซ:
- ยซ
33+ เชเซเชฌเชฐเชจเซเชเซเชธ เชธเซเชฐเชเซเชทเชพ เชธเชพเชงเชจเซ ยป; - ยซ
เชธเซเชฐเชเซเชทเชพ เชตเซเชฏเชพเชตเชธเชพเชฏเชฟเชเซ เชฎเชพเชเซ เชเซเชฌเชฐเชจเซเชเซเชธ เชจเซเชเชตเชฐเซเช เชจเซเชคเชฟเชเชจเซ เชชเชฐเชฟเชเชฏ ยป; - ยซ
เชเซเชฌเชฐเชจเซเชเซเชธเชฎเชพเช RBAC เชจเซ เชธเชฎเชเชตเซเช ยป; - ยซ
เชเซเชฌเชฐเชจเซเชเซเชธ เชธเซเชฐเชเซเชทเชพ เชฎเชพเชเซ 9 เชถเซเชฐเซเชทเซเช เชชเซเชฐเชฏเชพเชธเซ ยป; - ยซ
เชเซเชฌเชฐเชจเซเชเซเชธ เชนเซเชเชจเซ เชถเชฟเชเชพเชฐ เชฌเชจเชตเชพเชจเซ (เชจเชนเซเช) 11 เชฐเซเชคเซ ยป.
เชธเซเชฐเซเชธ: www.habr.com