เจเจฒเจฆเฉ เจเจพเจ เจฌเจพเจ
เจฆ เจตเจฟเฉฑเจ, เจเจฟเจธเฉ เจตเฉ เจชเฉเจฐเจฃเจพเจฒเฉ เจฆเฉ เจธเฉฐเจเจพเจฒเจจ เจตเจฟเฉฑเจ, เจธเฉเจฐเฉฑเจเจฟเจ เจฆเจพ เจฎเฉเฉฑเจฆเจพ เจเฉฑเจ เจฆเจพ เจนเฉ: เจชเฉเจฐเจฎเจพเจฃเจฟเจเจคเจพ เจจเฉเฉฐ เจฏเจเฉเจจเฉ เจฌเจฃเจพเจเจฃเจพ, เจ
เจงเจฟเจเจพเจฐเจพเจ เจจเฉเฉฐ เจตเฉฑเจ เจเจฐเจจเจพ, เจเจกเจฟเจเจฟเฉฐเจ เจ
เจคเฉ เจนเฉเจฐ เจเจพเจฐเจ. Kubernetes เจฒเจ เจชเจนเจฟเจฒเจพเจ เจนเฉ เจฌเจฃเจพเจเจ เจเจฟเจ เจนเฉ
เจชเฉเจฐเจฎเจพเจฃเจฟเจเจคเจพ
เจเฉเจฌเจฐเจจเฉเจเจธ เจตเจฟเฉฑเจ เจฆเฉ เจคเจฐเฉเจนเจพเจ เจฆเฉ เจเจชเจญเฉเจเจคเจพ เจนเจจ:
- เจธเฉเจตเจพ เจเจพเจคเฉ โ Kubernetes API เจฆเฉเจเจฐเจพ เจชเฉเจฐเจฌเฉฐเจงเจฟเจค เจเจพเจคเฉ;
- เจเจชเจญเฉเจเฉ - เจฌเจพเจนเจฐเฉ, เจธเฉเจคเฉฐเจคเจฐ เจธเฉเจตเจพเจตเจพเจ เจฆเฉเจเจฐเจพ เจชเฉเจฐเจฌเฉฐเจงเจฟเจค "เจเจฎ" เจเจชเจญเฉเจเจคเจพเฅค
เจเจนเจจเจพเจ เจเจฟเจธเจฎเจพเจ เจตเจฟเฉฑเจ เจฎเฉเฉฑเจ เจ
เฉฐเจคเจฐ เจเจน เจนเฉ เจเจฟ เจธเฉเจตเจพ เจเจพเจคเจฟเจเจ เจฒเจ เจเฉเจฌเจฐเจจเฉเจเจธ API เจตเจฟเฉฑเจ เจตเจฟเจธเจผเฉเจธเจผ เจตเจธเจคเฉเจเจ เจนเจจ (เจเจนเจจเจพเจ เจจเฉเฉฐ เจเจฟเจนเจพ เจเจพเจเจฆเจพ เจนเฉ - ServiceAccounts
), เจเฉ เจเจฟ เจเฉฑเจ เจจเฉเจฎเจธเจชเฉเจธ เจจเจพเจฒ เจฌเฉฐเจจเฉเจนเฉ เจนเฉเจ เจนเจจ เจ
เจคเฉ เจธเฉเจเจฐเฉเจเจธ เจเจฟเจธเจฎ เจฆเฉเจเจ เจตเจธเจคเฉเจเจ เจตเจฟเฉฑเจ เจเจฒเฉฑเจธเจเจฐ เจตเจฟเฉฑเจ เจธเจเฉเจฐ เจเฉเจคเฉ เจชเฉเจฐเจฎเจพเจฃเจฟเจเจคเจพ เจกเฉเจเจพ เจฆเฉ เจเฉฑเจ เจธเฉเฉฑเจ เจจเจพเจฒ เจเฉเฉเฉ เจนเฉเจ เจนเจจเฅค เจ
เจเจฟเจนเฉ เจเจชเจญเฉเจเจคเจพ (เจธเฉเจตเจพ เจเจพเจคเฉ) เจฎเฉเฉฑเจ เจคเฉเจฐ 'เจคเฉ Kubernetes เจเจฒเฉฑเจธเจเจฐ เจตเจฟเฉฑเจ เจเฉฑเจฒ เจฐเจนเฉเจเจ เจชเฉเจฐเจเจฟเจฐเจฟเจเจตเจพเจ เจฆเฉ Kubernetes API เจคเฉฑเจ เจชเจนเฉเฉฐเจ เจ
เจงเจฟเจเจพเจฐเจพเจ เจฆเจพ เจชเฉเจฐเจฌเฉฐเจงเจจ เจเจฐเจจ เจฒเจ เจนเฉเฉฐเจฆเฉ เจนเจจเฅค
เจเจฎ เจเจชเจญเฉเจเจคเจพเจตเจพเจ เจเฉเจฒ เจเฉเจฌเจฐเจจเฉเจเจธ API เจตเจฟเฉฑเจ เจเจเจเจฐเฉเจเจ เจจเจนเฉเจ เจนเจจ: เจเจนเจจเจพเจ เจจเฉเฉฐ เจฌเจพเจนเจฐเฉ เจตเจฟเจงเฉเจเจ เจฆเฉเจเจฐเจพ เจชเฉเจฐเจฌเฉฐเจงเจฟเจค เจเฉเจคเจพ เจเจพเจฃเจพ เจเจพเจนเฉเจฆเจพ เจนเฉเฅค เจเจน เจเจฒเฉฑเจธเจเจฐ เจคเฉเจ เจฌเจพเจนเจฐ เจฐเจนเจฟเจฃ เจตเจพเจฒเฉ เจฒเฉเจเจพเจ เจเจพเจ เจชเฉเจฐเจเจฟเจฐเจฟเจเจตเจพเจ เจฒเจ เจคเจฟเจเจฐ เจเฉเจคเฉ เจเจ เจนเจจเฅค
เจนเจฐเฉเจ API เจฌเฉเจจเจคเฉ เจเจพเจ เจคเจพเจ เจเฉฑเจ เจธเฉเจตเจพ เจเจพเจคเฉ, เจเฉฑเจ เจเจชเจญเฉเจเจคเจพ เจจเจพเจฒ เจเฉเฉเฉ เจนเฉเฉฐเจฆเฉ เจนเฉ, เจเจพเจ เจ เจเจฟเจเจค เจฎเฉฐเจจเฉ เจเจพเจเจฆเฉ เจนเฉเฅค
เจเจชเจญเฉเจเจคเจพ เจชเฉเจฐเจฎเจพเจฃเฉเจเจฐเจจ เจกเฉเจเจพ เจตเจฟเฉฑเจ เจธเจผเจพเจฎเจฒ เจนเจจ:
- เจเจชเจญเฉเจเฉ - เจเจชเจญเฉเจเจคเจพ เจจเจพเจฎ (เจเฉเจธ เจธเฉฐเจตเฉเจฆเจจเจธเจผเฉเจฒ!);
- UID - เจเฉฑเจ เจฎเจธเจผเฉเจจ-เจชเฉเฉเจนเจจเจฏเฉเจ เจเจชเจญเฉเจเจคเจพ เจชเจเจพเจฃ เจธเจคเจฐ เจเฉ "เจเจชเจญเฉเจเจคเจพ เจจเจพเจฎ เจจเจพเจฒเฉเจ เจตเจงเฉเจฐเฉ เจเจเจธเจพเจฐ เจ เจคเฉ เจตเจฟเจฒเฉฑเจเจฃ" เจนเฉ;
- เจเจฐเฉเฉฑเจช โ เจธเจฎเฉเจนเจพเจ เจฆเฉ เจธเฉเจเฉ เจเจฟเจธ เจจเจพเจฒ เจเจชเจญเฉเจเจคเจพ เจธเจฌเฉฐเจงเจค เจนเฉ;
- เจตเจพเจงเฉ โ เจตเจพเจงเฉ เจเฉเจคเจฐ เจเฉ เจชเฉเจฐเจฎเจพเจฃเจฟเจเจคเจพ เจตเจฟเจงเฉ เจฆเฉเจเจฐเจพ เจตเจฐเจคเฉ เจเจพ เจธเจเจฆเฉ เจนเจจเฅค
เจเฉเจฌเจฐเจจเฉเจเจธ เจตเฉฑเจกเฉ เจเจฟเจฃเจคเฉ เจตเจฟเฉฑเจ เจชเฉเจฐเจฎเจพเจฃเจฟเจเจคเจพ เจตเจฟเจงเฉเจเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐ เจธเจเจฆเฉ เจนเจจ: 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 เจเฉเฉฐเจเฉเจเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจฆเฉ เจนเฉเจ เจเฉฑเจ เจธเจฐเจเฉเจซเจฟเจเฉเจ เจฌเฉเจจเจคเฉ เจฆเฉ เจชเฉเจฐเจเจฟเจฐเจฟเจ เจเจฐเจจเจพ, เจเฉฑเจ เจเจชเจญเฉเจเจคเจพ เจธเจฐเจเฉเจซเจฟเจเฉเจ เจชเฉเจฐเจพเจชเจค เจเจฐเจจเจพ (เจเฉฑเจ เจธเจฐเจเฉเจซเจฟเจเฉเจ เจชเฉเจฐเจพเจชเจค เจเจฐเจจ เจฒเจ, เจคเฉเจนเจพเจจเฉเฉฐ เจเฉฑเจ เจเจพเจคเจพ เจตเจฐเจคเจฃเจพ เจเจพเจนเฉเจฆเจพ เจนเฉ เจเจฟเจธ เจเฉเจฒ Kubernetes เจเจฒเฉฑเจธเจเจฐ 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 เจเจฒเฉฑเจธเจเจฐ เจฆเฉ เจเจชเฉเจเจ-เจธเจฐเจตเจฐ เจฆเฉ เจธเจผเฉเฉฑเจงเจคเจพ เจฆเฉ เจเจพเจเจ เจจเจนเฉเจ เจเจฐเฉเจเจพ):
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
, i.e. เจชเฉเจฐเจพเจชเจค เจเฉเจคเจพ 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
.
เจกเฉเฉฐเจเฉ เจเฉเจฆเจฃ
เจเจนเจจเจพเจ เจฒเจ เจเฉ เจนเฉเจฐ เจเฉฐเจเฉ เจคเจฐเฉเจนเจพเจ เจตเจฐเจฃเจฟเจค เจฎเฉเฉฑเจฆเจฟเจเจ เจจเฉเฉฐ เจธเจฎเจเจฃเจพ เจเจพเจนเฉเฉฐเจฆเฉ เจนเจจ:
-
เจตเฉฑเจเจฐเจพ เจฒเฉเจ เจ เจงเจฟเจเจพเจฐเจค เจเฉเจฌเจฐเจจเฉเจเจธ เจฆเจธเจคเจพเจตเฉเจเจผเจพเจ เจตเจฟเฉฑเจ เจธเจฐเจเฉเจซเจฟเจเฉเจเจพเจ เจจเจพเจฒ เจเฉฐเจฎ เจเจฐเจจ 'เจคเฉ; -
เจฌเจฟเจเจจเจพเจฎเฉ เจคเฉเจ เจตเจงเฉเจ เจฒเฉเจ , เจเจฟเจธ เจตเจฟเฉฑเจ เจชเฉเจฐเจฎเจพเจฃ เจชเฉฑเจคเจฐเจพเจ เจฆเฉ เจฎเฉเฉฑเจฆเฉ เจจเฉเฉฐ เจตเจฟเจนเจพเจฐเจ เจฆเฉเจฐเจฟเจธเจผเจเฉเจเฉเจฃ เจคเฉเจ เจเฉเจนเจฟเจ เจเจฟเจ เจนเฉเฅค -
เจเจฎ เจฆเจธเจคเจพเจตเฉเจเจผ เจเฉเจฌเจฐเจจเฉเจเจธ เจตเจฟเฉฑเจ เจชเฉเจฐเจฎเจพเจฃเจฟเจเจคเจพ 'เจคเฉ.
เจชเฉเจฐเจฎเจพเจฃเฉเจเจฐเจฃ
เจกเจฟเจซเฉเจฒเจ เจ เจงเจฟเจเจพเจฐเจค เจเจพเจคเฉ เจเฉเจฒ เจเจฒเฉฑเจธเจเจฐ 'เจคเฉ เจเฉฐเจฎ เจเจฐเจจ เจฆเฉ เจ เจงเจฟเจเจพเจฐ เจจเจนเฉเจ เจนเจจเฅค เจ เจจเฉเจฎเจคเฉเจเจ เจฆเฉเจฃ เจฒเจ, เจเฉเจฌเจฐเจจเฉเจเจธ เจเฉฑเจ เจชเฉเจฐเจฎเจพเจฃเฉเจเจฐเจจ เจตเจฟเจงเฉ เจฒเจพเจเฉ เจเจฐเจฆเจพ เจนเฉเฅค
เจธเฉฐเจธเจเจฐเจฃ 1.6 เจคเฉเจ เจชเจนเจฟเจฒเจพเจ, เจเฉเจฌเจฐเจจเฉเจเจธ เจจเจพเจฎเจ เจเฉฑเจ เจชเฉเจฐเจฎเจพเจฃเจฟเจเจคเจพ เจเจฟเจธเจฎ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจฆเฉ เจธเจจ เจ.เจฌเฉ.เจ.เจธเฉ (เจตเจฟเจธเจผเฉเจธเจผเจคเจพ-เจ
เจงเจพเจฐเจฟเจค เจชเจนเฉเฉฐเจ เจจเจฟเจฏเฉฐเจคเจฐเจฃ)เฅค เจเจธ เจฌเจพเจฐเฉ เจตเฉเจฐเจตเฉ เจตเจฟเฉฑเจ เจชเจพเจเจ เจเจพ เจธเจเจฆเจพ เจนเฉ
เจเจฒเฉฑเจธเจเจฐ เจคเฉฑเจ เจชเจนเฉเฉฐเจ เจ
เจงเจฟเจเจพเจฐเจพเจ เจจเฉเฉฐ เจตเฉฐเจกเจฃ เจฆเฉ เจฎเฉเจเฉเจฆเจพ (เจ
เจคเฉ เจตเจงเฉเจฐเฉ เจฒเจเจเจฆเจพเจฐ) เจคเจฐเฉเจเฉ เจจเฉเฉฐ เจเจฟเจนเจพ เจเจพเจเจฆเจพ เจนเฉ เจเจฐ.เจฌเฉ.เจ.เจธเฉ. (
RBAC เจจเฉเฉฐ เจธเจฎเจฐเฉฑเจฅ เจฌเจฃเจพเจเจฃ เจฒเจ, เจคเฉเจนเจพเจจเฉเฉฐ เจชเฉเจฐเจพเจฎเฉเจเจฐ เจจเจพเจฒ เจเฉเจฌเจฐเจจเฉเจเจธ เจเจชเฉเจเจ-เจธเจฐเจตเจฐ เจธเจผเฉเจฐเฉ เจเจฐเจจ เจฆเฉ เจฒเฉเฉ เจนเฉ --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
เจชเจฐ เจ
เจธเฉเจ เจเจนเจจเจพเจ 'เจคเฉ เจตเจงเฉเจฐเฉ เจตเจฟเจธเจฅเจพเจฐ เจจเจพเจฒ เจจเจนเฉเจ เจตเจฟเจเจพเจฐเจพเจเจเฉ - เจคเฉเจธเฉเจ เจธเจพเจฐเฉ เจตเฉเจฐเจตเฉ เจเจธ เจตเจฟเฉฑเจ เจชเจพ เจธเจเจฆเฉ เจนเฉ
เจเจฟเจตเฉเจ เจเจฟ เจชเจนเจฟเจฒเจพเจ เจนเฉ เจฆเฉฑเจธเจฟเจ เจเจฟเจ เจนเฉ, เจธเจพเจฐเฉ เจฎเจพเจชเจฆเฉฐเจก api-เจธเจฐเจตเจฐ เจธเฉฐเจฐเจเจจเจพ เจจเจพเจฒ เจฎเฉเจจเฉเจซเฉเจธเจ เจตเจฟเฉฑเจ เจธเฉเฉฑเจ เจเฉเจคเฉ เจเจ เจนเจจ (เจฎเฉเจฒ เจฐเฉเจช เจตเจฟเฉฑเจ /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
.
เจเฉฑเจ เจชเจพเจฒเจฟเจธเฉ เจซเจพเจเจฒ เจตเจฟเฉฑเจ, เจ เจธเฉเจ เจตเฉฑเจ-เจตเฉฑเจ เจฒเฉเจเจฟเฉฐเจ เจชเฉฑเจงเจฐเจพเจ เจตเจพเจฒเฉ เจเจ เจญเจพเจเจพเจ เจฆเจพ เจตเจฐเจฃเจจ เจเจฐ เจธเจเจฆเฉ เจนเจพเจเฅค เจจเฉเจคเฉ เจฆเฉ เจตเจฐเจฃเจจ เจตเจฟเฉฑเจ เจชเจพเจเจ เจเจฟเจ เจชเจนเจฟเจฒเจพ เจฎเฉเจฒ เจเจพเจเจฆเจพ เจจเจฟเจฏเจฎ เจฒเจพเจเฉ เจเฉเจคเจพ เจเจพเจตเฉเจเจพเฅค
เจเฉเจฌเฉเจฒเฉเจ เจกเฉเจฎเจจ api-เจธเจฐเจตเจฐ เจธเฉฐเจฐเจเจจเจพ เจฆเฉ เจจเจพเจฒ เจฎเฉเจจเฉเจซเฉเจธเจ เจตเจฟเฉฑเจ เจคเจฌเจฆเฉเจฒเฉเจเจ เจฆเฉ เจจเจฟเจเจฐเจพเจจเฉ เจเจฐเจฆเจพ เจนเฉ เจ
เจคเฉ, เจเฉเจเจฐ เจเฉเจ เจเฉเจเจฟเจ เจเจพเจเจฆเจพ เจนเฉ, เจคเจพเจ api-เจธเจฐเจตเจฐ เจจเจพเจฒ เจเฉฐเจเฉเจจเจฐ เจจเฉเฉฐ เจฎเฉเฉ เจเจพเจฒเฉ เจเจฐเจฆเจพ เจนเฉเฅค เจชเจฐ เจเฉฑเจ เจฎเจนเฉฑเจคเจตเจชเฉเจฐเจจ เจตเฉเจฐเจตเจพ เจนเฉ: เจชเจพเจฒเจฟเจธเฉ เจซเจพเจเจฒ เจตเจฟเฉฑเจ เจคเจฌเจฆเฉเจฒเฉเจเจ เจจเฉเฉฐ เจเจธ เจฆเฉเจเจฐเจพ เจ
เจฃเจกเจฟเฉฑเจ เจเฉเจคเจพ เจเจพเจตเฉเจเจพ. เจชเจพเจฒเจฟเจธเฉ เจซเจพเจเจฒ เจตเจฟเฉฑเจ เจฌเจฆเจฒเจพเจ
เจเจฐเจจ เจคเฉเจ เจฌเจพเจ
เจฆ, เจคเฉเจนเจพเจจเฉเฉฐ เจเจชเฉเจเจ-เจธเจฐเจตเจฐ เจจเฉเฉฐ เจนเฉฑเจฅเฉเจ เจฐเฉเจธเจเจพเจฐเจ เจเจฐเจจ เจฆเฉ เจฒเฉเฉ เจนเฉเจตเฉเจเฉเฅค เจเจฟเจเจเจเจฟ เจเจชเฉเจเจ-เจธเจฐเจตเจฐ เจจเฉเฉฐ เจเจธ เจคเจฐเฉเจนเจพเจ เจธเจผเฉเจฐเฉ เจเฉเจคเจพ เจเจฟเจ เจนเฉ kubectl delete
เจเจธ เจจเฉเฉฐ เจฎเฉเฉ เจเจพเจฒเฉ เจเจฐเจจ เจฆเจพ เจเจพเจฐเจจ เจจเจนเฉเจ เจฌเจฃเฉเจเจพเฅค เจคเฉเจนเจพเจจเฉเฉฐ เจเจธ เจจเฉเฉฐ เจนเฉฑเจฅเฉเจ เจเจฐเจจเจพ เจชเจตเฉเจเจพ docker stop
kube-masters 'เจคเฉ, เจเจฟเฉฑเจฅเฉ เจเจกเจฟเจ เจจเฉเจคเฉ เจจเฉเฉฐ เจฌเจฆเจฒเจฟเจ เจเจฟเจ เจนเฉ:
docker stop $(docker ps | grep k8s_kube-apiserver | awk '{print $1}')
เจเจกเจฟเจเจฟเฉฐเจ เจจเฉเฉฐ เจธเจฎเจฐเฉฑเจฅ เจเจฐเจฆเฉ เจธเจฎเฉเจ, เจเจน เจฏเจพเจฆ เจฐเฉฑเจเจฃเจพ เจฎเจนเฉฑเจคเจตเจชเฉเจฐเจจ เจนเฉ kube-apiserver เจเฉฑเจคเฉ เจฒเฉเจก เจตเจงเจฆเจพ เจนเฉ. เจเจพเจธ เจคเฉเจฐ 'เจคเฉ, เจฌเฉเจจเจคเฉ เจธเฉฐเจฆเจฐเจญ เจจเฉเฉฐ เจธเจเฉเจฐ เจเจฐเจจ เจฒเจ เจฎเฉเจฎเฉเจฐเฉ เจฆเฉ เจเจชเจค เจตเจงเจฆเฉ เจนเฉเฅค เจเจตเจพเจฌ เจธเจฟเจฐเจฒเฉเจ เจญเฉเจเฉ เจเจพเจฃ เจคเฉเจ เจฌเจพเจ เจฆ เจนเฉ เจฒเฉเจเจฟเฉฐเจ เจธเจผเฉเจฐเฉ เจนเฉเฉฐเจฆเฉ เจนเฉเฅค เจฒเฉเจก เจเจกเจฟเจ เจจเฉเจคเฉ เจฆเฉ เจธเฉฐเจฐเจเจจเจพ 'เจคเฉ เจตเฉ เจจเจฟเจฐเจญเจฐ เจเจฐเจฆเจพ เจนเฉเฅค
เจจเฉเจคเฉเจเจ เจฆเฉเจเจ เจเจฆเจพเจนเจฐเจจเจพเจ
เจเจ เจเจฆเจพเจนเจฐเจฃเจพเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจเฉ เจชเจพเจฒเจฟเจธเฉ เจซเจพเจเจฒเจพเจ เจฆเฉ เจฌเจฃเจคเจฐ เจจเฉเฉฐ เจตเฉเจเฉเจเฅค
เจเฉฑเจฅเฉ เจเฉฑเจ เจธเจงเจพเจฐเจจ เจซเจพเจเจฒ เจนเฉ 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+ เจเฉเจฌเจฐเจจเฉเจเจธ เจธเฉเจฐเฉฑเจเจฟเจ เจเฉเจฒ "; - ยซ
เจธเฉเจฐเฉฑเจเจฟเจ เจชเฉเจธเจผเฉเจตเจฐเจพเจ เจฒเจ เจเฉเจฌเจฐเจจเฉเจเจธ เจจเฉเฉฑเจเจตเจฐเจ เจจเฉเจคเฉเจเจ เจฆเฉ เจเจพเจฃ-เจชเจเจพเจฃ "; - ยซ
เจเฉเจฌเจฐเจจเฉเจเจธ เจตเจฟเฉฑเจ เจเจฐเจฌเฉเจเจธเฉ เจจเฉเฉฐ เจธเจฎเจเจฃเจพ "; - ยซ
เจเฉเจฌเจฐเจจเฉเจเจธ เจธเฉเจฐเฉฑเจเจฟเจ เจฒเจ 9 เจตเจงเฉเจ เจ เจญเจฟเจเจธ "; - ยซ
เจเฉเจฌเจฐเจจเฉเจเจธ เจนเฉเจ เจฆเจพ เจธเจผเจฟเจเจพเจฐ เจนเฉเจฃ (เจจเจพ) เจฆเฉ 11 เจคเจฐเฉเจเฉ ".
เจธเจฐเฉเจค: www.habr.com