Міндетті белгілерді баптау
Gatekeeper көмегімен жасалатын Kubernetes ресурстарында белгілі бір белгінің болуын талап ететін шектеуді орнатуға болады. Мысалы, бұл шектеу компания саясаттары кез келген Kubernetes ресурстарының жасаушысының атын көрсетуді талап етсе, аудит жүргізуді және ықтимал инциденттерді талдауды жеңілдету үшін пайдалы болуы мүмкін.
Gatekeeper жұмысын көрсету үшін мыналар жасалады:
- Шектеу үлгісі және оған сәйкес келетін шектеу. Ол жүйелік емес кеңістіктерде жасалатын Kubernetes ресурстарында
creator-nameбелгісінің (label) болуын талап етеді - Шектеудің жұмысын тексеруге арналған бірнеше Kubernetes ресурсы.
-
Жасаңыз Kubernetes кластерін өзекті нұсқада, егер бұл әлі жасалмаған болса.
Кластер параметрлерін өз қалауыңыз бойынша таңдаңыз.
-
kubectlкөмегімен кластерге қосыла алатыныңызға көз жеткізіңіз.
-
Шектеу үлгісін жасаңыз:
-
Шектеу үлгісінің манифесін жасаңыз.
Осы файлдың мазмұнын пайдаланыңыз. Бұл — Kubernetes ресурсында көрсетілген белгілердің болуын тексеретін Gatekeeper кітапханасындағы дайын
K8sRequiredLabelsүлгісі. -
Үлгі манифесі негізінде шектеу үлгісін жасаңыз:
kubectl apply -f template.yaml
-
-
Шектеу жасаңыз:
-
Бұрын жасалған үлгі негізінде шектеу манифесін жасаңыз:
-
Шектеу манифесі негізінде шектеуді жасаңыз:
kubectl apply -f constraint.yaml
-
-
Келесі команданы орындап, шектеу үлгісі мен шектеу сәтті жасалғанына көз жеткізіңіз:
kubectl get constraints,constrainttemplatesҰқсас ақпарат көрсетілуі керек:
NAME ENFORCEMENT-ACTION TOTAL-VIOLATIONSk8srequiredlabels.constraints.gatekeeper.sh/require-creator-label ... ...NAME AGE...constrainttemplate.templates.gatekeeper.sh/k8srequiredlabels ... -
Бірнеше аттар кеңістігін (namespaces) жасап көру арқылы шектеудің жұмысын тексеріңіз:
Шектеуге сай келетін кеңістікШектеуге сай келмейтін кеңістік-
Аттар кеңістігінің манифесін жасаңыз:
-
Манифес негізінде аттар кеңістігін жасап көріңіз:
kubectl apply -f example-allowed.yamlОперация сәтті аяқталуы керек.
-
Келесі команданы орындап, аттар кеңістігінің сәтті жасалғанына көз жеткізіңіз:
kubectl get ns allowed-namespaceҰқсас ақпарат көрсетілуі керек:
NAME STATUS AGEallowed-namespace Active ...
-
Жұмыс істеп тұрған кластер тарифтеледі және есептеу ресурстарын тұтынады. Егер шектеудің жұмысын тексеру үшін жасалған Kubernetes ресурстары енді қажет болмаса, оларды жойыңыз:
-
Жасалған
allowed-namespaceаттар кеңістігін және онымен байланысты ресурстарды, сондай-ақ шектеу үлгісін және шектеудің өзін жойыңыз:Linux/macOSWindowskubectl delete ns allowed-namespacekubectl delete k8srequiredlabels.constraints.gatekeeper.sh/require-creator-labelkubectl delete constrainttemplate.templates.gatekeeper.sh/k8srequiredlabels -
Тоқтатыңыз жасалған кластерді, оны кейінірек пайдалану үшін, немесе жойыңыз оны біржола.