├── .github └── workflows │ └── document.yml ├── .gitignore ├── .gitlab-ci.yml ├── CNAME ├── Dockerfile ├── README.md └── documentation ├── .editorconfig ├── .eslintignore ├── .eslintrc.json ├── .gitignore ├── .prettierrc ├── .stylelintignore ├── .stylelintrc ├── babel.config.js ├── blog └── kubernetes-the-hard-way.mdx ├── docs └── tech-docs │ ├── certificates │ ├── about.mdx │ ├── howItWork.mdx │ ├── structure.mdx │ ├── types.mdx │ └── workflow.mdx │ ├── cilium │ ├── main.mdx │ └── update.mdx │ ├── empty.mdx │ ├── etcd │ ├── about.mdx │ ├── architecture.mdx │ ├── certificates │ │ ├── center-authority │ │ │ ├── etcdCA │ │ │ │ ├── kubeadm.mdx │ │ │ │ ├── main.mdx │ │ │ │ └── openssl.mdx │ │ │ └── main.mdx │ │ ├── certificateAuthorityCerts.mdx │ │ ├── components │ │ │ ├── etcd │ │ │ │ ├── etcdClient │ │ │ │ │ ├── checks │ │ │ │ │ │ ├── statusKubeadm.mdx │ │ │ │ │ │ └── statusOpenssl.mdx │ │ │ │ │ ├── kubeadm.mdx │ │ │ │ │ ├── main.mdx │ │ │ │ │ └── openssl.mdx │ │ │ │ ├── etcdPeer │ │ │ │ │ ├── checks │ │ │ │ │ │ ├── statusKubeadm.mdx │ │ │ │ │ │ └── statusOpenssl.mdx │ │ │ │ │ ├── kubeadm.mdx │ │ │ │ │ ├── main.mdx │ │ │ │ │ └── openssl.mdx │ │ │ │ ├── etcdServer │ │ │ │ │ ├── checks │ │ │ │ │ │ ├── statusKubeadm.mdx │ │ │ │ │ │ └── statusOpenssl.mdx │ │ │ │ │ ├── kubeadm.mdx │ │ │ │ │ ├── main.mdx │ │ │ │ │ └── openssl.mdx │ │ │ │ └── main.mdx │ │ │ └── main.mdx │ │ └── componentsCerts.mdx │ ├── components.mdx │ ├── components │ │ ├── componentsReady.mdx │ │ ├── etcd │ │ │ ├── about.mdx │ │ │ ├── addMembers.mdx │ │ │ ├── check.mdx │ │ │ ├── checkBIN.mdx │ │ │ ├── checks │ │ │ │ ├── statusBinFiles.mdx │ │ │ │ └── statusBinVersion.mdx │ │ │ ├── componentReady.mdx │ │ │ ├── componentReadyComponent.mdx │ │ │ ├── lifecycleDownload.mdx │ │ │ ├── lifecycleDownloadComponent.mdx │ │ │ ├── lifecycleDownloadStatus.mdx │ │ │ ├── payload │ │ │ │ └── downloadBIN.mdx │ │ │ ├── removeMembers.mdx │ │ │ ├── scripts │ │ │ │ └── download-script.sh.ts │ │ │ ├── setup.mdx │ │ │ ├── setupInitComponent.mdx │ │ │ └── setupJoinComponent.mdx │ │ ├── etcdbrctl │ │ │ ├── check.mdx │ │ │ ├── downloadBIN.mdx │ │ │ └── lifecycle.mdx │ │ ├── etcdctl │ │ │ └── check.mdx │ │ └── etcdutl │ │ │ └── check.mdx │ ├── environments.mdx │ ├── etcd.mdx │ ├── get-started.mdx │ ├── main.mdx │ ├── setup-environments │ │ └── osSetup.mdx │ ├── troubleshooting │ │ ├── alias.mdx │ │ ├── backups.mdx │ │ ├── check-box.mdx │ │ ├── commands.mdx │ │ ├── compaction.mdx │ │ ├── defrag.mdx │ │ ├── restore.mdx │ │ ├── restore │ │ │ ├── blocks │ │ │ │ ├── CodeAndInputCrushedNodeK8s.tsx │ │ │ │ ├── CodeAndInputCrushedNodeKubeApi.tsx │ │ │ │ ├── CodeAndInputSingleNodeK8s.tsx │ │ │ │ ├── CodeAndInputSingleNodeKubeApi.tsx │ │ │ │ ├── CodeAndInputThreeNodeK8s.tsx │ │ │ │ ├── CodeAndInputThreeNodeKubeApi.tsx │ │ │ │ └── index.ts │ │ │ ├── crushedNodeK8s.mdx │ │ │ ├── crushedNodeKubeApi.mdx │ │ │ ├── singleNodeK8s.mdx │ │ │ ├── singleNodeKubeApi.mdx │ │ │ ├── threeNodeK8s.mdx │ │ │ └── threeNodeKubeApi.mdx │ │ ├── restoreEtcdK8s.mdx │ │ └── restoreEtcdKupeApi.mdx │ └── tuning.mdx │ ├── kubernetes-network │ ├── base-load-balancer-cilium.mdx │ ├── base-load-balancer-citrix.mdx │ ├── base-load-balancer-external-principal.mdx │ ├── base-load-balancer-principal.mdx │ ├── base-network-access-group-principal.mdx │ ├── base-pod-cni-cilium.mdx │ ├── base-pod-underlay-principal.mdx │ ├── metallb │ │ ├── base-load-balancer-metallb.mdx │ │ ├── metallb-ip-address-pool.mdx │ │ └── metallb-l2-advertisement.mdx │ └── resourceService.mdx │ ├── kubernetes-thw │ └── troubleShooting.mdx │ ├── kubernetes │ ├── about.mdx │ ├── additional-setup │ │ ├── marking │ │ │ ├── allMarking.mdx │ │ │ ├── allMarkingComponent.mdx │ │ │ ├── markingInit.mdx │ │ │ ├── markingInitComponent.mdx │ │ │ ├── markingJoin.mdx │ │ │ └── markingJoinComponent.mdx │ │ ├── upload-ca │ │ │ ├── allUploadCA.mdx │ │ │ ├── allUploadCAComponent.mdx │ │ │ ├── uploadCA.mdx │ │ │ └── uploadCAComponent.mdx │ │ ├── upload-configs │ │ │ ├── allUploadConfigs.mdx │ │ │ ├── allUploadConfigsComponent.mdx │ │ │ ├── uploadConfigsInit.mdx │ │ │ ├── uploadConfigsInitComponent.mdx │ │ │ ├── uploadConfigsJoin.mdx │ │ │ └── uploadConfigsJoinComponent.mdx │ │ └── upload-rbac │ │ │ ├── allUploadRbac.mdx │ │ │ ├── allUploadRbacComponent.mdx │ │ │ ├── rbac.mdx │ │ │ └── rbacComponent.mdx │ ├── certificates │ │ ├── aboutAll.mdx │ │ ├── aboutAllComponent.mdx │ │ ├── allCertificates.mdx │ │ ├── allCertificatesComponent.mdx │ │ ├── allKubeconfigsComponent.mdx │ │ ├── center-authority │ │ │ ├── allCAComponent.mdx │ │ │ ├── allСA.mdx │ │ │ ├── downloadCA.mdx │ │ │ ├── downloadCAKubeadmComponent.mdx │ │ │ ├── downloadCAOpensslComponent.mdx │ │ │ ├── frontProxyCA │ │ │ │ ├── kubeadm.mdx │ │ │ │ ├── main.mdx │ │ │ │ └── openssl.mdx │ │ │ ├── init.mdx │ │ │ ├── join.mdx │ │ │ └── kubernetesCA │ │ │ │ ├── kubeadm.mdx │ │ │ │ ├── main.mdx │ │ │ │ └── openssl.mdx │ │ ├── components │ │ │ ├── _kubeadm │ │ │ │ ├── initAllCertsGen.mdx │ │ │ │ ├── initAllKubeconfigGen.mdx │ │ │ │ ├── joinAllCertsGen.mdx │ │ │ │ └── joinAllKubeconfigGen.mdx │ │ │ ├── _openssl │ │ │ │ ├── allAppCerts.mdx │ │ │ │ └── allAppKubeconfigs.mdx │ │ │ ├── admin │ │ │ │ ├── adminClient │ │ │ │ │ ├── checks │ │ │ │ │ │ ├── statusKubeadm.mdx │ │ │ │ │ │ └── statusOpenssl.mdx │ │ │ │ │ ├── kubeadm.mdx │ │ │ │ │ ├── kubeconfig.mdx │ │ │ │ │ ├── main.mdx │ │ │ │ │ └── openssl.mdx │ │ │ │ ├── main.mdx │ │ │ │ └── superAdminClient │ │ │ │ │ ├── checks │ │ │ │ │ ├── statusKubeadm.mdx │ │ │ │ │ └── statusOpenssl.mdx │ │ │ │ │ ├── kubeadm.mdx │ │ │ │ │ ├── kubeconfig.mdx │ │ │ │ │ ├── main.mdx │ │ │ │ │ └── openssl.mdx │ │ │ ├── allCertificates.mdx │ │ │ ├── allCertificatesAppsInitComponent.mdx │ │ │ ├── allCertificatesAppsJoinComponent.mdx │ │ │ ├── allCertificatesComponent.mdx │ │ │ ├── allKubeconfigs.mdx │ │ │ ├── allKubeconfigsAppsInitComponent.mdx │ │ │ ├── allKubeconfigsAppsJoinComponent.mdx │ │ │ ├── allKubeconfigsComponent.mdx │ │ │ ├── initCerts.mdx │ │ │ ├── initKubeconfigs.mdx │ │ │ ├── joinCerts.mdx │ │ │ ├── kubeAPI │ │ │ │ ├── etcdClient │ │ │ │ │ ├── checks │ │ │ │ │ │ ├── statusKubeadm.mdx │ │ │ │ │ │ └── statusOpenssl.mdx │ │ │ │ │ ├── kubeadm.mdx │ │ │ │ │ ├── main.mdx │ │ │ │ │ └── openssl.mdx │ │ │ │ ├── frontProxyClient │ │ │ │ │ ├── checks │ │ │ │ │ │ ├── statusKubeadm.mdx │ │ │ │ │ │ └── statusOpenssl.mdx │ │ │ │ │ ├── kubeadm.mdx │ │ │ │ │ ├── main.mdx │ │ │ │ │ └── openssl.mdx │ │ │ │ ├── kubeAPIServer │ │ │ │ │ ├── checks │ │ │ │ │ │ ├── statusKubeadm.mdx │ │ │ │ │ │ └── statusOpenssl.mdx │ │ │ │ │ ├── kubeadm.mdx │ │ │ │ │ ├── main.mdx │ │ │ │ │ └── openssl.mdx │ │ │ │ ├── kubeletClient │ │ │ │ │ ├── checks │ │ │ │ │ │ ├── statusKubeadm.mdx │ │ │ │ │ │ └── statusOpenssl.mdx │ │ │ │ │ ├── kubeadm.mdx │ │ │ │ │ ├── main.mdx │ │ │ │ │ └── openssl.mdx │ │ │ │ └── main.mdx │ │ │ ├── kubeControllerManager │ │ │ │ ├── kubeAPIClient │ │ │ │ │ ├── checks │ │ │ │ │ │ ├── statusKubeadm.mdx │ │ │ │ │ │ └── statusOpenssl.mdx │ │ │ │ │ ├── kubeadm.mdx │ │ │ │ │ ├── kubeconfig.mdx │ │ │ │ │ ├── main.mdx │ │ │ │ │ └── openssl.mdx │ │ │ │ └── main.mdx │ │ │ ├── kubeScheduler │ │ │ │ ├── kubeAPIClient │ │ │ │ │ ├── checks │ │ │ │ │ │ ├── statusKubeadm.mdx │ │ │ │ │ │ └── statusOpenssl.mdx │ │ │ │ │ ├── kubeadm.mdx │ │ │ │ │ ├── kubeconfig.mdx │ │ │ │ │ ├── main.mdx │ │ │ │ │ └── openssl.mdx │ │ │ │ └── main.mdx │ │ │ └── kubelet │ │ │ │ ├── kubeAPIClient │ │ │ │ ├── checks │ │ │ │ │ ├── statusKubeadm.mdx │ │ │ │ │ └── statusOpenssl.mdx │ │ │ │ ├── kubeadm.mdx │ │ │ │ ├── kubeconfig.mdx │ │ │ │ ├── main.mdx │ │ │ │ └── openssl.mdx │ │ │ │ ├── kubeletServer │ │ │ │ ├── checks │ │ │ │ │ ├── statusKubeadm.mdx │ │ │ │ │ └── statusOpenssl.mdx │ │ │ │ ├── kubeadm.mdx │ │ │ │ ├── main.mdx │ │ │ │ └── openssl.mdx │ │ │ │ └── main.mdx │ │ ├── examination │ │ │ ├── allExamination.mdx │ │ │ ├── allExaminationComponent.mdx │ │ │ ├── examination.mdx │ │ │ ├── examinationComponent.mdx │ │ │ ├── examinationKubeadmComponent.mdx │ │ │ └── examinationOpensslComponent.mdx │ │ ├── initAll.mdx │ │ ├── joinAll.mdx │ │ └── service-account │ │ │ ├── allServiceAccount.mdx │ │ │ ├── allServiceAccountComponent.mdx │ │ │ ├── serviceAccount.mdx │ │ │ ├── serviceAccountComponent.mdx │ │ │ ├── serviceAccountHardWayComponent.mdx │ │ │ └── serviceAccountKubeadmComponent.mdx │ ├── components │ │ ├── _kubeadm │ │ │ ├── initAllStaticPodsGen.mdx │ │ │ └── joinAllStaticPodsGen.mdx │ │ ├── allComponentsReady.mdx │ │ ├── allComponentsReadyComponent.mdx │ │ ├── allInstall.mdx │ │ ├── allInstallComponent.mdx │ │ ├── allSetup.mdx │ │ ├── allSetupComponent.mdx │ │ ├── allStaticPods.mdx │ │ ├── allStaticPodsCPComponent.mdx │ │ ├── allStaticPodsCPInitComponent.mdx │ │ ├── allStaticPodsCPJoinComponent.mdx │ │ ├── allStaticPodsCPPhasesComponent.mdx │ │ ├── allStaticPodsETCDComponent.mdx │ │ ├── componentsAbout.mdx │ │ ├── componentsReady.mdx │ │ ├── componentsReadyComponent.mdx │ │ ├── componentsReadyInitComponent.mdx │ │ ├── componentsReadyJoinComponent.mdx │ │ ├── containerd │ │ │ ├── about.mdx │ │ │ ├── checkBIN.mdx │ │ │ ├── checkComponent.mdx │ │ │ ├── checks │ │ │ │ ├── statusBinFiles.mdx │ │ │ │ ├── statusBinVersion.mdx │ │ │ │ ├── statusConfigFiles.mdx │ │ │ │ └── statusSystemdUnit.mdx │ │ │ ├── componentReady.mdx │ │ │ ├── componentReadyComponent.mdx │ │ │ ├── lifecycleDownload.mdx │ │ │ ├── lifecycleDownloadComponent.mdx │ │ │ ├── lifecycleDownloadStatus.mdx │ │ │ ├── lifecycleSettings.mdx │ │ │ ├── lifecycleSettingsComponent.mdx │ │ │ ├── lifecycleSettingsStatus.mdx │ │ │ ├── payload │ │ │ │ ├── configFiles.mdx │ │ │ │ ├── dir.mdx │ │ │ │ ├── downloadBIN.mdx │ │ │ │ ├── setupSystemdUnit.mdx │ │ │ │ └── startSystemdUnit.mdx │ │ │ └── scripts │ │ │ │ └── download-script.sh.ts │ │ ├── controllerManager │ │ │ ├── about.mdx │ │ │ ├── componentReady.mdx │ │ │ ├── kubeadm.mdx │ │ │ ├── setup.mdx │ │ │ ├── setupInitComponent.mdx │ │ │ ├── setupJoinComponent.mdx │ │ │ └── staticPod.mdx │ │ ├── crictl │ │ │ ├── about.mdx │ │ │ ├── checkBIN.mdx │ │ │ ├── checkComponent.mdx │ │ │ ├── checks │ │ │ │ ├── status.mdx │ │ │ │ ├── statusBinFiles.mdx │ │ │ │ ├── statusBinVersion.mdx │ │ │ │ └── statusConfigFiles.mdx │ │ │ ├── componentReady.mdx │ │ │ ├── componentReadyComponent.mdx │ │ │ ├── lifecycleDownload.mdx │ │ │ ├── lifecycleDownloadComponent.mdx │ │ │ ├── lifecycleDownloadStatus.mdx │ │ │ ├── lifecycleSettings.mdx │ │ │ ├── lifecycleSettingsComponent.mdx │ │ │ ├── lifecycleSettingsStatus.mdx │ │ │ ├── payload │ │ │ │ ├── configFiles.mdx │ │ │ │ └── downloadBIN.mdx │ │ │ └── scripts │ │ │ │ └── download-script.sh.ts │ │ ├── etcd │ │ │ ├── componentReady.mdx │ │ │ ├── kubeadmInit.mdx │ │ │ ├── kubeadmJoin.mdx │ │ │ ├── lifecycle.mdx │ │ │ ├── setup.mdx │ │ │ ├── staticPodInitComponent.mdx │ │ │ └── staticPodJoinComponent.mdx │ │ ├── kubeAPI │ │ │ ├── about.mdx │ │ │ ├── componentReady.mdx │ │ │ ├── kubeadm.mdx │ │ │ ├── setup.mdx │ │ │ ├── setupInitComponent.mdx │ │ │ ├── setupJoinComponent.mdx │ │ │ └── staticPod.mdx │ │ ├── kubeadm │ │ │ ├── about.mdx │ │ │ ├── checkBIN.mdx │ │ │ ├── checkComponent.mdx │ │ │ ├── checks │ │ │ │ ├── status.mdx │ │ │ │ ├── statusBinFiles.mdx │ │ │ │ ├── statusBinVersion.mdx │ │ │ │ └── statusConfigFiles.mdx │ │ │ ├── componentReady.mdx │ │ │ ├── componentReadyComponent.mdx │ │ │ ├── configs │ │ │ │ ├── initConfig.mdx │ │ │ │ └── joinConfig.mdx │ │ │ ├── lifecycleDownload.mdx │ │ │ ├── lifecycleDownloadComponent.mdx │ │ │ ├── lifecycleDownloadStatus.mdx │ │ │ ├── lifecycleSettings.mdx │ │ │ ├── lifecycleSettingsComponent.mdx │ │ │ ├── lifecycleSettingsStatus.mdx │ │ │ ├── payload │ │ │ │ ├── configFiles.mdx │ │ │ │ ├── dir.mdx │ │ │ │ └── downloadBIN.mdx │ │ │ ├── phases │ │ │ │ ├── phaseKubeadm.mdx │ │ │ │ ├── phaseKubeadmInit.mdx │ │ │ │ └── phaseKubeadmJoin.mdx │ │ │ └── scripts │ │ │ │ └── download-script.sh.ts │ │ ├── kubectl │ │ │ ├── about.mdx │ │ │ ├── checkBIN.mdx │ │ │ ├── checks │ │ │ │ ├── status.mdx │ │ │ │ ├── statusBinFiles.mdx │ │ │ │ └── statusBinVersion.mdx │ │ │ ├── componentReady.mdx │ │ │ ├── componentReadyComponent.mdx │ │ │ ├── lifecycleDownload.mdx │ │ │ ├── lifecycleDownloadComponent.mdx │ │ │ ├── lifecycleDownloadStatus.mdx │ │ │ ├── payload │ │ │ │ └── downloadBIN.mdx │ │ │ └── scripts │ │ │ │ └── download-script.sh.ts │ │ ├── kubelet │ │ │ ├── about.mdx │ │ │ ├── allServiceStart.mdx │ │ │ ├── allServiceStartComponent.mdx │ │ │ ├── checkBIN.mdx │ │ │ ├── checkComponent.mdx │ │ │ ├── checks │ │ │ │ ├── statusBinFiles.mdx │ │ │ │ ├── statusBinVersion.mdx │ │ │ │ ├── statusConfigFiles.mdx │ │ │ │ ├── statusSystemdUnitEnabled.mdx │ │ │ │ └── statusSystemdUnitRunning.mdx │ │ │ ├── componentReady.mdx │ │ │ ├── componentReadyComponent.mdx │ │ │ ├── kubeadm │ │ │ │ ├── systemdUnitStartInit.mdx │ │ │ │ └── systemdUnitStartJoin.mdx │ │ │ ├── lifecycleDownload.mdx │ │ │ ├── lifecycleDownloadComponent.mdx │ │ │ ├── lifecycleDownloadStatus.mdx │ │ │ ├── lifecycleSettings.mdx │ │ │ ├── lifecycleSettingsComponent.mdx │ │ │ ├── lifecycleSettingsStatus.mdx │ │ │ ├── payload │ │ │ │ ├── configFiles.mdx │ │ │ │ ├── configFilesDefault.mdx │ │ │ │ ├── dir.mdx │ │ │ │ ├── downloadBIN.mdx │ │ │ │ ├── setupSystemdUnit.mdx │ │ │ │ └── startSystemdUnit.mdx │ │ │ ├── scripts │ │ │ │ └── download-script.sh.ts │ │ │ ├── serviceInitStart.mdx │ │ │ ├── serviceJoinStart.mdx │ │ │ └── systemdUnit │ │ │ │ ├── systemdUnitEnable.mdx │ │ │ │ └── systemdUnitStart.mdx │ │ ├── runc │ │ │ ├── about.mdx │ │ │ ├── checkBIN.mdx │ │ │ ├── checks │ │ │ │ ├── statusBinFiles.mdx │ │ │ │ └── statusBinVersion.mdx │ │ │ ├── componentReady.mdx │ │ │ ├── componentReadyComponent.mdx │ │ │ ├── lifecycleDownload.mdx │ │ │ ├── lifecycleDownloadComponent.mdx │ │ │ ├── lifecycleDownloadStatus.mdx │ │ │ ├── payload │ │ │ │ └── downloadBIN.mdx │ │ │ └── scripts │ │ │ │ └── download-script.sh.ts │ │ └── scheduler │ │ │ ├── about.mdx │ │ │ ├── componentReady.mdx │ │ │ ├── kubeadm.mdx │ │ │ ├── setup.mdx │ │ │ ├── setupInitComponent.mdx │ │ │ ├── setupJoinComponent.mdx │ │ │ └── staticPod.mdx │ ├── etcdJoin.mdx │ ├── flowcharts │ │ ├── arch.mdx │ │ ├── components.mdx │ │ ├── schemaCerts.mdx │ │ └── topologyInfra.mdx │ ├── introduction.mdx │ ├── kubernetesInit.mdx │ ├── kubernetesInitManifests.mdx │ ├── kubernetesJoin.mdx │ ├── kubernetesJoinManifests.mdx │ ├── requirements │ │ ├── computeResourceManagement.mdx │ │ ├── containerization.mdx │ │ ├── dataStoreManagement.mdx │ │ ├── integrations.mdx │ │ ├── integrationsReq.mdx │ │ ├── logging.mdx │ │ ├── monitoring.mdx │ │ ├── network.mdx │ │ ├── orkestrations.mdx │ │ ├── portal.mdx │ │ ├── quotarResourceManagement.mdx │ │ └── security.mdx │ ├── setup-environments │ │ ├── allMasterTabs.mdx │ │ ├── base-os │ │ │ ├── allBaseOSSetup.mdx │ │ │ ├── allBaseOSSetupComponent.mdx │ │ │ ├── baseOSSetup.mdx │ │ │ └── baseOSSetupComponent.mdx │ │ ├── initMaster.mdx │ │ ├── modprobe │ │ │ ├── allModprobe.mdx │ │ │ ├── allModprobeComponent.mdx │ │ │ └── coreModulesComponent.mdx │ │ ├── osSetup.mdx │ │ ├── secondaryMasters.mdx │ │ └── sysctls │ │ │ ├── allSysctls.mdx │ │ │ ├── allSysctlsComponent.mdx │ │ │ └── sysctlsComponent.mdx │ └── statusCluster.mdx │ └── monitoring │ ├── about.mdx │ ├── exporters │ ├── base-exporters.mdx │ ├── blackbox-exporter │ │ ├── about.mdx │ │ ├── blackbox-exporter-install.mdx │ │ ├── blackbox-exporter-setup.mdx │ │ └── blackbox-exporter-testing.mdx │ ├── node-exporter │ │ ├── about.mdx │ │ ├── node-exporter-install.mdx │ │ ├── node-exporter-setup.mdx │ │ └── node-exporter-testing.mdx │ └── process-exporter │ │ ├── about.mdx │ │ ├── process-exporter-install.mdx │ │ ├── process-exporter-setup.mdx │ │ └── process-exporter-testing.mdx │ ├── kube-state-metrics │ ├── about.mdx │ ├── kube-state-metrics-install.mdx │ ├── kube-state-metrics-setup.mdx │ └── kube-state-metrics-testing.mdx │ ├── metrics-server │ ├── about.mdx │ ├── metrics-server-install.mdx │ ├── metrics-server-setup.mdx │ └── metrics-server-testing.mdx │ ├── osSetup.mdx │ ├── victoria-metrics-cluster │ ├── about.mdx │ ├── victoria-metrics-cluster-install.mdx │ ├── victoria-metrics-cluster-setup.mdx │ └── victoria-metrics-cluster-testing.mdx │ └── victoria-metrics-operator │ ├── about.mdx │ ├── victoria-metrics-operator-install.mdx │ ├── victoria-metrics-operator-setup.mdx │ └── victoria-metrics-operator-testing.mdx ├── docusaurus.config.ts ├── package.json ├── plugins ├── medusa.js └── webpack.js ├── sidebars.ts ├── src ├── api │ └── getRepoInfo.tsx ├── components │ ├── AaaBug │ │ ├── AaaBug.tsx │ │ ├── index.ts │ │ └── styles.module.css │ ├── GithubLink │ │ ├── GithubLink.tsx │ │ ├── GithubLinkMob.tsx │ │ └── index.js │ ├── Landing │ │ ├── index.ts │ │ └── molecules │ │ │ ├── Header │ │ │ ├── Header.tsx │ │ │ ├── index.ts │ │ │ └── styles.module.css │ │ │ └── index.ts │ ├── commonBlocks │ │ ├── CodeAndInputDownloadCreds │ │ │ ├── CodeAndInputDownloadCreds.tsx │ │ │ └── index.ts │ │ ├── CodeAndInputExportPods │ │ │ ├── CodeAndInputExportPods.tsx │ │ │ └── index.ts │ │ ├── Codes │ │ │ └── _Codes.mdx │ │ ├── EtcdCommandList │ │ │ ├── EtcdCommandList.tsx │ │ │ ├── index.ts │ │ │ └── molecules │ │ │ │ ├── EtcdCommandTable.tsx │ │ │ │ └── index.ts │ │ ├── Example │ │ │ ├── Example.tsx │ │ │ └── index.ts │ │ ├── ExampleMarkdown │ │ │ └── _ExampleMarkdown.mdx │ │ ├── Fancybox │ │ │ ├── Fancybox.tsx │ │ │ └── index.tsx │ │ ├── FancyboxDiagram │ │ │ ├── FancyboxDiagram.tsx │ │ │ └── index.tsx │ │ ├── FancyboxImage │ │ │ ├── FancyboxImage.tsx │ │ │ └── index.tsx │ │ ├── Restrictions │ │ │ ├── Restrictions.tsx │ │ │ └── index.ts │ │ ├── Terminology │ │ │ ├── Terminology.tsx │ │ │ └── index.ts │ │ └── index.ts │ └── swagger.tsx ├── constants │ ├── dictionary.ts │ ├── errorCodes.tsx │ ├── kubernetes │ │ ├── certs.ts │ │ ├── componentsVersion.ts │ │ ├── customValue.ts │ │ ├── downloads.ts │ │ ├── etcdArgs.ts │ │ ├── kubeAPIArgs.ts │ │ ├── kubeControllerManagerArgs.ts │ │ ├── kubeSchedulerArgs.ts │ │ ├── kubeadmConfigData.ts │ │ ├── kubeletConfigData.ts │ │ ├── kubernetesArgs.ts │ │ └── ports.ts │ ├── monitoring │ │ └── componentsVersion.ts │ ├── restrictions.tsx │ └── terminology.tsx ├── css │ ├── custom.scss │ ├── global.scss │ ├── header.scss │ ├── infima.scss │ ├── layout.scss │ ├── sidebar.scss │ └── table-of-contents.scss ├── customTypes │ ├── certs.ts │ ├── componentsVersion.ts │ ├── customValue.ts │ ├── dictionary.ts │ ├── downloads.ts │ ├── errorCodes.ts │ ├── ports.ts │ ├── restrictions.ts │ └── terminology.ts ├── global.d.ts ├── pages │ ├── index.tsx │ └── markdown-page.md ├── sidebars │ └── technical-docs │ │ ├── cilium.ts │ │ ├── etcd.ts │ │ ├── harbor.ts │ │ ├── kubernetes.ts │ │ ├── main.ts │ │ ├── monitoring.ts │ │ └── vault.ts ├── theme │ ├── Navbar │ │ ├── ColorModeToggle │ │ │ ├── index.js │ │ │ └── styles.module.css │ │ ├── Content │ │ │ ├── index.js │ │ │ └── styles.module.css │ │ ├── Layout │ │ │ ├── index.js │ │ │ └── styles.module.css │ │ ├── Logo │ │ │ └── index.js │ │ ├── MobileSidebar │ │ │ ├── Header │ │ │ │ └── index.js │ │ │ ├── Layout │ │ │ │ └── index.js │ │ │ ├── PrimaryMenu │ │ │ │ └── index.js │ │ │ ├── SecondaryMenu │ │ │ │ └── index.js │ │ │ ├── Toggle │ │ │ │ └── index.js │ │ │ └── index.js │ │ ├── Search │ │ │ ├── index.js │ │ │ └── styles.module.css │ │ └── index.js │ └── Root.js └── utils │ └── getBasePrefix.ts ├── static ├── .nojekyll ├── CNAME ├── img │ ├── background.jpg │ ├── bgp-global.drawio.svg │ ├── bgp-local.drawio.svg │ ├── certificates │ │ ├── certificates-masters-transport.svg │ │ ├── certificates-masters.svg │ │ ├── certificates-workers-transport.svg │ │ └── certificates-workers.svg │ ├── commics │ │ └── monkey-user │ │ │ ├── aaa-bug.png │ │ │ ├── astonishment.png │ │ │ ├── astonishment5.png │ │ │ ├── astonishment6.png │ │ │ ├── bug-carrot.png │ │ │ ├── bug-carrot2.png │ │ │ ├── image.png │ │ │ ├── k8s.png │ │ │ └── nice-man.png │ ├── components │ │ └── pie.svg │ ├── control-plane │ │ ├── load-balancer.svg │ │ └── transport.svg │ ├── controllers │ │ ├── instance-cotroller.drawio.svg │ │ ├── project-cotroller.drawio.svg │ │ └── project-quota-controller.drawio.svg │ ├── etcd │ │ ├── etcd-backup.svg │ │ ├── etcd-certificates.svg │ │ ├── etcd-metrics.svg │ │ ├── etcd-peer.svg │ │ └── etcd-server.svg │ ├── favicon.ico │ ├── network │ │ ├── bgp-global.drawio │ │ ├── bgp-global.drawio.svg │ │ ├── bgp-local.drawio │ │ ├── bgp-local.drawio.svg │ │ ├── garp.drawio │ │ ├── garp.drawio.svg │ │ ├── l2-global.drawio │ │ ├── l2-global.drawio.svg │ │ ├── l2-local.drawio │ │ ├── l2-local.drawio.svg │ │ ├── overlay-network.drawio │ │ ├── overlay-network.drawio.svg │ │ ├── underlay-network.drawio │ │ └── underlay-network.drawio.svg │ ├── paws.png │ ├── paws2.svg │ ├── rick-20m.png │ ├── sgroups.database.erd.svg │ └── sgroups.monitoring.metrics.png └── js │ ├── header-enabler.js │ ├── header.bundle.js │ └── observer.js └── tsconfig.json /.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /.docusaurus 5 | documentation/node_modules 6 | /.pnp 7 | .pnp.js 8 | 9 | # testing 10 | /coverage 11 | 12 | # production 13 | /build 14 | /tmp 15 | # misc 16 | .DS_Store 17 | .env.local 18 | .env.development.local 19 | .env.test.local 20 | .env.production.local 21 | 22 | npm-debug.log* 23 | yarn-debug.log* 24 | yarn-error.log* 25 | 26 | package-lock.json 27 | 28 | -------------------------------------------------------------------------------- /.gitlab-ci.yml: -------------------------------------------------------------------------------- 1 | image: node:18.19.1-alpine3.19 2 | 3 | 4 | stages: 5 | - test 6 | - deploy 7 | 8 | test: 9 | tags: 10 | - experimental 11 | stage: test 12 | script: 13 | - cd documentation 14 | - npm install dedent --registry=https://${URL_REPOSITORY}/repository/${NPM_REPO}/ --strict-ssl=false 15 | - npm install --registry=https://${URL_REPOSITORY}/repository/${NPM_REPO}/ --strict-ssl=false 16 | - export DOC_INCLUDE_CURRENT_VERSION=false 17 | - npm run build 18 | rules: 19 | - if: $CI_COMMIT_REF_NAME != $CI_DEFAULT_BRANCH 20 | 21 | pages: 22 | tags: 23 | - experimental 24 | stage: deploy 25 | script: 26 | - cd documentation 27 | - npm install dedent --registry=https://${URL_REPOSITORY}/repository/${NPM_REPOSITORY}/ --strict-ssl=false 28 | - npm install --registry=https://${URL_REPOSITORY}/repository/${NPM_REPOSITORY}/ --strict-ssl=false 29 | - export DOC_INCLUDE_CURRENT_VERSION=false 30 | - npm run build 31 | - mv ./build ../public 32 | artifacts: 33 | paths: 34 | - public 35 | rules: 36 | - if: $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH 37 | -------------------------------------------------------------------------------- /CNAME: -------------------------------------------------------------------------------- 1 | docs.dobry-kot.ru -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | FROM node:23-alpine 2 | 3 | WORKDIR /app 4 | 5 | COPY ./documentation/package.json ./ 6 | 7 | RUN npm install 8 | 9 | ENV DOC_INCLUDE_CURRENT_VERSION=false 10 | 11 | COPY ./documentation/ ./ 12 | 13 | RUN npm run build 14 | 15 | CMD npm run serve -- --host 0.0.0.0 -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ```bash 2 | cd documentation 3 | npm install 4 | npm run start 5 | ``` 6 | 7 | через докер для локальной отладки: 8 | 9 | ``` 10 | docker build . -t docs 11 | docker run --rm -p 3000:3000 docs 12 | ``` 13 | 14 | Подключаться по ссылке http://localhost:3000/ -------------------------------------------------------------------------------- /documentation/.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | indent_style = space 5 | indent_size = 2 6 | end_of_line = lf 7 | charset = utf-8 8 | trim_trailing_whitespace = true 9 | insert_final_newline = true 10 | 11 | [/deploy/**] 12 | indent_style = unset 13 | indent_size = unset 14 | end_of_line = unset 15 | charset = unset 16 | trim_trailing_whitespace = unset 17 | insert_final_newline = unset 18 | -------------------------------------------------------------------------------- /documentation/.eslintignore: -------------------------------------------------------------------------------- 1 | **/build/* 2 | **/static/* 3 | **/node_modules/* 4 | plugins/* 5 | babel.config.js 6 | docusaurus.config.ts 7 | !src/ 8 | -------------------------------------------------------------------------------- /documentation/.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /.docusaurus 5 | /node_modules 6 | /.pnp 7 | .pnp.js 8 | 9 | # testing 10 | /coverage 11 | 12 | # production 13 | /build 14 | 15 | # misc 16 | .DS_Store 17 | .env.local 18 | .env.development.local 19 | .env.test.local 20 | .env.production.local 21 | 22 | npm-debug.log* 23 | yarn-debug.log* 24 | yarn-error.log* 25 | 26 | package-lock.json 27 | 28 | -------------------------------------------------------------------------------- /documentation/.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "semi": false, 3 | "singleQuote": true, 4 | "printWidth": 120, 5 | "arrowParens": "avoid", 6 | "trailingComma": "all", 7 | "tabWidth": 2 8 | } 9 | -------------------------------------------------------------------------------- /documentation/.stylelintignore: -------------------------------------------------------------------------------- 1 | build/ 2 | node_modules/ 3 | *.woff 4 | *.ico 5 | *.png 6 | *.mdx 7 | *.svg 8 | *.jpg 9 | .history 10 | -------------------------------------------------------------------------------- /documentation/babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: [require.resolve('@docusaurus/core/lib/babel/preset')], 3 | } 4 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/certificates/about.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: about 3 | --- 4 | 5 | ### 🔹 Определение 6 | **TLS (Transport Layer Security) сертификат** – это **цифровой идентификатор** сервера, который **подтверждает его уникальность** и **гарантирует, что перед вами именно тот ресурс, а не подделка**. Помимо этого, он **шифрует передаваемые данные**, защищая их от перехвата. 7 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/certificates/structure.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: structure 3 | --- 4 | 5 | Сертификат состоит из нескольких ключевых частей, обеспечивающих **идентификацию, шифрование и аутентификацию**. 6 | 7 | ### 🔑 Основные компоненты 8 | - **Приватный ключ** – подписывает и расшифровывает данные. 9 | - **Публичный ключ** – используется для шифрования и проверки подписей. 10 | 11 | :::note Сертификат включает: 12 | - **🔑 Открытый ключ** – для шифрования данных. 13 | - **🔏 Подпись CA** – подтверждает подлинность владельца. 14 | - **🆔 CN (Common Name)** – имя владельца. 15 | - **⏳ Срок действия** – период работы сертификата. 16 | - **🔧 Usages** – допустимые сценарии использования (clientAuth, serverAuth, etc). 17 | - **🌍 Атрибуты** – страна (C), организация (O), подразделение (OU). 18 | - **🔗 SANs** – альтернативные имена (домены, IP-адреса). 19 | ::: 20 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/cilium/update.mdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PRO-Robotech/in-cloud-docs/33490254a86639b0525b881c09254ac87aee7c65/documentation/docs/tech-docs/cilium/update.mdx -------------------------------------------------------------------------------- /documentation/docs/tech-docs/empty.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: empty 3 | --- 4 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/etcd/certificates/center-authority/etcdCA/kubeadm.mdx: -------------------------------------------------------------------------------- 1 | import { CUSTOM_VALUE } from '@site/src/constants/kubernetes/customValue' 2 | 3 | import CodeBlock from '@theme/CodeBlock' 4 | import dedent from 'ts-dedent' 5 | 6 |

Генерация сертификатов

7 | 8 | {dedent` 9 | kubeadm init phase certs etcd-ca \\ 10 | --config=${CUSTOM_VALUE.kubeadmBaseConfigPath.value}/kubeadm.yaml 11 | `} 12 | 13 | 14 | :::note 15 | После выполнения команды мы получаем следующий вывод. 16 | 17 | 18 | {dedent` 19 | #### Create ETCD CA 20 | [certs] Generating "etcd/ca" certificate and key 21 | `} 22 | 23 | 24 | ::: 25 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/etcd/certificates/center-authority/etcdCA/main.mdx: -------------------------------------------------------------------------------- 1 | 2 | import TabItem from '@theme/TabItem' 3 | import Tabs from '@theme/Tabs' 4 | import ETCDCACert from '@site/docs/tech-docs/etcd/certificates/center-authority/etcdCA/openssl.mdx' 5 | import ETCDCAKubeadm from '@site/docs/tech-docs/etcd/certificates/center-authority/etcdCA/kubeadm.mdx' 6 | 7 | 8 | :::warning 9 | **Обратите внимание:** данный блок описывает только процесс создания корневых сертификатов ```ETCD CA```. 10 | ::: 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/etcd/certificates/center-authority/main.mdx: -------------------------------------------------------------------------------- 1 | 2 | import ETCDCA from '@site/docs/tech-docs/etcd/certificates/center-authority/etcdCA/main.mdx' 3 | 4 | ## 5.1.2.1.1. ETCD 5 | 6 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/etcd/certificates/certificateAuthorityCerts.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: all-center-authority 3 | toc_min_heading_level: 2 4 | toc_max_heading_level: 2 5 | --- 6 | 7 | import ETCDCA from '@site/docs/tech-docs/etcd/certificates/center-authority/main.mdx' 8 | // import DownloadCA from '@site/docs/tech-docs/kubernetes/certificates/center-authority/downloadCA.mdx' 9 | 10 | # 5.1.2.1. Инициализация ЦА 11 | 12 | > Центр аутентификации — это удостоверяющий центр (Certificate Authority, CA), который выпускает, а также управляет корневыми сертификатами. Корневые сертификаты служат доверенным источником для установления защищённых соединений между компонентами кластера Kubernetes. Они обеспечивают аутентификацию и шифрование коммуникаций между узлами, сервисами и клиентами, гарантируя целостность и конфиденциальность передаваемых данных. 13 | 14 | 15 | {/* */} 16 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/etcd/certificates/components/etcd/etcdClient/checks/statusKubeadm.mdx: -------------------------------------------------------------------------------- 1 | import CodeBlock from '@theme/CodeBlock' 2 | import dedent from 'ts-dedent' 3 | 4 | import { CUSTOM_VALUE } from '@site/src/constants/kubernetes/customValue' 5 | 6 | 7 |
8 | Проверка готовности сертификата 9 | :::warning Обратите ВНИМАНИЕ! 10 | Данная команда не способна отображать статус конкретного сертификата, только список доступных. 11 | ::: 12 | 13 | 14 | {dedent` 15 | kubeadm certs check-expiration 16 | `} 17 | 18 | 19 | :::note Вывод команды 20 | 21 | {dedent` 22 | CERTIFICATE EXPIRES RESIDUAL TIME CERTIFICATE AUTHORITY EXTERNALLY MANAGED 23 | etcd-healthcheck-client Oct 22, 2025 22:06 UTC 364d etcd-ca no 24 | `} 25 | 26 | ::: 27 | 28 |
29 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/etcd/certificates/components/etcd/etcdClient/kubeadm.mdx: -------------------------------------------------------------------------------- 1 | import { CUSTOM_VALUE } from '@site/src/constants/kubernetes/customValue' 2 | 3 | import CodeBlock from '@theme/CodeBlock' 4 | import dedent from 'ts-dedent' 5 | 6 |

Генерация сертификатов

7 | 8 | {dedent` 9 | kubeadm init phase certs etcd-healthcheck-client \\ 10 | --config=${CUSTOM_VALUE.kubeadmBaseConfigPath.value}/kubeadm.yaml 11 | `} 12 | 13 | 14 | :::note 15 | После выполнения команды мы получаем следующий вывод. 16 | 17 | 18 | {dedent` 19 | #### Генерация сертификатов 20 | [certs] Generating "etcd/healthcheck-client" certificate and key 21 | `} 22 | 23 | 24 | ::: 25 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/etcd/certificates/components/etcd/etcdClient/main.mdx: -------------------------------------------------------------------------------- 1 | import TabItem from '@theme/TabItem' 2 | import Tabs from '@theme/Tabs' 3 | import Openssl from '@site/docs/tech-docs/etcd/certificates/components/etcd/etcdClient/openssl.mdx' 4 | import Kubeadm from '@site/docs/tech-docs/etcd/certificates/components/etcd/etcdClient/kubeadm.mdx' 5 | 6 | import StatusOpenssl from '@site/docs/tech-docs/etcd/certificates/components/etcd/etcdClient/checks/statusOpenssl.mdx' 7 | import StatusKubeadm from '@site/docs/tech-docs/etcd/certificates/components/etcd/etcdClient/checks/statusKubeadm.mdx' 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/etcd/certificates/components/etcd/etcdPeer/checks/statusKubeadm.mdx: -------------------------------------------------------------------------------- 1 | import CodeBlock from '@theme/CodeBlock' 2 | import dedent from 'ts-dedent' 3 | 4 | import { CUSTOM_VALUE } from '@site/src/constants/kubernetes/customValue' 5 | 6 | 7 |
8 | Проверка готовности сертификата 9 | :::warning Обратите ВНИМАНИЕ! 10 | Данная команда не способна отображать статус конкретного сертификата, только список доступных. 11 | ::: 12 | 13 | 14 | {dedent` 15 | kubeadm certs check-expiration 16 | `} 17 | 18 | 19 | :::note Вывод команды 20 | 21 | 22 | {dedent` 23 | CERTIFICATE EXPIRES RESIDUAL TIME CERTIFICATE AUTHORITY EXTERNALLY MANAGED 24 | etcd-peer Oct 22, 2025 22:06 UTC 364d etcd-ca no 25 | `} 26 | 27 | ::: 28 | 29 |
30 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/etcd/certificates/components/etcd/etcdPeer/kubeadm.mdx: -------------------------------------------------------------------------------- 1 | import { CUSTOM_VALUE } from '@site/src/constants/kubernetes/customValue' 2 | 3 | import CodeBlock from '@theme/CodeBlock' 4 | import dedent from 'ts-dedent' 5 | 6 |

Генерация сертификатов

7 | 8 | {dedent` 9 | kubeadm init phase certs etcd-peer \\ 10 | --config=${CUSTOM_VALUE.kubeadmBaseConfigPath.value}/kubeadm.yaml 11 | `} 12 | 13 | 14 | :::note 15 | После выполнения команды получаем следующий вывод. 16 | 17 | 18 | {dedent` 19 | #### Генерация сертификатов 20 | [certs] Generating "etcd/peer" certificate and key 21 | [certs] etcd/peer serving cert is signed for DNS names [localhost master-1.my-first-cluster.example.com] and IPs [192.168.10.27 127.0.0.1 ::1] 22 | `} 23 | 24 | 25 | ::: 26 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/etcd/certificates/components/etcd/etcdPeer/main.mdx: -------------------------------------------------------------------------------- 1 | import TabItem from '@theme/TabItem' 2 | import Tabs from '@theme/Tabs' 3 | import Openssl from '@site/docs/tech-docs/etcd/certificates/components/etcd/etcdPeer/openssl.mdx' 4 | import Kubeadm from '@site/docs/tech-docs/etcd/certificates/components/etcd/etcdPeer/kubeadm.mdx' 5 | 6 | import StatusOpenssl from '@site/docs/tech-docs/etcd/certificates/components/etcd/etcdPeer/checks/statusOpenssl.mdx' 7 | import StatusKubeadm from '@site/docs/tech-docs/etcd/certificates/components/etcd/etcdPeer/checks/statusKubeadm.mdx' 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/etcd/certificates/components/etcd/etcdServer/checks/statusKubeadm.mdx: -------------------------------------------------------------------------------- 1 | import CodeBlock from '@theme/CodeBlock' 2 | import dedent from 'ts-dedent' 3 | 4 | import { CUSTOM_VALUE } from '@site/src/constants/kubernetes/customValue' 5 | 6 |
7 | Проверка готовности сертификата 8 | :::warning Обратите ВНИМАНИЕ! 9 | Данная команда не способна отображать статус конкретного сертификата, только список доступных. 10 | ::: 11 | 12 | 13 | {dedent` 14 | kubeadm certs check-expiration 15 | `} 16 | 17 | 18 | :::note Вывод команды 19 | 20 | {dedent` 21 | CERTIFICATE EXPIRES RESIDUAL TIME CERTIFICATE AUTHORITY EXTERNALLY MANAGED 22 | etcd-server Oct 22, 2025 22:06 UTC 364d etcd-ca no 23 | `} 24 | 25 | ::: 26 | 27 |
28 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/etcd/certificates/components/etcd/etcdServer/kubeadm.mdx: -------------------------------------------------------------------------------- 1 | import { CUSTOM_VALUE } from '@site/src/constants/kubernetes/customValue' 2 | 3 | import CodeBlock from '@theme/CodeBlock' 4 | import dedent from 'ts-dedent' 5 | 6 |

Генерация сертификатов

7 | 8 | {dedent` 9 | kubeadm init phase certs etcd-server \\ 10 | --config=${CUSTOM_VALUE.kubeadmBaseConfigPath.value}/kubeadm.yaml 11 | `} 12 | 13 | 14 | :::note 15 | После выполнения команды получаем следующий вывод. 16 | 17 | 18 | {dedent` 19 | #### Генерация сертификатов 20 | [certs] Generating "etcd/server" certificate and key 21 | [certs] etcd/server serving cert is signed for DNS names [localhost master-1.my-first-cluster.example.com] and IPs [192.168.10.27 127.0.0.1 ::1] 22 | `} 23 | 24 | 25 | ::: 26 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/etcd/certificates/components/etcd/etcdServer/main.mdx: -------------------------------------------------------------------------------- 1 | import TabItem from '@theme/TabItem' 2 | import Tabs from '@theme/Tabs' 3 | import Openssl from '@site/docs/tech-docs/etcd/certificates/components/etcd/etcdServer/openssl.mdx' 4 | import Kubeadm from '@site/docs/tech-docs/etcd/certificates/components/etcd/etcdServer/kubeadm.mdx' 5 | 6 | import StatusOpenssl from '@site/docs/tech-docs/etcd/certificates/components/etcd/etcdServer/checks/statusOpenssl.mdx' 7 | import StatusKubeadm from '@site/docs/tech-docs/etcd/certificates/components/etcd/etcdServer/checks/statusKubeadm.mdx' 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/etcd/certificates/components/etcd/main.mdx: -------------------------------------------------------------------------------- 1 | import ETCDClientMain from '@site/docs/tech-docs/etcd/certificates/components/etcd/etcdClient/main.mdx' 2 | import ETCDServerMain from '@site/docs/tech-docs/etcd/certificates/components/etcd/etcdServer/main.mdx' 3 | import ETCDPeerMain from '@site/docs/tech-docs/etcd/certificates/components/etcd/etcdPeer/main.mdx' 4 | 5 | ## 5.1.2.2.1. Etcd client > Etcd 6 | 7 | 8 | 9 | ## 5.1.2.2.2. Etcd server 10 | 11 | 12 | 13 | ## 5.1.2.2.3. Etcd peer > Etcd 14 | 15 | 16 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/etcd/certificates/components/main.mdx: -------------------------------------------------------------------------------- 1 | 2 | import ETCDCerts from '@site/docs/tech-docs/etcd/certificates/components/etcd/main.mdx' 3 | 4 | ### Инициализация Сертификатов 5 | 6 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/etcd/certificates/componentsCerts.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: all-certificates 3 | toc_min_heading_level: 2 4 | toc_max_heading_level: 2 5 | --- 6 | 7 | import ETCDCerts from '@site/docs/tech-docs/etcd/certificates/components/etcd/main.mdx' 8 | import AllMasterTabs from '@site/docs/tech-docs/kubernetes/setup-environments/allMasterTabs.mdx' 9 | 10 | # 5.1.2.2. Сертификаты 11 | 12 | > Сертификаты (Certificates) — это цифровые документы, которые подтверждают подлинность и надёжность участников взаимодействия в системе. В Kubernetes сертификаты используются для установления защищённых соединений между компонентами кластера, узлами и клиентами. Они основаны на инфраструктуре открытых ключей (PKI) и обеспечивают аутентификацию, авторизацию и шифрование данных. Каждый сертификат связан с закрытым ключом и содержит информацию о его владельце, сроке действия и удостоверяющем центре, выпустившем сертификат. 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/etcd/components.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: etcd-components 3 | --- 4 | 5 | # Компоненты 6 | 7 | ## ETCD 8 | * Описание: ```etcd``` — основной исполняемый файл сервера ETCD, реализующий функциональность распределенного надежного хранилища данных в формате ключ-значение. 9 | * Расположение: ```/usr/local/bin/etcd``` 10 | 11 | ## Etcdctl 12 | * Описание: ```etcdctl``` — инструмент командной строки для взаимодействия с сервером ETCD, предоставляющий основные функции управления и доступа к данным. 13 | * Расположение: ```/usr/local/bin/etcdctl``` 14 | 15 | ## Etcdbrctl 16 | * Описание: ```etcdbrctl``` — утилита для управления резервным копированием, дефрагментацией, компрессией и восстановлением данных ETCD. 17 | * Расположение: ```/usr/local/bin/etcdbrctl``` 18 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/etcd/components/componentsReady.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: components-ready 3 | --- 4 | 5 | # 5.1.1.3. Проверка 6 | 7 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/etcd/components/etcd/addMembers.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: add-members 3 | --- 4 | 5 | # 5.1.3.2. Добавление узла 6 | 7 | TODO 8 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/etcd/components/etcd/check.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: check 3 | --- 4 | 5 | # 5.1.1.3.1. Etcd 6 | 7 | TODO 8 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/etcd/components/etcd/checkBIN.mdx: -------------------------------------------------------------------------------- 1 | import StatusVersion from '@site/docs/tech-docs/etcd/components/etcd/checks/statusBinVersion.mdx' 2 | import StatusDownload from '@site/docs/tech-docs/etcd/components/etcd/checks/statusBinFiles.mdx' 3 | 4 |

Проверка установки

5 | 6 |
7 | Проверка установки 8 | 9 | 10 |
11 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/etcd/components/etcd/checks/statusBinVersion.mdx: -------------------------------------------------------------------------------- 1 | import dedent from 'ts-dedent' 2 | import CodeBlock from '@theme/CodeBlock' 3 | 4 | 5 | {dedent` 6 | etcd --version 7 | `} 8 | 9 | 10 | :::note Вывод команды 11 | 12 | 13 | {dedent` 14 | etcd Version: 3.5.5 15 | Git SHA: 19002cfc6 16 | Go Version: go1.16.15 17 | Go OS/Arch: linux/amd64 18 | `} 19 | 20 | ::: 21 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/etcd/components/etcd/componentReady.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: component-ready 3 | --- 4 | 5 | import ComponentReadyComponent from '@site/docs/tech-docs/etcd/components/etcd/componentReadyComponent.mdx' 6 | 7 | # 5.2.1.4.1. Containerd 8 | 9 | 10 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/etcd/components/etcd/componentReadyComponent.mdx: -------------------------------------------------------------------------------- 1 | import StatusBinFiles from '@site/docs/tech-docs/etcd/components/etcd/checks/statusBinFiles.mdx' 2 | import StatusBinVersion from '@site/docs/tech-docs/etcd/components/etcd/checks/statusBinVersion.mdx' 3 | 4 |

Этапы проверки

5 | 6 | - Исполняемые файлы существуют. 7 | - Версия исполняемого файла корректна. 8 | 9 |

Исполняемые файлы

10 | 11 | 12 | 13 |

Версия исполняемого файла

14 | 15 | 16 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/etcd/components/etcd/lifecycleDownload.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: lifecycle 3 | --- 4 | 5 | import LifecycleDownloadComponent from '@site/docs/tech-docs/etcd/components/etcd/lifecycleDownloadComponent.mdx' 6 | 7 | # 5.1.1.2.1. ETCD 8 | 9 | 10 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/etcd/components/etcd/lifecycleDownloadComponent.mdx: -------------------------------------------------------------------------------- 1 | import DownloadBIN from '@site/docs/tech-docs/etcd/components/etcd/payload/downloadBIN.mdx' 2 | 3 |

Этапы установки компонента

4 | 5 | - Создание рабочих директорий. 6 | - Переменные окружения. 7 | - Инструкция загрузки. 8 | - Настройка прав. 9 | - Сервис загрузки. 10 | - Запуск сервиса загрузки. 11 | 12 | 13 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/etcd/components/etcd/lifecycleDownloadStatus.mdx: -------------------------------------------------------------------------------- 1 | import StatusBinFiles from '@site/docs/tech-docs/etcd/components/etcd/checks/statusBinFiles.mdx' 2 | import StatusBinVersion from '@site/docs/tech-docs/etcd/components/etcd/checks/statusBinVersion.mdx' 3 | 4 |

Исполняемые файлы

5 | 6 | 7 | 8 |

Версия исполняемого файла

9 | 10 | 11 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/etcd/components/etcd/removeMembers.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: remove-members 3 | --- 4 | 5 | # 5.1.3.3. Удаление узла 6 | 7 | TODO 8 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/etcd/components/etcd/setup.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: etcd-settings 3 | --- 4 | 5 | import SetupInitComponent from '@site/docs/tech-docs/etcd/components/etcd/setupInitComponent.mdx' 6 | import SetupJoinComponent from '@site/docs/tech-docs/etcd/components/etcd/setupJoinComponent.mdx' 7 | 8 | # 5.1.3.1. ETCD 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/etcd/components/etcd/setupInitComponent.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: etcd-settings 3 | --- 4 | 5 | import TabItem from '@theme/TabItem' 6 | import Tabs from '@theme/Tabs' 7 | 8 | import StaticPodHW from '@site/docs/tech-docs/kubernetes/components/etcd/staticPodInitComponent.mdx' 9 | import StaticPodKubeadm from '@site/docs/tech-docs/kubernetes/components/etcd/kubeadmInit.mdx' 10 | 11 | :::warning Обратите внимание! 12 | Данный раздел является опциональным и предназначен только для случаев, когда необходимо настроить данный ресурс отдельно от остальных. 13 | ::: 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/etcd/components/etcd/setupJoinComponent.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: etcd-settings 3 | --- 4 | 5 | import TabItem from '@theme/TabItem' 6 | import Tabs from '@theme/Tabs' 7 | 8 | import StaticPodHW from '@site/docs/tech-docs/kubernetes/components/etcd/staticPodJoinComponent.mdx' 9 | import StaticPodKubeadm from '@site/docs/tech-docs/kubernetes/components/etcd/kubeadmJoin.mdx' 10 | 11 | :::warning Обратите внимание! 12 | Данный раздел является опциональным и предназначен только для случаев, когда необходимо настроить данный ресурс отдельно от остальных. 13 | ::: 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/etcd/components/etcdbrctl/check.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: check 3 | --- 4 | 5 | 6 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/etcd/components/etcdbrctl/downloadBIN.mdx: -------------------------------------------------------------------------------- 1 | import dedent from 'ts-dedent' 2 | import CodeBlock from '@theme/CodeBlock' 3 | 4 | ### Загрузка 5 | 6 |

Переменные окружения

7 | 8 | {dedent` 9 | TODO 10 | `} 11 | 12 | 13 |

Инструкция загрузки

14 | 15 | {dedent` 16 | TODO 17 | `} 18 | 19 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/etcd/components/etcdbrctl/lifecycle.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: lifecycle 3 | --- 4 | import DownloadBIN from '@site/docs/tech-docs/etcd/components/etcdbrctl/downloadBIN.mdx' 5 | 6 | # ETCD(brctl) 7 | 8 | ## Этапы установки компонента 9 | - Загрузка исполняемых файлов на узел. 10 | 11 | 12 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/etcd/components/etcdctl/check.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: check 3 | --- 4 | 5 | # 5.1.1.3.2. Etcdctl 6 | 7 | TODO 8 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/etcd/components/etcdutl/check.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: check 3 | --- 4 | 5 | # 5.1.1.3.3. Etcdutl 6 | 7 | TODO 8 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/etcd/environments.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: etcd-environments 3 | --- -------------------------------------------------------------------------------- /documentation/docs/tech-docs/etcd/etcd.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: etcd-main 3 | --- 4 | 5 | import EtcdMain from '@site/docs/tech-docs/etcd/main.mdx' 6 | 7 | # Диагностика 8 | 9 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/etcd/get-started.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: etcd-get-started 3 | --- 4 | 5 | # Установка -------------------------------------------------------------------------------- /documentation/docs/tech-docs/etcd/main.mdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PRO-Robotech/in-cloud-docs/33490254a86639b0525b881c09254ac87aee7c65/documentation/docs/tech-docs/etcd/main.mdx -------------------------------------------------------------------------------- /documentation/docs/tech-docs/etcd/setup-environments/osSetup.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: os-setup 3 | --- 4 | 5 | # 5.1.1. Настройка ОС 6 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/etcd/troubleshooting/check-box.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: check-box 3 | --- 4 | 5 | # 5.1.5.1. Чек Бокс -------------------------------------------------------------------------------- /documentation/docs/tech-docs/etcd/troubleshooting/commands.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: commands 3 | --- 4 | 5 | import { EtcdCommandList } from '@site/src/components/commonBlocks' 6 | 7 | # 5.1.5.3. Полезные команды 8 | 9 | 10 | Для использования исполняемого файла на мастере будем использовать псевдоним `etcdctl`, для использования etcdctl 11 | внутри контейнера, используем псевдонимы `ectl`, `nectl`. 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/etcd/troubleshooting/restore/blocks/index.ts: -------------------------------------------------------------------------------- 1 | import * as SingleNodeK8s from './CodeAndInputSingleNodeK8s' 2 | import * as ThreeNodeK8s from './CodeAndInputThreeNodeK8s' 3 | import * as CrushedNodeK8s from './CodeAndInputCrushedNodeK8s' 4 | import * as SingleNodeKubeApi from './CodeAndInputSingleNodeKubeApi' 5 | import * as ThreeNodeKubeApi from './CodeAndInputThreeNodeKubeApi' 6 | import * as CrushedNodeKubeApi from './CodeAndInputCrushedNodeKubeApi' 7 | 8 | export const SingleNodeFunctionsK8s = { 9 | ...SingleNodeK8s 10 | } 11 | 12 | export const ThreeNodeFunctionsK8s = { 13 | ...ThreeNodeK8s 14 | } 15 | 16 | export const CrushedNodeFunctionsK8s = { 17 | ...CrushedNodeK8s 18 | } 19 | 20 | export const SingleNodeFunctionsKubeApi = { 21 | ...SingleNodeKubeApi 22 | } 23 | 24 | export const ThreeNodeFunctionsKubeApi = { 25 | ...ThreeNodeKubeApi 26 | } 27 | 28 | export const CrushedNodeFunctionsKubeApi = { 29 | ...CrushedNodeKubeApi 30 | } 31 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/etcd/troubleshooting/restore/singleNodeKubeApi.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: SingleNodeKubeApi 3 | --- 4 | 5 | import { SingleNodeFunctionsKubeApi } from './blocks' 6 | 7 | 8 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/etcd/tuning.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: etcd-tuning 3 | --- 4 | 5 | # Тюнинг 6 | 7 | ## Размер БД ETCD 8 | 9 | 10 | 1. Максимальный размер запроса (Request size limit) 11 | ETCD спроектировано для обработки небольших запросов в виде пары "ключ/значение", типичных для метадаты. Запросы большого размера будут работать, но могут увеличить задержку других запросов. По умолчанию, максимальный размер любого запроса - 1,5 MiB. Это ограничение конфигурируется при помощи флага `--max-request-bytes` для ETCD сервера. 12 | 13 | 2. Максимальный размер хранилища (Storage size limit) 14 | По умолчанию максимальный размер БД ETCD на диске равен 2GB. Это значение настраивается при помощи флага `--quota-backend-bytes`. 8GB предлагаемый максимальный размер данного хранилища. При указании значения больше 8GB, в логах сервиса будут показаны соответствующие предупреждения. 15 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes-network/base-load-balancer-cilium.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: base-load-balancer-cilium 3 | --- 4 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes-network/base-load-balancer-citrix.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: base-load-balancer-citrix 3 | --- 4 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes-network/base-load-balancer-external-principal.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: base-load-balancer-external-principal 3 | --- 4 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes-network/base-network-access-group-principal.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: base-network-access-group-principal 3 | --- 4 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes-network/base-pod-cni-cilium.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: base-pod-cni-cilium 3 | --- 4 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes-network/metallb/metallb-l2-advertisement.mdx: -------------------------------------------------------------------------------- 1 | import CodeBlock from '@theme/CodeBlock' 2 | import dedent from 'ts-dedent' 3 | 4 | :::warning 5 | Важно: При создании ресурса IPAddressPool необходимо так же указывать L2Advertisement для уведомления Speaker что и как нужно публиковать в сеть: 6 | 7 | 1. `spec.ipAddressPools`: список IP-пулов, которые будут назначены пространству имен клиента. 8 | 9 | ::: 10 | 11 | {dedent` 12 | --- 13 | apiVersion: metallb.io/v1beta1 14 | kind: L2Advertisement 15 | metadata: 16 | name: in-cloud-sandbox-instance 17 | namespace: in-cloud-metallb 18 | spec: 19 | ipAddressPools: 20 | - in-cloud-sandbox-instance 21 | `} 22 | 23 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes-thw/troubleShooting.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: k8s-troubleshooting 3 | --- 4 | 5 | import StatusCluster from '@site/docs/tech-docs/kubernetes/statusCluster.mdx' 6 | 7 | # Диагностика 8 | 9 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/additional-setup/marking/allMarking.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: all-marking 3 | --- 4 | 5 | import AllMarkingComponent from '@site/docs/tech-docs/kubernetes/additional-setup/marking/allMarkingComponent.mdx' 6 | 7 | # 5.2.4.1. Маркировка узлов 8 | 9 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/additional-setup/marking/markingInit.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: marking-init 3 | --- 4 | 5 | import MarkingInitComponent from '@site/docs/tech-docs/kubernetes/additional-setup/marking/markingInitComponent.mdx' 6 | 7 | # 5.2.4.1. Маркировка узлов 8 | 9 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/additional-setup/marking/markingJoin.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: marking-join 3 | --- 4 | 5 | import MarkingJoinComponent from '@site/docs/tech-docs/kubernetes/additional-setup/marking/markingJoinComponent.mdx' 6 | 7 | # 5.2.4.1. Маркировка узлов 8 | 9 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/additional-setup/upload-ca/allUploadCA.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: all-ca 3 | --- 4 | 5 | import AllUploadCA from '@site/docs/tech-docs/kubernetes/additional-setup/upload-ca/allUploadCAComponent.mdx' 6 | 7 | # 5.2.4.4. Загрузка ЦА 8 | 9 | 10 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/additional-setup/upload-ca/allUploadCAComponent.mdx: -------------------------------------------------------------------------------- 1 | import UploadCAInit from '@site/docs/tech-docs/kubernetes/additional-setup/upload-ca/uploadCAComponent.mdx' 2 | 3 | import TabItem from '@theme/TabItem' 4 | import Tabs from '@theme/Tabs' 5 | 6 | > Этот раздел посвящён загрузке корневых сертификатов в кластер Kubernetes. 7 | > Секрет kubeadm-certs создаётся вручную и содержит ключи и сертификаты, необходимые при добавлении новых управляющих узлов (`kubeadm join`). 8 | > Такой подход позволяет безопасно передавать чувствительные данные между узлами управляющего контура. 9 | 10 | 11 | 12 |
13 | 14 |
15 |

Загрузка корневых сертификатов в Kubernetes

16 |

● Обязателен к применению

17 |
18 |
19 | 20 |
21 |
22 |
23 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/additional-setup/upload-ca/uploadCA.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: upload-ca 3 | --- 4 | 5 | import UploadCAInit from '@site/docs/tech-docs/kubernetes/additional-setup/upload-ca/uploadCAComponent.mdx' 6 | 7 | # 5.2.4.4. Загрузка ЦА 8 | 9 | 10 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/additional-setup/upload-configs/allUploadConfigs.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: all-configs 3 | --- 4 | 5 | import AllUploadConfigsComponent from '@site/docs/tech-docs/kubernetes/additional-setup/upload-configs/allUploadConfigsComponent.mdx' 6 | 7 | # 5.2.4.3. Загрузка конфигурации 8 | 9 | 10 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/additional-setup/upload-configs/uploadConfigsInit.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: upload-configs-all-init 3 | --- 4 | 5 | import UploadConfigsInit from '@site/docs/tech-docs/kubernetes/additional-setup/upload-configs/uploadConfigsInitComponent.mdx' 6 | 7 | # 5.2.4.1.3.1. Загрузка конфигурации 8 | 9 | 10 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/additional-setup/upload-configs/uploadConfigsJoin.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: upload-configs-all-join 3 | --- 4 | 5 | import UploadConfigsInit from '@site/docs/tech-docs/kubernetes/additional-setup/upload-configs/uploadConfigsJoinComponent.mdx' 6 | 7 | # 5.2.4.1.3.2. Загрузка конфигурации 8 | 9 | 10 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/additional-setup/upload-rbac/allUploadRbac.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: all-rbac 3 | --- 4 | 5 | import RbacComponent from '@site/docs/tech-docs/kubernetes/additional-setup/upload-rbac/allUploadRbacComponent.mdx' 6 | 7 | # 5.2.4.2. Ролевая модель 8 | 9 | 10 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/additional-setup/upload-rbac/allUploadRbacComponent.mdx: -------------------------------------------------------------------------------- 1 | import RbacComponent from '@site/docs/tech-docs/kubernetes/additional-setup/upload-rbac/rbacComponent.mdx' 2 | 3 | import TabItem from '@theme/TabItem' 4 | import Tabs from '@theme/Tabs' 5 | 6 | > Этот раздел посвящён настройке ролевой модели (RBAC), необходимой для корректной работы механизма kubeadm join. Здесь описываются Roles/ClusterRoles, RoleBindings/ClusterRoleBindings и Bootstrap-токен, которые позволяют новым узлам безопасно подключаться к кластеру, запрашивать сертификаты и получать информацию о конфигурации API-сервера. 7 | 8 | 9 | 10 |
11 | 12 |
13 |

Настройка ролевой модели Kubeadm

14 |

● Обязателен к применению

15 |
16 |
17 | 18 |
19 |
20 |
21 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/additional-setup/upload-rbac/rbac.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: rbac 3 | --- 4 | 5 | import RbacComponent from '@site/docs/tech-docs/kubernetes/additional-setup/upload-rbac/rbacComponent.mdx' 6 | 7 | # 5.2.4.2. Ролевая модель 8 | 9 | :::warning 10 | Этот раздел описывает настройку кластера, позволяющую добавляемым узлам самостоятельно запрашивать сертификаты и обновлять их перед истечением срока действия. 11 | ::: 12 | 13 | ## 5.2.4.1.2.1. Настройка ролевой модели 14 | 15 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/certificates/aboutAll.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: about-all 3 | --- 4 | 5 | import AboutAll from '@site/docs/tech-docs/kubernetes/certificates/aboutAllComponent.mdx' 6 | 7 | # 5.2.2.0. Все сертификаты 8 | 9 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/certificates/allCertificates.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: all-certificates 3 | --- 4 | 5 | import AllCertificatesComponent from '@site/docs/tech-docs/kubernetes/certificates/allCertificatesComponent.mdx' 6 | import AllKubeconfigsComponent from '@site/docs/tech-docs/kubernetes/certificates/allKubeconfigsComponent.mdx' 7 | 8 | # 5.2.2. Все сертификаты 9 | 10 | ## 5.2.2.1. Генерация сертификатов 11 | 12 | 13 | ## 5.2.2.2. Генерация Kubeconfigs 14 | 15 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/certificates/center-authority/allСA.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: all-ca 3 | --- 4 | 5 | import AllCAComponent from '@site/docs/tech-docs/kubernetes/certificates/center-authority/allCAComponent.mdx' 6 | 7 | # 5.2.2.1. Корневые сертификаты 8 | 9 | 10 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/certificates/center-authority/downloadCA.mdx: -------------------------------------------------------------------------------- 1 | import DownloadCAOpensslComponent from '@site/docs/tech-docs/kubernetes/certificates/center-authority/downloadCAOpensslComponent.mdx' 2 | import DownloadCAKubeadmComponent from '@site/docs/tech-docs/kubernetes/certificates/center-authority/downloadCAKubeadmComponent.mdx' 3 | 4 | import TabItem from '@theme/TabItem' 5 | import Tabs from '@theme/Tabs' 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/certificates/center-authority/frontProxyCA/kubeadm.mdx: -------------------------------------------------------------------------------- 1 | import { CUSTOM_VALUE } from '@site/src/constants/kubernetes/customValue' 2 | 3 | import CodeBlock from '@theme/CodeBlock' 4 | import dedent from 'ts-dedent' 5 | 6 |

Генерация сертификатов

7 | 8 | {dedent` 9 | kubeadm init phase certs front-proxy-ca \\ 10 | --config=${CUSTOM_VALUE.kubeadmBaseConfigPath.value}/kubeadm.yaml 11 | `} 12 | 13 | 14 | :::note 15 | После выполнения команд получаем следующий вывод. 16 | 17 | {dedent` 18 | #### Create Front Proxy CA 19 | [certs] Generating "front-proxy-ca" certificate and key 20 | `} 21 | 22 | ::: 23 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/certificates/center-authority/frontProxyCA/main.mdx: -------------------------------------------------------------------------------- 1 | 2 | import TabItem from '@theme/TabItem' 3 | import Tabs from '@theme/Tabs' 4 | import FrontProxyCACert from '@site/docs/tech-docs/kubernetes/certificates/center-authority/frontProxyCA/openssl.mdx' 5 | import FrontProxyCAKubeadm from '@site/docs/tech-docs/kubernetes/certificates/center-authority/frontProxyCA/kubeadm.mdx' 6 | 7 | 8 | :::warning 9 | **Обратите внимание:** данный блок описывает только процесс создания корневых сертификатов ```Front Proxy CA```. 10 | ::: 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/certificates/center-authority/init.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: init-ca 3 | --- 4 | 5 | import KubernetesCA from '@site/docs/tech-docs/kubernetes/certificates/center-authority/kubernetesCA/main.mdx' 6 | import FrontProxyCA from '@site/docs/tech-docs/kubernetes/certificates/center-authority/frontProxyCA/main.mdx' 7 | import ETCDCA from '@site/docs/tech-docs/etcd/certificates/center-authority/etcdCA/main.mdx' 8 | 9 | # 5.2.2.1.1. Инициализация ЦА 10 | 11 | > Центр сертификации — это удостоверяющий центр (Certificate Authority, CA), который выпускает и управляет корневыми сертификатами. Корневые сертификаты служат доверенным источником для установления защищённых соединений между компонентами кластера Kubernetes. Они обеспечивают аутентификацию и шифрование коммуникаций между узлами, сервисами и клиентами, гарантируя целостность и конфиденциальность передаваемых данных. 12 | 13 | ## 5.2.2.1.1.1. Kubernetes ЦА 14 | 15 | 16 | 17 | ## 5.2.2.1.1.2. FrontProxy ЦА 18 | 19 | 20 | 21 | ## 5.2.2.1.1.3. ETCD ЦА 22 | 23 | 24 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/certificates/center-authority/join.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: join-ca 3 | --- 4 | 5 | import DownloadCA from '@site/docs/tech-docs/kubernetes/certificates/center-authority/downloadCA.mdx' 6 | 7 | # 5.2.2.1.2. Выгрузка ЦА 8 | 9 | > Центр сертификации — это удостоверяющий центр (Certificate Authority, CA), который выпускает и управляет корневыми сертификатами. Корневые сертификаты служат доверенным источником для установления защищённых соединений между компонентами кластера Kubernetes. Они обеспечивают аутентификацию и шифрование коммуникаций между узлами, сервисами и клиентами, гарантируя целостность и конфиденциальность передаваемых данных. 10 | 11 | :::warning Обратите внимание! 12 | Данный раздел описывает процесс выгрузки корневых сертификатов на мастер-узел из существующего управляющего контура Kubernetes с целью расширения кластера. 13 | ::: 14 | 15 | ## 5.2.2.1.2.1. Выгрузка ЦА 16 | 17 | 18 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/certificates/center-authority/kubernetesCA/kubeadm.mdx: -------------------------------------------------------------------------------- 1 | import { CUSTOM_VALUE } from '@site/src/constants/kubernetes/customValue' 2 | 3 | import CodeBlock from '@theme/CodeBlock' 4 | import dedent from 'ts-dedent' 5 | 6 |

Генерация сертификатов

7 | 8 | {dedent` 9 | kubeadm init phase certs ca \\ 10 | --config=${CUSTOM_VALUE.kubeadmBaseConfigPath.value}/kubeadm.yaml 11 | `} 12 | 13 | 14 | :::note 15 | После выполнения команд получаем следующий вывод. 16 | 17 | {dedent` 18 | #### Create Kubernetes CA 19 | [certs] Generating "ca" certificate and key 20 | `} 21 | 22 | ::: 23 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/certificates/center-authority/kubernetesCA/main.mdx: -------------------------------------------------------------------------------- 1 | 2 | import TabItem from '@theme/TabItem' 3 | import Tabs from '@theme/Tabs' 4 | import KubernetesCACert from '@site/docs/tech-docs/kubernetes/certificates/center-authority/kubernetesCA/openssl.mdx' 5 | import KubernetesCAKubeadm from '@site/docs/tech-docs/kubernetes/certificates/center-authority/kubernetesCA/kubeadm.mdx' 6 | 7 | 8 | :::warning 9 | **Обратите внимание:** данный блок описывает только процесс создания корневых сертификатов ```Kubernetes CA```. 10 | ::: 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/certificates/components/_kubeadm/initAllKubeconfigGen.mdx: -------------------------------------------------------------------------------- 1 | import { CUSTOM_VALUE } from '@site/src/constants/kubernetes/customValue' 2 | 3 | import CodeBlock from '@theme/CodeBlock' 4 | import dedent from 'ts-dedent' 5 | 6 | 7 |

Генерация kubeconfigs

8 | 9 | {dedent` 10 | kubeadm init phase kubeconfig all \\ 11 | --config=${CUSTOM_VALUE.kubeadmBaseConfigPath.value}/kubeadm.yaml 12 | `} 13 | 14 | 15 | :::note 16 | 17 | {dedent` 18 | [kubeconfig] Using kubeconfig folder "/etc/kubernetes" 19 | [kubeconfig] Writing "admin.conf" kubeconfig file 20 | [kubeconfig] Writing "super-admin.conf" kubeconfig file 21 | [kubeconfig] Writing "kubelet.conf" kubeconfig file 22 | [kubeconfig] Writing "controller-manager.conf" kubeconfig file 23 | [kubeconfig] Writing "scheduler.conf" kubeconfig file 24 | `} 25 | 26 | ::: 27 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/certificates/components/_openssl/allAppKubeconfigs.mdx: -------------------------------------------------------------------------------- 1 | import KubeSchedulerCerts from '@site/docs/tech-docs/kubernetes/certificates/components/kubeScheduler/main.mdx' 2 | import KubeAPIClient from '@site/docs/tech-docs/kubernetes/certificates/components/kubelet/kubeAPIClient/main.mdx' 3 | import AdminClientMain from '@site/docs/tech-docs/kubernetes/certificates/components/admin/adminClient/main.mdx' 4 | import SuperAdminClientMain from '@site/docs/tech-docs/kubernetes/certificates/components/admin/superAdminClient/main.mdx' 5 | import KubeControllerKubeAPIClient from '@site/docs/tech-docs/kubernetes/certificates/components/kubeControllerManager/kubeAPIClient/main.mdx' 6 | 7 | ## 5.2.2.3.1.1. Kubelet client > K8S-API certificates 8 | 9 | 10 | ## 5.2.2.3.1.2. super admin client > K8S-API 11 | 12 | 13 | ## 5.2.2.3.1.3. admin client > K8S-API 14 | 15 | 16 | ## 5.2.2.3.1.4. Controller Manager client > K8S-API 17 | 18 | 19 | ## 5.2.2.3.1.5. Scheduler client > K8S-API 20 | 21 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/certificates/components/admin/adminClient/checks/statusKubeadm.mdx: -------------------------------------------------------------------------------- 1 | import CodeBlock from '@theme/CodeBlock' 2 | import dedent from 'ts-dedent' 3 | 4 | import { CUSTOM_VALUE } from '@site/src/constants/kubernetes/customValue' 5 | 6 |
7 | Проверка готовности сертификата 8 | :::warning Обратите ВНИМАНИЕ! 9 | Данная команда не способна отображать статус конкретного сертификата, только список доступных. 10 | ::: 11 | 12 | 13 | {dedent` 14 | kubeadm certs check-expiration 15 | `} 16 | 17 | 18 | :::note Вывод команды 19 | 20 | {dedent` 21 | CERTIFICATE EXPIRES RESIDUAL TIME CERTIFICATE AUTHORITY EXTERNALLY MANAGED 22 | admin.conf Oct 22, 2025 22:06 UTC 364d kubernetes no 23 | `} 24 | 25 | ::: 26 | 27 |
28 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/certificates/components/admin/adminClient/kubeadm.mdx: -------------------------------------------------------------------------------- 1 | import { CUSTOM_VALUE } from '@site/src/constants/kubernetes/customValue' 2 | 3 | import CodeBlock from '@theme/CodeBlock' 4 | import dedent from 'ts-dedent' 5 | 6 |

Генерация сертификатов

7 | 8 | {dedent` 9 | kubeadm init phase kubeconfig admin \\ 10 | --config=${CUSTOM_VALUE.kubernetesBaseFolderPath.value}/kubeadm.yaml 11 | `} 12 | 13 | 14 | :::note 15 | После выполнения команд получаем следующий вывод. 16 | 17 | 18 | {dedent` 19 | #### Генерация сертификатов 20 | [kubeconfig] Writing "admin.conf" kubeconfig file 21 | `} 22 | 23 | ::: 24 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/certificates/components/admin/adminClient/main.mdx: -------------------------------------------------------------------------------- 1 | import TabItem from '@theme/TabItem' 2 | import Tabs from '@theme/Tabs' 3 | import Openssl from '@site/docs/tech-docs/kubernetes/certificates/components/admin/adminClient/openssl.mdx' 4 | import Kubeadm from '@site/docs/tech-docs/kubernetes/certificates/components/admin/adminClient/kubeadm.mdx' 5 | import Kubeconfig from '@site/docs/tech-docs/kubernetes/certificates/components/admin/adminClient/kubeconfig.mdx' 6 | 7 | import StatusOpenssl from '@site/docs/tech-docs/kubernetes/certificates/components/admin/adminClient/checks/statusOpenssl.mdx' 8 | import StatusKubeadm from '@site/docs/tech-docs/kubernetes/certificates/components/admin/adminClient/checks/statusKubeadm.mdx' 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/certificates/components/admin/main.mdx: -------------------------------------------------------------------------------- 1 | import AdminClientMain from '@site/docs/tech-docs/kubernetes/certificates/components/admin/adminClient/main.mdx' 2 | import SuperAdminClientMain from '@site/docs/tech-docs/kubernetes/certificates/components/admin/superAdminClient/main.mdx' 3 | 4 | ## 5.2.2.2.7. super admin client > K8S-API 5 | 6 | 7 | ## 5.2.2.2.8. admin client > K8S-API 8 | 9 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/certificates/components/admin/superAdminClient/checks/statusKubeadm.mdx: -------------------------------------------------------------------------------- 1 | import CodeBlock from '@theme/CodeBlock' 2 | import dedent from 'ts-dedent' 3 | 4 | import { CUSTOM_VALUE } from '@site/src/constants/kubernetes/customValue' 5 | 6 |
7 | Проверка готовности сертификата 8 | :::warning Обратите ВНИМАНИЕ! 9 | Данная команда не способна отображать статус конкретного сертификата, только список доступных. 10 | ::: 11 | 12 | 13 | {dedent` 14 | kubeadm certs check-expiration 15 | `} 16 | 17 | 18 | :::note Вывод команды 19 | 20 | {dedent` 21 | CERTIFICATE EXPIRES RESIDUAL TIME CERTIFICATE AUTHORITY EXTERNALLY MANAGED 22 | super-admin.conf Oct 22, 2025 22:06 UTC 364d kubernetes no 23 | `} 24 | 25 | ::: 26 | 27 |
28 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/certificates/components/admin/superAdminClient/kubeadm.mdx: -------------------------------------------------------------------------------- 1 | import { CUSTOM_VALUE } from '@site/src/constants/kubernetes/customValue' 2 | 3 | import CodeBlock from '@theme/CodeBlock' 4 | import dedent from 'ts-dedent' 5 | 6 |

Генерация сертификатов

7 | 8 | {dedent` 9 | kubeadm init phase kubeconfig super-admin \\ 10 | --config=${CUSTOM_VALUE.kubeadmBaseConfigPath.value}/kubeadm.yaml 11 | `} 12 | 13 | 14 | :::note 15 | После выполнения команд получаем следующий вывод. 16 | 17 | 18 | {dedent` 19 | #### Генерация сертификатов 20 | [kubeconfig] Writing "super-admin.conf" kubeconfig file 21 | `} 22 | 23 | ::: 24 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/certificates/components/admin/superAdminClient/main.mdx: -------------------------------------------------------------------------------- 1 | import TabItem from '@theme/TabItem' 2 | import Tabs from '@theme/Tabs' 3 | import Openssl from '@site/docs/tech-docs/kubernetes/certificates/components/admin/superAdminClient/openssl.mdx' 4 | import Kubeadm from '@site/docs/tech-docs/kubernetes/certificates/components/admin/superAdminClient/kubeadm.mdx' 5 | import Kubeconfig from '@site/docs/tech-docs/kubernetes/certificates/components/admin/superAdminClient/kubeconfig.mdx' 6 | 7 | import StatusOpenssl from '@site/docs/tech-docs/kubernetes/certificates/components/admin/superAdminClient/checks/statusOpenssl.mdx' 8 | import StatusKubeadm from '@site/docs/tech-docs/kubernetes/certificates/components/admin/superAdminClient/checks/statusKubeadm.mdx' 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/certificates/components/allCertificates.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: all-certificates 3 | --- 4 | 5 | import AllCertificatesComponent from '@site/docs/tech-docs/kubernetes/certificates/components/allCertificatesComponent.mdx' 6 | 7 | # 5.2.2.2. Сертификаты 8 | 9 | 10 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/certificates/components/allKubeconfigs.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: all-kubeconfigs 3 | --- 4 | 5 | import AllKubeconfigsComponent from '@site/docs/tech-docs/kubernetes/certificates/components/allKubeconfigsComponent.mdx' 6 | 7 | 8 | # 5.2.2.3. Kubeconfigs 9 | 10 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/certificates/components/initCerts.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: init-certificates 3 | 4 | toc_min_heading_level: 2 5 | toc_max_heading_level: 2 6 | --- 7 | 8 | import AllMasterTabs from '@site/docs/tech-docs/kubernetes/setup-environments/allMasterTabs.mdx' 9 | import AllAppCerts from '@site/docs/tech-docs/kubernetes/certificates/components/_openssl/allAppCerts.mdx' 10 | 11 | # 5.2.2.2. Сертификаты 12 | > Сертификаты (Certificates) — это цифровые документы, которые подтверждают подлинность и надёжность участников взаимодействия в системе. В Kubernetes сертификаты используются для установления защищённых соединений между компонентами кластера, узлами и клиентами. Они основаны на инфраструктуре открытых ключей (PKI) и обеспечивают аутентификацию, авторизацию и шифрование данных. Каждый сертификат связан с закрытым ключом и содержит информацию о его владельце, сроке действия и удостоверяющем центре, выпустившем сертификат. 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/certificates/components/initKubeconfigs.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: init-kubeconfigs 3 | 4 | toc_min_heading_level: 2 5 | toc_max_heading_level: 2 6 | --- 7 | 8 | import AllMasterTabs from '@site/docs/tech-docs/kubernetes/setup-environments/allMasterTabs.mdx' 9 | import AllAppCerts from '@site/docs/tech-docs/kubernetes/certificates/components/_openssl/allAppKubeconfigs.mdx' 10 | 11 | # 5.2.2.3.1. Kubecofigs 12 | > Kubeconfig — это конфигурационный файл, который предоставляет доступ к кластеру Kubernetes. Он содержит информацию о серверах API, учетных данных пользователей (таких как токены или сертификаты) и контекстах, определяющих, какой кластер и пользователь используются. Kubeconfig обеспечивает аутентификацию и авторизацию при взаимодействии с кластером через kubectl или другие клиенты, позволяя безопасно управлять ресурсами и настройками кластера. 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/certificates/components/kubeAPI/etcdClient/checks/statusKubeadm.mdx: -------------------------------------------------------------------------------- 1 | import CodeBlock from '@theme/CodeBlock' 2 | import dedent from 'ts-dedent' 3 | 4 | import { CUSTOM_VALUE } from '@site/src/constants/kubernetes/customValue' 5 | 6 |
7 | Проверка готовности сертификата 8 | :::warning Обратите ВНИМАНИЕ! 9 | Данная команда не способна отображать статус конкретного сертификата, только список доступных. 10 | ::: 11 | 12 | 13 | {dedent` 14 | kubeadm certs check-expiration 15 | `} 16 | 17 | 18 | :::note Вывод команды 19 | 20 | {dedent` 21 | CERTIFICATE EXPIRES RESIDUAL TIME CERTIFICATE AUTHORITY EXTERNALLY MANAGED 22 | apiserver-etcd-client Oct 22, 2025 22:06 UTC 364d etcd-ca no `} 23 | 24 | ::: 25 | 26 |
27 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/certificates/components/kubeAPI/etcdClient/kubeadm.mdx: -------------------------------------------------------------------------------- 1 | import { CUSTOM_VALUE } from '@site/src/constants/kubernetes/customValue' 2 | 3 | import CodeBlock from '@theme/CodeBlock' 4 | import dedent from 'ts-dedent' 5 | 6 |

Генерация сертификатов

7 | 8 | {dedent` 9 | kubeadm init phase certs apiserver-etcd-client \\ 10 | --config=${CUSTOM_VALUE.kubeadmBaseConfigPath.value}/kubeadm.yaml 11 | `} 12 | 13 | 14 | :::note 15 | После выполнения команд получаем следующий вывод. 16 | 17 | 18 | {dedent` 19 | #### Генерация сертификатов 20 | [certs] Generating "apiserver-etcd-client" certificate and key 21 | `} 22 | 23 | ::: 24 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/certificates/components/kubeAPI/etcdClient/main.mdx: -------------------------------------------------------------------------------- 1 | import TabItem from '@theme/TabItem' 2 | import Tabs from '@theme/Tabs' 3 | import Openssl from '@site/docs/tech-docs/kubernetes/certificates/components/kubeAPI/etcdClient/openssl.mdx' 4 | import Kubeadm from '@site/docs/tech-docs/kubernetes/certificates/components/kubeAPI/etcdClient/kubeadm.mdx' 5 | 6 | import StatusOpenssl from '@site/docs/tech-docs/kubernetes/certificates/components/kubeAPI/etcdClient/checks/statusOpenssl.mdx' 7 | import StatusKubeadm from '@site/docs/tech-docs/kubernetes/certificates/components/kubeAPI/etcdClient/checks/statusKubeadm.mdx' 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/certificates/components/kubeAPI/frontProxyClient/checks/statusKubeadm.mdx: -------------------------------------------------------------------------------- 1 | import CodeBlock from '@theme/CodeBlock' 2 | import dedent from 'ts-dedent' 3 | 4 | import { CUSTOM_VALUE } from '@site/src/constants/kubernetes/customValue' 5 | 6 |
7 | Проверка готовности сертификата 8 | :::warning Обратите ВНИМАНИЕ! 9 | Данная команда не способна отображать статус конкретного сертификата, только список доступных. 10 | ::: 11 | 12 | 13 | {dedent` 14 | kubeadm certs check-expiration 15 | `} 16 | 17 | 18 | :::note Вывод команды 19 | 20 | {dedent` 21 | CERTIFICATE EXPIRES RESIDUAL TIME CERTIFICATE AUTHORITY EXTERNALLY MANAGED 22 | front-proxy-client Oct 22, 2025 22:06 UTC 364d front-proxy-ca no 23 | `} 24 | 25 | ::: 26 | 27 |
28 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/certificates/components/kubeAPI/frontProxyClient/kubeadm.mdx: -------------------------------------------------------------------------------- 1 | import { CUSTOM_VALUE } from '@site/src/constants/kubernetes/customValue' 2 | 3 | import CodeBlock from '@theme/CodeBlock' 4 | import dedent from 'ts-dedent' 5 | 6 |

Генерация сертификатов

7 | 8 | {dedent` 9 | kubeadm init phase certs front-proxy-client \\ 10 | --config=${CUSTOM_VALUE.kubeadmBaseConfigPath.value}/kubeadm.yaml 11 | `} 12 | 13 | 14 | :::note 15 | После выполнения команд получаем следующий вывод. 16 | 17 | 18 | {dedent` 19 | #### Генерация сертификатов 20 | [certs] Generating "front-proxy-client" certificate and key 21 | `} 22 | 23 | ::: 24 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/certificates/components/kubeAPI/frontProxyClient/main.mdx: -------------------------------------------------------------------------------- 1 | import TabItem from '@theme/TabItem' 2 | import Tabs from '@theme/Tabs' 3 | import Openssl from '@site/docs/tech-docs/kubernetes/certificates/components/kubeAPI/frontProxyClient/openssl.mdx' 4 | import Kubeadm from '@site/docs/tech-docs/kubernetes/certificates/components/kubeAPI/frontProxyClient/kubeadm.mdx' 5 | 6 | import StatusOpenssl from '@site/docs/tech-docs/kubernetes/certificates/components/kubeAPI/frontProxyClient/checks/statusOpenssl.mdx' 7 | import StatusKubeadm from '@site/docs/tech-docs/kubernetes/certificates/components/kubeAPI/frontProxyClient/checks/statusKubeadm.mdx' 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/certificates/components/kubeAPI/kubeAPIServer/checks/statusKubeadm.mdx: -------------------------------------------------------------------------------- 1 | import CodeBlock from '@theme/CodeBlock' 2 | import dedent from 'ts-dedent' 3 | 4 | import { CUSTOM_VALUE } from '@site/src/constants/kubernetes/customValue' 5 | 6 |
7 | Проверка готовности сертификата 8 | :::warning Обратите ВНИМАНИЕ! 9 | Данная команда не способна отображать статус конкретного сертификата, только список доступных. 10 | ::: 11 | 12 | 13 | {dedent` 14 | kubeadm certs check-expiration 15 | `} 16 | 17 | 18 | :::note Вывод команды 19 | 20 | {dedent` 21 | CERTIFICATE EXPIRES RESIDUAL TIME CERTIFICATE AUTHORITY EXTERNALLY MANAGED 22 | apiserver Oct 22, 2025 22:06 UTC 364d ca no 23 | `} 24 | 25 | ::: 26 | 27 |
28 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/certificates/components/kubeAPI/kubeAPIServer/kubeadm.mdx: -------------------------------------------------------------------------------- 1 | import { CUSTOM_VALUE } from '@site/src/constants/kubernetes/customValue' 2 | 3 | import CodeBlock from '@theme/CodeBlock' 4 | import dedent from 'ts-dedent' 5 | 6 |

Генерация сертификатов

7 | 8 | {dedent` 9 | kubeadm init phase certs apiserver \\ 10 | --config=${CUSTOM_VALUE.kubeadmBaseConfigPath.value}/kubeadm.yaml 11 | `} 12 | 13 | 14 | :::note 15 | После выполнения команд получаем следующий вывод. 16 | 17 | 18 | {dedent` 19 | #### Генерация сертификатов 20 | [certs] Generating "apiserver" certificate and key 21 | [certs] apiserver serving cert is signed for DNS names [api.my-first-cluster.example.com kubernetes kubernetes.default kubernetes.default.svc kubernetes.default.svc.cluster.local master-1.my-first-cluster.example.com] and IPs [29.64.0.1 10.0.0.16] 22 | `} 23 | 24 | ::: 25 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/certificates/components/kubeAPI/kubeAPIServer/main.mdx: -------------------------------------------------------------------------------- 1 | import TabItem from '@theme/TabItem' 2 | import Tabs from '@theme/Tabs' 3 | import Openssl from '@site/docs/tech-docs/kubernetes/certificates/components/kubeAPI/kubeAPIServer/openssl.mdx' 4 | import Kubeadm from '@site/docs/tech-docs/kubernetes/certificates/components/kubeAPI/kubeAPIServer/kubeadm.mdx' 5 | 6 | import StatusOpenssl from '@site/docs/tech-docs/kubernetes/certificates/components/kubeAPI/kubeAPIServer/checks/statusOpenssl.mdx' 7 | import StatusKubeadm from '@site/docs/tech-docs/kubernetes/certificates/components/kubeAPI/kubeAPIServer/checks/statusKubeadm.mdx' 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/certificates/components/kubeAPI/kubeletClient/checks/statusKubeadm.mdx: -------------------------------------------------------------------------------- 1 | import CodeBlock from '@theme/CodeBlock' 2 | import dedent from 'ts-dedent' 3 | 4 | import { CUSTOM_VALUE } from '@site/src/constants/kubernetes/customValue' 5 | 6 |
7 | Проверка готовности сертификата 8 | :::warning Обратите ВНИМАНИЕ! 9 | Данная команда не способна отображать статус конкретного сертификата, только список доступных. 10 | ::: 11 | 12 | 13 | {dedent` 14 | kubeadm certs check-expiration 15 | `} 16 | 17 | 18 | :::note Вывод команды 19 | 20 | {dedent` 21 | CERTIFICATE EXPIRES RESIDUAL TIME CERTIFICATE AUTHORITY EXTERNALLY MANAGED 22 | apiserver-kubelet-client Oct 22, 2025 22:06 UTC 364d ca no 23 | `} 24 | 25 | ::: 26 | 27 |
28 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/certificates/components/kubeAPI/kubeletClient/kubeadm.mdx: -------------------------------------------------------------------------------- 1 | import { CUSTOM_VALUE } from '@site/src/constants/kubernetes/customValue' 2 | 3 | import CodeBlock from '@theme/CodeBlock' 4 | import dedent from 'ts-dedent' 5 | 6 |

Генерация сертификатов

7 | 8 | {dedent` 9 | kubeadm init phase certs apiserver-kubelet-client \\ 10 | --config=${CUSTOM_VALUE.kubeadmBaseConfigPath.value}/kubeadm.yaml 11 | `} 12 | 13 | 14 | :::note 15 | После выполнения команд получаем следующий вывод. 16 | 17 | 18 | {dedent` 19 | #### Генерация сертификатов 20 | [certs] Generating "apiserver-kubelet-client" certificate and key 21 | `} 22 | 23 | ::: 24 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/certificates/components/kubeAPI/kubeletClient/main.mdx: -------------------------------------------------------------------------------- 1 | import TabItem from '@theme/TabItem' 2 | import Tabs from '@theme/Tabs' 3 | import Openssl from '@site/docs/tech-docs/kubernetes/certificates/components/kubeAPI/kubeletClient/openssl.mdx' 4 | import Kubeadm from '@site/docs/tech-docs/kubernetes/certificates/components/kubeAPI/kubeletClient/kubeadm.mdx' 5 | 6 | import StatusOpenssl from '@site/docs/tech-docs/kubernetes/certificates/components/kubeAPI/kubeletClient/checks/statusOpenssl.mdx' 7 | import StatusKubeadm from '@site/docs/tech-docs/kubernetes/certificates/components/kubeAPI/kubeletClient/checks/statusKubeadm.mdx' 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/certificates/components/kubeAPI/main.mdx: -------------------------------------------------------------------------------- 1 | import ETCDClientMain from '@site/docs/tech-docs/kubernetes/certificates/components/kubeAPI/etcdClient/main.mdx' 2 | import KubeletClientMain from '@site/docs/tech-docs/kubernetes/certificates/components/kubeAPI/kubeletClient/main.mdx' 3 | import FrontProxyClientMain from '@site/docs/tech-docs/kubernetes/certificates/components/kubeAPI/frontProxyClient/main.mdx' 4 | import KubeAPIServerMain from '@site/docs/tech-docs/kubernetes/certificates/components/kubeAPI/kubeAPIServer/main.mdx' 5 | 6 | ## 5.2.2.2.3. K8S-API client > Etcd 7 | 8 | 9 | ## 5.2.2.2.4. K8S-API client > Kubelet 10 | 11 | 12 | ## 5.2.2.2.5. K8S-API server 13 | 14 | 15 | ## 5.2.2.2.6. FrontProxy client > K8S-API 16 | 17 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/certificates/components/kubeControllerManager/kubeAPIClient/checks/statusKubeadm.mdx: -------------------------------------------------------------------------------- 1 | import CodeBlock from '@theme/CodeBlock' 2 | import dedent from 'ts-dedent' 3 | 4 | import { CUSTOM_VALUE } from '@site/src/constants/kubernetes/customValue' 5 | 6 |
7 | Проверка готовности сертификата 8 | :::warning Обратите ВНИМАНИЕ! 9 | Данная команда не способна отображать статус конкретного сертификата, только список доступных. 10 | ::: 11 | 12 | 13 | {dedent` 14 | kubeadm certs check-expiration 15 | `} 16 | 17 | 18 | :::note Вывод команды 19 | 20 | {dedent` 21 | CERTIFICATE EXPIRES RESIDUAL TIME CERTIFICATE AUTHORITY EXTERNALLY MANAGED 22 | controller-manager.conf Oct 22, 2025 22:06 UTC 364d kubernetes no 23 | `} 24 | 25 | ::: 26 | 27 |
28 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/certificates/components/kubeControllerManager/kubeAPIClient/kubeadm.mdx: -------------------------------------------------------------------------------- 1 | import { CUSTOM_VALUE } from '@site/src/constants/kubernetes/customValue' 2 | 3 | import CodeBlock from '@theme/CodeBlock' 4 | import dedent from 'ts-dedent' 5 | 6 |

Генерация сертификатов

7 | 8 | {dedent` 9 | kubeadm init phase kubeconfig controller-manager \\ 10 | --config=${CUSTOM_VALUE.kubeadmBaseConfigPath.value}/kubeadm.yaml 11 | `} 12 | 13 | 14 | :::note 15 | После выполнения команд получаем следующий вывод. 16 | 17 | 18 | {dedent` 19 | #### Генерация сертификатов 20 | [kubeconfig] Writing "controller-manager.conf" kubeconfig file 21 | `} 22 | 23 | ::: 24 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/certificates/components/kubeControllerManager/kubeAPIClient/main.mdx: -------------------------------------------------------------------------------- 1 | import TabItem from '@theme/TabItem' 2 | import Tabs from '@theme/Tabs' 3 | import Openssl from '@site/docs/tech-docs/kubernetes/certificates/components/kubeControllerManager/kubeAPIClient/openssl.mdx' 4 | import Kubeadm from '@site/docs/tech-docs/kubernetes/certificates/components/kubeControllerManager/kubeAPIClient/kubeadm.mdx' 5 | import Kubeconfig from '@site/docs/tech-docs/kubernetes/certificates/components/kubeControllerManager/kubeAPIClient/kubeconfig.mdx' 6 | 7 | import StatusOpenssl from '@site/docs/tech-docs/kubernetes/certificates/components/kubeControllerManager/kubeAPIClient/checks/statusOpenssl.mdx' 8 | import StatusKubeadm from '@site/docs/tech-docs/kubernetes/certificates/components/kubeControllerManager/kubeAPIClient/checks/statusKubeadm.mdx' 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/certificates/components/kubeControllerManager/main.mdx: -------------------------------------------------------------------------------- 1 | import KubeAPIClient from '@site/docs/tech-docs/kubernetes/certificates/components/kubeControllerManager/kubeAPIClient/main.mdx' 2 | 3 | ## 5.2.2.2.9. Controller Manager client > K8S-API 4 | 5 | 6 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/certificates/components/kubeScheduler/kubeAPIClient/checks/statusKubeadm.mdx: -------------------------------------------------------------------------------- 1 | import CodeBlock from '@theme/CodeBlock' 2 | import dedent from 'ts-dedent' 3 | 4 | import { CUSTOM_VALUE } from '@site/src/constants/kubernetes/customValue' 5 | 6 |
7 | Проверка готовности сертификата 8 | :::warning Обратите ВНИМАНИЕ! 9 | Данная команда не способна отображать статус конкретного сертификата, только список доступных. 10 | ::: 11 | 12 | 13 | {dedent` 14 | kubeadm certs check-expiration 15 | `} 16 | 17 | 18 | :::note Вывод команды 19 | 20 | {dedent` 21 | CERTIFICATE EXPIRES RESIDUAL TIME CERTIFICATE AUTHORITY EXTERNALLY MANAGED 22 | scheduler.conf Oct 22, 2025 22:06 UTC 364d kubernetes no 23 | `} 24 | 25 | ::: 26 | 27 |
28 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/certificates/components/kubeScheduler/kubeAPIClient/kubeadm.mdx: -------------------------------------------------------------------------------- 1 | import dedent from 'ts-dedent' 2 | import CodeBlock from '@theme/CodeBlock' 3 | import { CUSTOM_VALUE } from '@site/src/constants/kubernetes/customValue' 4 | 5 |

Генерация сертификатов

6 | 7 | {dedent` 8 | kubeadm init phase kubeconfig scheduler \\ 9 | --config=${CUSTOM_VALUE.kubeadmBaseConfigPath.value}/kubeadm.yaml 10 | `} 11 | 12 | 13 | :::note 14 | После выполнения команд получаем следующий вывод. 15 | 16 | 17 | {dedent` 18 | #### Генерация Kube Scheduler сертификатов 19 | [kubeconfig] Writing "scheduler.conf" kubeconfig file 20 | `} 21 | 22 | ::: 23 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/certificates/components/kubeScheduler/kubeAPIClient/main.mdx: -------------------------------------------------------------------------------- 1 | import TabItem from '@theme/TabItem' 2 | import Tabs from '@theme/Tabs' 3 | import Openssl from '@site/docs/tech-docs/kubernetes/certificates/components/kubeScheduler/kubeAPIClient/openssl.mdx' 4 | import Kubeadm from '@site/docs/tech-docs/kubernetes/certificates/components/kubeScheduler/kubeAPIClient/kubeadm.mdx' 5 | import Kubeconfig from '@site/docs/tech-docs/kubernetes/certificates/components/kubeScheduler/kubeAPIClient/kubeconfig.mdx' 6 | 7 | import StatusOpenssl from '@site/docs/tech-docs/kubernetes/certificates/components/kubeScheduler/kubeAPIClient/checks/statusOpenssl.mdx' 8 | import StatusKubeadm from '@site/docs/tech-docs/kubernetes/certificates/components/kubeScheduler/kubeAPIClient/checks/statusKubeadm.mdx' 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/certificates/components/kubeScheduler/main.mdx: -------------------------------------------------------------------------------- 1 | import KubeAPIClient from '@site/docs/tech-docs/kubernetes/certificates/components/kubeScheduler/kubeAPIClient/main.mdx' 2 | 3 | 4 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/certificates/components/kubelet/kubeAPIClient/checks/statusKubeadm.mdx: -------------------------------------------------------------------------------- 1 |
2 | Проверка готовности сертификата 3 | :::warning Обратите ВНИМАНИЕ! 4 | kubeadm не отображает статус сертификата, используемого компонентом `kubelet`. 5 | ::: 6 |
7 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/certificates/components/kubelet/kubeAPIClient/main.mdx: -------------------------------------------------------------------------------- 1 | import TabItem from '@theme/TabItem' 2 | import Tabs from '@theme/Tabs' 3 | import Openssl from '@site/docs/tech-docs/kubernetes/certificates/components/kubelet/kubeAPIClient/openssl.mdx' 4 | import Kubeadm from '@site/docs/tech-docs/kubernetes/certificates/components/kubelet/kubeAPIClient/kubeadm.mdx' 5 | import Kubeconfig from '@site/docs/tech-docs/kubernetes/certificates/components/kubelet/kubeAPIClient/kubeconfig.mdx' 6 | 7 | import StatusOpenssl from '@site/docs/tech-docs/kubernetes/certificates/components/kubelet/kubeAPIClient/checks/statusOpenssl.mdx' 8 | import StatusKubeadm from '@site/docs/tech-docs/kubernetes/certificates/components/kubelet/kubeAPIClient/checks/statusKubeadm.mdx' 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/certificates/components/kubelet/kubeletServer/checks/statusKubeadm.mdx: -------------------------------------------------------------------------------- 1 |
2 | Проверка готовности сертификата 3 | :::warning Обратите ВНИМАНИЕ! 4 | kubeadm не отображает статус сертификата, используемого компонентом `kubelet`. 5 | ::: 6 |
7 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/certificates/components/kubelet/kubeletServer/main.mdx: -------------------------------------------------------------------------------- 1 | import TabItem from '@theme/TabItem' 2 | import Tabs from '@theme/Tabs' 3 | import Openssl from '@site/docs/tech-docs/kubernetes/certificates/components/kubelet/kubeletServer/openssl.mdx' 4 | import Kubeadm from '@site/docs/tech-docs/kubernetes/certificates/components/kubelet/kubeletServer/kubeadm.mdx' 5 | import StatusOpenssl from '@site/docs/tech-docs/kubernetes/certificates/components/kubelet/kubeletServer/checks/statusOpenssl.mdx' 6 | import StatusKubeadm from '@site/docs/tech-docs/kubernetes/certificates/components/kubelet/kubeletServer/checks/statusKubeadm.mdx' 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/certificates/components/kubelet/main.mdx: -------------------------------------------------------------------------------- 1 | import KubeAPIClient from '@site/docs/tech-docs/kubernetes/certificates/components/kubelet/kubeAPIClient/main.mdx' 2 | import KubeletServer from '@site/docs/tech-docs/kubernetes/certificates/components/kubelet/kubeletServer/main.mdx' 3 | 4 | ## 5.2.2.2.1. Kubelet client > K8S-API certificates 5 | 6 | 7 | 8 | ## 5.2.2.2.2. Kubelet server 9 | 10 | 11 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/certificates/examination/allExamination.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: all-examination 3 | --- 4 | 5 | import AllExaminationComponent from '@site/docs/tech-docs/kubernetes/certificates/examination/allExaminationComponent.mdx' 6 | 7 | # 5.2.2.5. Проверка 8 | 9 | 10 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/certificates/examination/allExaminationComponent.mdx: -------------------------------------------------------------------------------- 1 | import KubeadmExamination from '@site/docs/tech-docs/kubernetes/certificates/examination/examinationKubeadmComponent.mdx' 2 | import OpensslExamination from '@site/docs/tech-docs/kubernetes/certificates/examination/examinationOpensslComponent.mdx' 3 | import TabItem from '@theme/TabItem' 4 | import Tabs from '@theme/Tabs' 5 | 6 | > Этот раздел посвящён проверке корректности созданных сертификатов и ключей, а также соответствию между ними. Это важно для устранения ошибок до запуска компонентов Kubernetes. 7 | 8 |
9 | 10 |
11 |

Проверка блока сертификатов

12 |

● Не обязателен к применению

13 |
14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/certificates/examination/examination.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: examination 3 | --- 4 | 5 | import ExaminationComponent from '@site/docs/tech-docs/kubernetes/certificates/examination/examinationComponent.mdx' 6 | 7 | # 5.2.2.5. Проверка 8 | 9 | 10 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/certificates/examination/examinationComponent.mdx: -------------------------------------------------------------------------------- 1 | import KubeadmExamination from '@site/docs/tech-docs/kubernetes/certificates/examination/examinationKubeadmComponent.mdx' 2 | import OpensslExamination from '@site/docs/tech-docs/kubernetes/certificates/examination/examinationOpensslComponent.mdx' 3 | import TabItem from '@theme/TabItem' 4 | import Tabs from '@theme/Tabs' 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/certificates/initAll.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: init-all 3 | --- 4 | 5 | import InitKubeconfigGen from '@site/docs/tech-docs/kubernetes/certificates/components/_kubeadm/initAllKubeconfigGen.mdx' 6 | import InitCertsGen from '@site/docs/tech-docs/kubernetes/certificates/components/_kubeadm/initAllCertsGen.mdx' 7 | 8 | # 5.2.2.0.1. Инициализация серт-ов 9 | 10 | :::warning Обратите внимание! 11 | Данная команда генерирует все сертификаты для управляющего контура, в том числе и корневые сертификаты. 12 | ::: 13 | 14 | 15 | ## 5.2.2.0.1.1. Генерация сертификатов 16 | 17 | 18 | ## 5.2.2.0.1.2. Генерация Kubeconfigs 19 | 20 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/certificates/joinAll.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: join-all 3 | --- 4 | 5 | import JoinCertsGen from '@site/docs/tech-docs/kubernetes/certificates/components/_kubeadm/joinAllCertsGen.mdx' 6 | import JoinKubeconfigGen from '@site/docs/tech-docs/kubernetes/certificates/components/_kubeadm/joinAllKubeconfigGen.mdx' 7 | import DownloadCA from '@site/docs/tech-docs/kubernetes/certificates/center-authority/downloadCA.mdx' 8 | 9 | # 5.2.2.0.2. Инициализация серт-ов 10 | 11 | :::warning 12 | Этот раздел описывает процесс выгрузки корневых сертификатов из управляющего контура Kubernetes для последующего добавления нового управляющего (`master`) узла. 13 | ::: 14 | 15 | 16 | ## 5.2.2.0.2.1. Выгрузка ЦА 17 | 18 | 19 | ## 5.2.2.0.2.2. Заказ сертификатов 20 | 21 | 22 | ## 5.2.2.0.2.3. Заказ kubeconfigs 23 | 24 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/certificates/service-account/allServiceAccount.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: all-service-account 3 | --- 4 | 5 | import AllServiceAccountComponent from '@site/docs/tech-docs/kubernetes/certificates/service-account/allServiceAccountComponent.mdx' 6 | 7 | # 5.2.2.4. Сервис Аккаунт 8 | 9 | 10 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/certificates/service-account/serviceAccount.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: service-account 3 | --- 4 | 5 | import ServiceAccount from '@site/docs/tech-docs/kubernetes/certificates/service-account/serviceAccountComponent.mdx' 6 | 7 | # 5.2.2.4. Сервис Аккаунт 8 | 9 | > Service accounts в Kubernetes предоставляют механизм аутентификации для приложений внутри кластера при обращении к API-серверу. Приватный ключ, указываемый в компонентах kube-apiserver и kube-controller-manager, используется для подписания токенов этих аккаунтов. Это обеспечивает безопасное взаимодействие между сервисами, позволяя контролировать и ограничивать доступ к ресурсам кластера в соответствии с заданными правами по модели RBAC/ABAC. 10 | 11 | ## 5.2.2.4.1. Генерация приватных ключей 12 | 13 | 14 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/certificates/service-account/serviceAccountComponent.mdx: -------------------------------------------------------------------------------- 1 | import TabItem from '@theme/TabItem' 2 | import Tabs from '@theme/Tabs' 3 | import ServiceAccountHardWayComponent from '@site/docs/tech-docs/kubernetes/certificates/service-account/serviceAccountHardWayComponent.mdx' 4 | import ServiceAccountKubeadmComponent from '@site/docs/tech-docs/kubernetes/certificates/service-account/serviceAccountKubeadmComponent.mdx' 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/certificates/service-account/serviceAccountHardWayComponent.mdx: -------------------------------------------------------------------------------- 1 | import CodeBlock from '@theme/CodeBlock' 2 | import dedent from 'ts-dedent' 3 | import { CERTIFICATES } from '@site/src/constants/kubernetes/certs' 4 | 5 | 6 | {dedent` 7 | openssl genpkey \\ 8 | -algorithm RSA \\ 9 | -out ${CERTIFICATES.kubernetesSA.keyPath} \\ 10 | -pkeyopt rsa_keygen_bits:2048 11 | `} 12 | 13 | 14 | 15 | {dedent` 16 | openssl rsa \\ 17 | -pubout \\ 18 | -in ${CERTIFICATES.kubernetesSA.keyPath} \\ 19 | -out ${CERTIFICATES.kubernetesSA.crtPath} 20 | `} 21 | 22 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/certificates/service-account/serviceAccountKubeadmComponent.mdx: -------------------------------------------------------------------------------- 1 | import CodeBlock from '@theme/CodeBlock' 2 | import dedent from 'ts-dedent' 3 | 4 | 5 | {dedent` 6 | kubeadm init phase certs sa 7 | `} 8 | 9 | 10 | :::note Вывод команды 11 | 12 | > После выполнения команд мы получаем следующий вывод. 13 | 14 | 15 | {dedent` 16 | #### Генерация Kube API сертификатов 17 | [certs] Generating "sa" key and public key 18 | `} 19 | 20 | ::: 21 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/allComponentsReady.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: all-components-ready 3 | --- 4 | 5 | import AllComponentsReadyComponent from '@site/docs/tech-docs/kubernetes/components/allComponentsReadyComponent.mdx' 6 | 7 | # 5.2.1.5. Проверка 8 | 9 | 10 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/allInstall.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: all-install 3 | --- 4 | 5 | import AllInstallComponent from '@site/docs/tech-docs/kubernetes/components/allInstallComponent.mdx' 6 | 7 | # 5.2.1.2. Установка ПО 8 | 9 | 10 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/allSetup.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: all-setup 3 | --- 4 | 5 | import AllSetupComponent from '@site/docs/tech-docs/kubernetes/components/allSetupComponent.mdx' 6 | 7 | # 5.2.1.3. Настройка ПО 8 | 9 | 10 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/allStaticPods.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: all-static-pods-cp 3 | --- 4 | 5 | import AllStaticPodsCPComponent from '@site/docs/tech-docs/kubernetes/components/allStaticPodsCPPhasesComponent.mdx' 6 | import AllStaticPodsETCDComponent from '@site/docs/tech-docs/kubernetes/components/allStaticPodsETCDComponent.mdx' 7 | 8 | # 5.2.1.4. Настройка Static Pods 9 | 10 | ## 5.2.1.4.1. Kuberentes 11 | 12 | 13 | 14 | ## 5.2.1.4.2. ETCD 15 | 16 | 17 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/componentsReady.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: components-ready 3 | --- 4 | 5 | import ComponentReady from '@site/docs/tech-docs/kubernetes/components/componentsReadyComponent.mdx' 6 | 7 | 8 | # 5.2.1.4.7. Проверка 9 | :::warning 10 | **Обратите внимание:** в данном разделе рассматривается совокупность факторов, определяющих готовность узла к развертыванию управляющего контура. 11 | ::: 12 | 13 | 14 | ## 5.2.1.4.7.1 Проверка готовности окружения 15 | 16 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/componentsReadyComponent.mdx: -------------------------------------------------------------------------------- 1 | import Tabs from '@theme/Tabs' 2 | import TabItem from '@theme/TabItem' 3 | import ComponentsReadyInitComponent from '@site/docs/tech-docs/kubernetes/components/componentsReadyInitComponent.mdx' 4 | import ComponentsReadyJoinComponent from '@site/docs/tech-docs/kubernetes/components/componentsReadyJoinComponent.mdx' 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/containerd/checkBIN.mdx: -------------------------------------------------------------------------------- 1 | import LifecycleDownloadStatus from '@site/docs/tech-docs/kubernetes/components/containerd/lifecycleDownloadStatus.mdx' 2 | 3 |

Проверка установки

4 | 5 |
6 | Проверка установки 7 | 8 |
9 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/containerd/checkComponent.mdx: -------------------------------------------------------------------------------- 1 | import StatusSystemdUnit from '@site/docs/tech-docs/kubernetes/components/containerd/checks/statusSystemdUnit.mdx' 2 | import StatusConfigFiles from '@site/docs/tech-docs/kubernetes/components/containerd/checks/statusConfigFiles.mdx' 3 | 4 |

Проверка настройки

5 | 6 |
7 | Проверка настройки 8 | 9 | 10 |
11 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/containerd/checks/statusBinVersion.mdx: -------------------------------------------------------------------------------- 1 | import dedent from 'ts-dedent' 2 | import CodeBlock from '@theme/CodeBlock' 3 | 4 | 5 | {dedent` 6 | containerd --version 7 | `} 8 | 9 | 10 | :::note Вывод команды 11 | 12 | 13 | {dedent` 14 | containerd github.com/containerd/containerd v1.7.19 2bf793ef6dc9a18e00cb12efb64355c2c9d5eb41 15 | `} 16 | 17 | ::: 18 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/containerd/checks/statusConfigFiles.mdx: -------------------------------------------------------------------------------- 1 | import dedent from 'ts-dedent' 2 | import CodeBlock from '@theme/CodeBlock' 3 | 4 | 5 | {dedent` 6 | tree /etc/containerd/ 7 | `} 8 | 9 | 10 | :::note Вывод команды 11 | 12 | 13 | {dedent` 14 | /etc/containerd/ 15 | ├── certs.d 16 | ├── conf.d 17 | │   └── cloud.toml 18 | └── config.toml 19 | `} 20 | 21 | ::: 22 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/containerd/componentReady.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: component-ready 3 | --- 4 | 5 | import ComponentReadyComponent from '@site/docs/tech-docs/kubernetes/components/containerd/componentReadyComponent.mdx' 6 | 7 | # 5.2.1.4.1. Containerd 8 | 9 | 10 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/containerd/componentReadyComponent.mdx: -------------------------------------------------------------------------------- 1 | import StatusSystemdUnit from '@site/docs/tech-docs/kubernetes/components/containerd/checks/statusSystemdUnit.mdx' 2 | import StatusConfigFiles from '@site/docs/tech-docs/kubernetes/components/containerd/checks/statusConfigFiles.mdx' 3 | import StatusBinFiles from '@site/docs/tech-docs/kubernetes/components/containerd/checks/statusBinFiles.mdx' 4 | import StatusBinVersion from '@site/docs/tech-docs/kubernetes/components/containerd/checks/statusBinVersion.mdx' 5 | 6 |

Этапы проверки

7 | 8 | - Исполняемые файлы существуют. 9 | - Конфигурационные файлы существуют. 10 | - Версия исполняемого файла корректна. 11 | - Статус Systemd Unit. 12 | 13 |

Исполняемые файлы

14 | 15 | 16 | 17 |

Конфигурационные файлы

18 | 19 | 20 | 21 |

Версия исполняемого файла

22 | 23 | 24 | 25 |

Статус Systemd Unit

26 | 27 | 28 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/containerd/lifecycleDownload.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: lifecycle 3 | --- 4 | 5 | import LifecycleDownloadComponent from '@site/docs/tech-docs/kubernetes/components/containerd/lifecycleDownloadComponent.mdx' 6 | 7 | # 5.2.1.2.1. Containerd 8 | 9 | 10 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/containerd/lifecycleDownloadComponent.mdx: -------------------------------------------------------------------------------- 1 | import DownloadBIN from '@site/docs/tech-docs/kubernetes/components/containerd/payload/downloadBIN.mdx' 2 | 3 |

Этапы установки компонента

4 | 5 | - Создание рабочих директорий. 6 | - Переменные окружения. 7 | - Инструкция загрузки. 8 | - Настройка прав. 9 | - Сервис загрузки. 10 | - Запуск сервиса загрузки. 11 | 12 | 13 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/containerd/lifecycleDownloadStatus.mdx: -------------------------------------------------------------------------------- 1 | import StatusBinFiles from '@site/docs/tech-docs/kubernetes/components/containerd/checks/statusBinFiles.mdx' 2 | import StatusBinVersion from '@site/docs/tech-docs/kubernetes/components/containerd/checks/statusBinVersion.mdx' 3 | 4 |

Исполняемые файлы

5 | 6 | 7 | 8 |

Версия исполняемого файла

9 | 10 | 11 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/containerd/lifecycleSettings.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: lifecycle-settings 3 | --- 4 | 5 | import LifecycleSettingsComponent from '@site/docs/tech-docs/kubernetes/components/containerd/lifecycleSettingsComponent.mdx' 6 | 7 | # 5.2.1.3.1. Containerd 8 | 9 | 10 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/containerd/lifecycleSettingsComponent.mdx: -------------------------------------------------------------------------------- 1 | import StartSystemdUnit from '@site/docs/tech-docs/kubernetes/components/containerd/payload/startSystemdUnit.mdx' 2 | import SetupSystemdUnit from '@site/docs/tech-docs/kubernetes/components/containerd/payload/setupSystemdUnit.mdx' 3 | import ConfigFiles from '@site/docs/tech-docs/kubernetes/components/containerd/payload/configFiles.mdx' 4 | 5 |

Этапы настройки компонента

6 | 7 | - Конфигурация компонента 8 | - Настройка Systemd Unit компонента 9 | - Старт Systemd Unit 10 | 11 | :::warning Обратите внимание! 12 | Данный раздел зависит от следующих документов: 13 | 14 | - [Containerd Install](../containerd/lifecycleDownload.mdx). 15 | - [Runc Install](../runc/lifecycleDownload.mdx). 16 | ::: 17 | 18 |

Конфигурация компонента

19 | 20 | 21 | 22 |

Настройка Systemd Unit компонента

23 | 24 | 25 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/containerd/lifecycleSettingsStatus.mdx: -------------------------------------------------------------------------------- 1 | import StatusConfigFiles from '@site/docs/tech-docs/kubernetes/components/containerd/checks/statusConfigFiles.mdx' 2 | 3 |

Конфигурационные файлы

4 | 5 | 6 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/containerd/payload/dir.mdx: -------------------------------------------------------------------------------- 1 | import dedent from 'ts-dedent' 2 | import CodeBlock from '@theme/CodeBlock' 3 | 4 | 5 | {dedent` 6 | mkdir -p /etc/containerd/ 7 | mkdir -p /etc/containerd/conf.d/ 8 | mkdir -p /etc/containerd/certs.d/ 9 | `} 10 | 11 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/containerd/payload/startSystemdUnit.mdx: -------------------------------------------------------------------------------- 1 | import dedent from 'ts-dedent' 2 | import CodeBlock from '@theme/CodeBlock' 3 | 4 | 5 | {dedent` 6 | systemctl enable containerd 7 | systemctl start containerd 8 | `} 9 | 10 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/controllerManager/componentReady.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: component-ready 3 | --- 4 | 5 | # 5.2.1.4.8. Kube-Controller-Manager 6 | 7 | ## 5.2.1.4.8.1. Этапы проверки 8 | - Исполняемые файлы существуют. 9 | - Конфигурационные файлы существуют. 10 | - Статус Systemd Unit. 11 | 12 | 13 | ## 5.2.1.4.8.2. Исполняемые файлы 14 | 15 | 16 | 17 | ## 5.2.1.4.8.3. Конфигурационные файлы 18 | 19 | 20 | 21 | ## 5.2.1.4.8.4. Статус Systemd Unit 22 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/controllerManager/kubeadm.mdx: -------------------------------------------------------------------------------- 1 | 2 | import { CUSTOM_VALUE } from '@site/src/constants/kubernetes/customValue' 3 | 4 | import CodeBlock from '@theme/CodeBlock' 5 | import dedent from 'ts-dedent' 6 | 7 | 8 |

Генерация манифеста

9 | 10 | {dedent` 11 | kubeadm init phase control-plane controller-manager \\ 12 | --config=${CUSTOM_VALUE.kubeadmBaseConfigPath.value}/kubeadm.yaml 13 | `} 14 | 15 | 16 | 17 | :::note 18 | 19 | {dedent` 20 | #### Kube API 21 | [control-plane] Creating static Pod manifest for "kube-controller-manager" 22 | `} 23 | 24 | ::: 25 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/controllerManager/setup.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: controller-settings 3 | --- 4 | 5 | import SetupInit from '@site/docs/tech-docs/kubernetes/components/controllerManager/setupInitComponent.mdx' 6 | import SetupJoin from '@site/docs/tech-docs/kubernetes/components/controllerManager/setupJoinComponent.mdx' 7 | 8 | # 5.2.1.3.5.1.2. Kube-Controller-Manager 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/controllerManager/setupInitComponent.mdx: -------------------------------------------------------------------------------- 1 | import TabItem from '@theme/TabItem' 2 | import Tabs from '@theme/Tabs' 3 | 4 | import StaticPodHW from '@site/docs/tech-docs/kubernetes/components/controllerManager/staticPod.mdx' 5 | import StaticPodKubeadm from '@site/docs/tech-docs/kubernetes/components/controllerManager/kubeadm.mdx' 6 | 7 | :::warning Обратите внимание! 8 | Данный раздел является опциональным и предназначен только для случаев, когда необходимо настроить данный ресурс отдельно от остальных. 9 | ::: 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/controllerManager/setupJoinComponent.mdx: -------------------------------------------------------------------------------- 1 | import TabItem from '@theme/TabItem' 2 | import Tabs from '@theme/Tabs' 3 | 4 | import StaticPodHW from '@site/docs/tech-docs/kubernetes/components/controllerManager/staticPod.mdx' 5 | import StaticPodKubeadm from '@site/docs/tech-docs/kubernetes/components/_kubeadm/joinAllStaticPodsGen.mdx' 6 | 7 | :::warning Обратите внимание! 8 | Данный раздел является опциональным и предназначен только для случаев, когда необходимо настроить данный ресурс отдельно от остальных. 9 | ::: 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/crictl/about.mdx: -------------------------------------------------------------------------------- 1 | **Описание**: Crictl — это инструмент командной строки для взаимодействия с контейнерной средой, использующей интерфейс CRI. Crictl позволяет администратору выполнять операции с контейнерами и подами, такие как создание, запуск, остановка и получение информации о контейнерах, которые управляются через CRI. 2 | 3 | #### Функции 4 | - Отправка команд в контейнерные среды, использующие CRI. 5 | - Управление жизненным циклом контейнеров. 6 | - Получение информации о контейнерах, подах и их статусе. 7 | 8 | #### Особенности 9 | - Удобный инструмент для диагностики и отладки контейнерных приложений в Kubernetes. 10 | - Предоставляет функциональность, аналогичную стандартным инструментам Docker, но ориентированную на CRI. -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/crictl/checkBIN.mdx: -------------------------------------------------------------------------------- 1 | import StatusVersion from '@site/docs/tech-docs/kubernetes/components/crictl/checks/statusBinVersion.mdx' 2 | import StatusDownload from '@site/docs/tech-docs/kubernetes/components/crictl/checks/statusBinFiles.mdx' 3 | 4 |

Проверка установки

5 | 6 |
7 | Проверка установки 8 | 9 | 10 | 11 |
12 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/crictl/checkComponent.mdx: -------------------------------------------------------------------------------- 1 | import StatusConfigFiles from '@site/docs/tech-docs/kubernetes/components/crictl/checks/statusConfigFiles.mdx' 2 | 3 |

Проверка настройки

4 | 5 |
6 | Проверка настройки 7 | 8 |
9 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/crictl/checks/status.mdx: -------------------------------------------------------------------------------- 1 | import dedent from 'ts-dedent' 2 | import CodeBlock from '@theme/CodeBlock' 3 | 4 | 5 | {dedent` 6 | crictl ps -a 7 | `} 8 | 9 | 10 | :::note 11 | Если в выводе нет ошибок, то crictl настроен корректно и смотрит на правильный endpoint. 12 | 13 | 14 | {dedent` 15 | root@compute:/home/user# crictl ps -a 16 | CONTAINER IMAGE CREATED STATE NAME ATTEMPT POD ID POD 17 | 18 | `} 19 | 20 | 21 | ::: 22 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/crictl/checks/statusBinVersion.mdx: -------------------------------------------------------------------------------- 1 | import dedent from 'ts-dedent' 2 | import CodeBlock from '@theme/CodeBlock' 3 | 4 | 5 | {dedent` 6 | crictl --version 7 | `} 8 | 9 | 10 | :::note Вывод команды 11 | 12 | 13 | {dedent` 14 | crictl version v1.30.0 15 | `} 16 | 17 | ::: 18 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/crictl/checks/statusConfigFiles.mdx: -------------------------------------------------------------------------------- 1 | import dedent from 'ts-dedent' 2 | import CodeBlock from '@theme/CodeBlock' 3 | 4 | 5 | {dedent` 6 | ls -la /etc/crictl.yaml 7 | `} 8 | 9 | 10 | :::note Вывод команды 11 | 12 | {dedent` 13 | -rw-r--r-- 1 root root 61 Feb 18 15:18 /etc/crictl.yaml 14 | `} 15 | 16 | ::: 17 | 18 | 19 | 20 | {dedent` 21 | crictl info \| 22 | jq '.status.conditions[] \| 23 | select(.type=="RuntimeReady") \| 24 | .status' 25 | 26 | `} 27 | 28 | 29 | :::note Вывод команды 30 | 31 | {dedent` 32 | true 33 | `} 34 | 35 | ::: 36 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/crictl/componentReady.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: component-ready 3 | --- 4 | 5 | import ComponentReadyComponent from '@site/docs/tech-docs/kubernetes/components/containerd/componentReadyComponent.mdx' 6 | 7 | # 5.2.1.4.3. Crictl 8 | 9 | 10 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/crictl/componentReadyComponent.mdx: -------------------------------------------------------------------------------- 1 | import StatusConfigFiles from '@site/docs/tech-docs/kubernetes/components/containerd/checks/statusConfigFiles.mdx' 2 | import StatusBinFiles from '@site/docs/tech-docs/kubernetes/components/containerd/checks/statusBinFiles.mdx' 3 | import StatusBinVersion from '@site/docs/tech-docs/kubernetes/components/containerd/checks/statusBinVersion.mdx' 4 | 5 |

Этапы проверки

6 | 7 | - Исполняемые файлы существуют. 8 | - Конфигурационные файлы существуют. 9 | - Версия исполняемого файла корректна. 10 | 11 |

Исполняемые файлы

12 | 13 | 14 | 15 |

Конфигурационные файлы

16 | 17 | 18 | 19 |

Версия исполняемого файла

20 | 21 | 22 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/crictl/lifecycleDownload.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: lifecycle 3 | --- 4 | 5 | import LifecycleDownloadComponent from '@site/docs/tech-docs/kubernetes/components/crictl/lifecycleDownloadComponent.mdx' 6 | 7 | # 5.2.1.2.3. Crictl 8 | 9 | 10 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/crictl/lifecycleDownloadComponent.mdx: -------------------------------------------------------------------------------- 1 | import DownloadBIN from '@site/docs/tech-docs/kubernetes/components/crictl/payload/downloadBIN.mdx' 2 | 3 |

Этапы установки компонента

4 | 5 | - Создание рабочих директорий. 6 | - Переменные окружения. 7 | - Инструкция загрузки. 8 | - Настройка прав. 9 | - Сервис загрузки. 10 | - Запуск сервиса загрузки. 11 | 12 | 13 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/crictl/lifecycleDownloadStatus.mdx: -------------------------------------------------------------------------------- 1 | import StatusBinFiles from '@site/docs/tech-docs/kubernetes/components/crictl/checks/statusBinFiles.mdx' 2 | import StatusBinVersion from '@site/docs/tech-docs/kubernetes/components/crictl/checks/statusBinVersion.mdx' 3 | 4 |

Исполняемые файлы

5 | 6 | 7 | 8 |

Версия исполняемого файла

9 | 10 | 11 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/crictl/lifecycleSettings.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: lifecycle-settings 3 | --- 4 | 5 | import LifecycleSettingsComponent from '@site/docs/tech-docs/kubernetes/components/containerd/lifecycleSettingsComponent.mdx' 6 | 7 | # 5.2.1.3.1. Containerd 8 | 9 | 10 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/crictl/lifecycleSettingsComponent.mdx: -------------------------------------------------------------------------------- 1 | import ConfigFiles from '@site/docs/tech-docs/kubernetes/components/crictl/payload/configFiles.mdx' 2 | 3 |

Этапы настройки компонента

4 | 5 | - Конфигурация компонента 6 | - Настройка Systemd Unit компонента 7 | - Старт Systemd Unit 8 | 9 | :::warning Обратите внимание! 10 | Данный раздел зависит от следующих документов: 11 | 12 | - [Containerd Install](../containerd/lifecycleDownload.mdx). 13 | ::: 14 | 15 |

Конфигурация компонента

16 | 17 | 18 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/crictl/lifecycleSettingsStatus.mdx: -------------------------------------------------------------------------------- 1 | import StatusConfigFiles from '@site/docs/tech-docs/kubernetes/components/crictl/checks/statusConfigFiles.mdx' 2 | 3 |

Конфигурационные файлы

4 | 5 | 6 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/crictl/payload/configFiles.mdx: -------------------------------------------------------------------------------- 1 | import dedent from 'ts-dedent' 2 | import CodeBlock from '@theme/CodeBlock' 3 | import { CUSTOM_VALUE } from '@site/src/constants/kubernetes/customValue' 4 | import TabItem from '@theme/TabItem' 5 | import Tabs from '@theme/Tabs' 6 | 7 | 8 | 9 | 10 | 11 |

Шаблон кастомного конфигурационно файла

12 | 13 | {dedent` 14 | cat <<"EOF" > /etc/crictl.yaml 15 | runtime-endpoint: unix://${CUSTOM_VALUE.criEndpoint.value} 16 | EOF 17 | `} 18 | 19 | 20 |
21 | 22 | 23 | 24 |

Шаблон кастомного конфигурационно файла

25 | 26 | {dedent` 27 | - path: /etc/crictl.yaml 28 | owner: root:root 29 | permissions: '0644' 30 | content: | 31 | runtime-endpoint: unix://${CUSTOM_VALUE.criEndpoint.value} 32 | `} 33 | 34 | 35 |
36 | 37 |
38 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/etcd/componentReady.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: component-ready 3 | --- 4 | 5 | # 5.2.1.4.10. ETCD 6 | 7 | ## 5.2.1.4.10.1. Этапы проверки 8 | - Исполняемые файлы существуют. 9 | - Конфигурационные файлы существуют. 10 | - Статус Systemd Unit. 11 | 12 | 13 | ## 5.2.1.4.10.2. Исполняемые файлы 14 | 15 | 16 | 17 | ## 5.2.1.4.10.3. Конфигурационные файлы 18 | 19 | 20 | 21 | ## 5.2.1.4.10.4. Статус Systemd Unit 22 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/etcd/kubeadmInit.mdx: -------------------------------------------------------------------------------- 1 | import { CUSTOM_VALUE } from '@site/src/constants/kubernetes/customValue' 2 | 3 | import CodeBlock from '@theme/CodeBlock' 4 | import dedent from 'ts-dedent' 5 | 6 |

Генерация манифеста

7 | 8 | {dedent` 9 | kubeadm init phase etcd local \\ 10 | --config=${CUSTOM_VALUE.kubeadmBaseConfigPath.value}/kubeadm.yaml 11 | `} 12 | 13 | 14 | :::note 15 | 16 | 17 | {dedent` 18 | #### Kube API 19 | [etcd] Creating static Pod manifest for local etcd in "${CUSTOM_VALUE.kubernetesBaseFolderPath.value}" 20 | `} 21 | 22 | ::: 23 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/etcd/kubeadmJoin.mdx: -------------------------------------------------------------------------------- 1 | import { CUSTOM_VALUE } from '@site/src/constants/kubernetes/customValue' 2 | 3 | import CodeBlock from '@theme/CodeBlock' 4 | import dedent from 'ts-dedent' 5 | 6 |

Генерация манифеста

7 | 8 | {dedent` 9 | kubeadm join phase control-plane-join etcd \\ 10 | --config=${CUSTOM_VALUE.kubeadmBaseConfigPath.value}/kubeadm.yaml 11 | `} 12 | 13 | 14 | :::note 15 | 16 | 17 | {dedent` 18 | #### Kube API 19 | [etcd] Creating static Pod manifest for local etcd in "${CUSTOM_VALUE.kubernetesBaseFolderPath.value}" 20 | `} 21 | 22 | ::: 23 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/etcd/lifecycle.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: lifecycle 3 | --- 4 | 5 | import LifecycleDownloadComponent from '@site/docs/tech-docs/etcd/components/etcd/lifecycleDownloadComponent.mdx' 6 | 7 | # 5.2.1.2.7. ETCD 8 | 9 | 10 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/etcd/setup.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: etcd-settings 3 | --- 4 | 5 | import TabItem from '@theme/TabItem' 6 | import Tabs from '@theme/Tabs' 7 | 8 | import StaticPodHW from '@site/docs/tech-docs/kubernetes/components/etcd/staticPodInitComponent.mdx' 9 | import StaticPodKubeadm from '@site/docs/tech-docs/kubernetes/components/etcd/kubeadmInit.mdx' 10 | 11 | # 5.2.1.3.5.1.4. ETCD 12 | 13 | :::warning Обратите внимание! 14 | Данный раздел является опциональным и предназначен только для случаев, когда необходимо настроить данный ресурс отдельно от остальных. 15 | ::: 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/kubeAPI/about.mdx: -------------------------------------------------------------------------------- 1 | **Описание**: API Server является центральным компонентом управления кластером Kubernetes, предоставляющим RESTful API для взаимодействия с системой. Он обеспечивает доступ к данным кластера, их изменение и удаление, а также координирует все операции, связанные с управлением компонентами и ресурсами. API Server является связующим звеном между всеми остальными компонентами Kubernetes. 2 | 3 | #### Функции 4 | 5 | - Обработка всех входящих запросов (через REST API), включая создание, обновление и удаление ресурсов. 6 | - Взаимодействие с etcd для хранения и извлечения конфигурационных данных. 7 | - Аутентификация и авторизация запросов с помощью интеграции с RBAC/ABAC. 8 | - Обеспечение внутренней синхронизации с компонентами кластера через механизмы очередей и уведомлений. 9 | 10 | #### Интерфейсы 11 | 12 | - HTTP/HTTPS RESTful API. 13 | - WebSocket для оповещений в реальном времени (например, через Watch). 14 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/kubeAPI/componentReady.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: component-ready 3 | --- 4 | 5 | # 5.2.1.4.7. Kube-Apiserver 6 | 7 | ## 5.2.1.4.7.1. Этапы проверки 8 | - Исполняемые файлы существуют. 9 | - Конфигурационные файлы существуют. 10 | - Статус Systemd Unit. 11 | 12 | 13 | ## 5.2.1.4.7.2. Исполняемые файлы 14 | 15 | 16 | 17 | ## 5.2.1.4.7.3. Конфигурационные файлы 18 | 19 | 20 | 21 | ## 5.2.1.4.7.4. Статус Systemd Unit 22 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/kubeAPI/kubeadm.mdx: -------------------------------------------------------------------------------- 1 | 2 | import { CUSTOM_VALUE } from '@site/src/constants/kubernetes/customValue' 3 | 4 | import CodeBlock from '@theme/CodeBlock' 5 | import dedent from 'ts-dedent' 6 | 7 |

Генерация манифеста

8 | 9 | {dedent` 10 | kubeadm init phase control-plane apiserver \\ 11 | --config=${CUSTOM_VALUE.kubeadmBaseConfigPath.value}/kubeadm.yaml 12 | `} 13 | 14 | 15 | 16 | :::note 17 | 18 | {dedent` 19 | #### Kube API 20 | [control-plane] Creating static Pod manifest for "apiserver" 21 | `} 22 | 23 | ::: 24 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/kubeAPI/setup.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: api-settings 3 | --- 4 | 5 | import SetupInit from '@site/docs/tech-docs/kubernetes/components/kubeAPI/setupInitComponent.mdx' 6 | import SetupJoin from '@site/docs/tech-docs/kubernetes/components/kubeAPI/setupJoinComponent.mdx' 7 | 8 | # 5.2.1.3.5.1.1. Kube-Apiserver 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/kubeAPI/setupInitComponent.mdx: -------------------------------------------------------------------------------- 1 | import TabItem from '@theme/TabItem' 2 | import Tabs from '@theme/Tabs' 3 | 4 | import StaticPodHW from '@site/docs/tech-docs/kubernetes/components/kubeAPI/staticPod.mdx' 5 | import StaticPodKubeadm from '@site/docs/tech-docs/kubernetes/components/kubeAPI/kubeadm.mdx' 6 | 7 | :::warning Обратите внимание! 8 | Данный раздел является опциональным и предназначен только для случаев, когда необходимо настроить данный ресурс отдельно от остальных. 9 | ::: 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/kubeAPI/setupJoinComponent.mdx: -------------------------------------------------------------------------------- 1 | import TabItem from '@theme/TabItem' 2 | import Tabs from '@theme/Tabs' 3 | 4 | import StaticPodHW from '@site/docs/tech-docs/kubernetes/components/kubeAPI/staticPod.mdx' 5 | import StaticPodKubeadm from '@site/docs/tech-docs/kubernetes/components/_kubeadm/joinAllStaticPodsGen.mdx' 6 | 7 | :::warning Обратите внимание! 8 | Данный раздел является опциональным и предназначен только для случаев, когда необходимо настроить данный ресурс отдельно от остальных. 9 | ::: 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/kubeadm/checkBIN.mdx: -------------------------------------------------------------------------------- 1 | import StatusVersion from '@site/docs/tech-docs/kubernetes/components/kubeadm/checks/statusBinVersion.mdx' 2 | import StatusDownload from '@site/docs/tech-docs/kubernetes/components/kubeadm/checks/statusBinFiles.mdx' 3 | 4 |

Проверка установки

5 | 6 |
7 | Проверка установки 8 | 9 | 10 |
11 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/kubeadm/checkComponent.mdx: -------------------------------------------------------------------------------- 1 | import StatusConfigFiles from '@site/docs/tech-docs/kubernetes/components/kubeadm/checks/statusConfigFiles.mdx' 2 | 3 |

Проверка настройки

4 | 5 |
6 | Проверка настройки 7 | 8 |
9 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/kubeadm/checks/status.mdx: -------------------------------------------------------------------------------- 1 | import dedent from 'ts-dedent' 2 | import CodeBlock from '@theme/CodeBlock' 3 | 4 | 5 | {dedent` 6 | kubeadm version 7 | `} 8 | 9 | 10 | :::note 11 | Если компонент корректно установился, то при выводе команды получим аналогичный результат. 12 | 13 | 14 | {dedent` 15 | kubeadm version: &version.Info{Major:"1", Minor:"30", GitVersion:"v1.30.4", GitCommit:"a51b3b711150f57ffc1f526a640ec058514ed596", GitTreeState:"clean", BuildDate:"2024-08-14T19:02:46Z", GoVersion:"go1.22.5", Compiler:"gc", Platform:"linux/amd64"} 16 | `} 17 | 18 | ::: 19 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/kubeadm/checks/statusBinVersion.mdx: -------------------------------------------------------------------------------- 1 | import dedent from 'ts-dedent' 2 | import CodeBlock from '@theme/CodeBlock' 3 | 4 | 5 | {dedent` 6 | kubeadm version 7 | `} 8 | 9 | 10 | :::note Вывод команды 11 | 12 | 13 | {dedent` 14 | kubeadm version: &version.Info{Major:"1", Minor:"30", GitVersion:"v1.30.4", GitCommit:"a51b3b711150f57ffc1f526a640ec058514ed596", GitTreeState:"clean", BuildDate:"2024-08-14T19:02:46Z", GoVersion:"go1.22.5", Compiler:"gc", Platform:"linux/amd64"} 15 | `} 16 | 17 | ::: 18 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/kubeadm/checks/statusConfigFiles.mdx: -------------------------------------------------------------------------------- 1 | import dedent from 'ts-dedent' 2 | import CodeBlock from '@theme/CodeBlock' 3 | import { CUSTOM_VALUE } from '@site/src/constants/kubernetes/customValue' 4 | 5 | 6 | {dedent` 7 | ls -al ${CUSTOM_VALUE.kubeadmBaseConfigPath.value}/kubeadm.yaml 8 | `} 9 | 10 | 11 | :::note Вывод команды 12 | 13 | 14 | {dedent` 15 | -rw-r--r-- 1 root root 6463 Feb 18 15:20 ${CUSTOM_VALUE.kubeadmBaseConfigPath.value}/kubeadm.yaml 16 | `} 17 | 18 | ::: 19 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/kubeadm/componentReady.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: component-ready 3 | --- 4 | 5 | import ComponentReadyComponent from '@site/docs/tech-docs/kubernetes/components/containerd/componentReadyComponent.mdx' 6 | 7 | # 5.2.1.4.5. Kubeadm 8 | 9 | 10 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/kubeadm/componentReadyComponent.mdx: -------------------------------------------------------------------------------- 1 | import StatusConfigFiles from '@site/docs/tech-docs/kubernetes/components/containerd/checks/statusConfigFiles.mdx' 2 | import StatusBinFiles from '@site/docs/tech-docs/kubernetes/components/containerd/checks/statusBinFiles.mdx' 3 | import StatusBinVersion from '@site/docs/tech-docs/kubernetes/components/containerd/checks/statusBinVersion.mdx' 4 | 5 |

Этапы проверки

6 | 7 | - Исполняемые файлы существуют. 8 | - Конфигурационные файлы существуют. 9 | - Версия исполняемого файла корректна. 10 | 11 |

Исполняемые файлы

12 | 13 | 14 | 15 |

Конфигурационные файлы

16 | 17 | 18 | 19 |

Версия исполняемого файла

20 | 21 | 22 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/kubeadm/lifecycleDownload.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: lifecycle 3 | --- 4 | 5 | import LifecycleDownloadComponent from '@site/docs/tech-docs/kubernetes/components/kubeadm/lifecycleDownloadComponent.mdx' 6 | 7 | # 5.2.1.2.1. Containerd 8 | 9 | 10 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/kubeadm/lifecycleDownloadComponent.mdx: -------------------------------------------------------------------------------- 1 | import DownloadBIN from '@site/docs/tech-docs/kubernetes/components/kubeadm/payload/downloadBIN.mdx' 2 | 3 |

Этапы установки компонента

4 | 5 | - Создание рабочих директорий. 6 | - Переменные окружения. 7 | - Инструкция загрузки. 8 | - Настройка прав. 9 | - Сервис загрузки. 10 | - Запуск сервиса загрузки. 11 | 12 | 13 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/kubeadm/lifecycleDownloadStatus.mdx: -------------------------------------------------------------------------------- 1 | import StatusBinFiles from '@site/docs/tech-docs/kubernetes/components/kubeadm/checks/statusBinFiles.mdx' 2 | import StatusBinVersion from '@site/docs/tech-docs/kubernetes/components/kubeadm/checks/statusBinVersion.mdx' 3 | 4 |

Исполняемые файлы

5 | 6 | 7 | 8 |

Версия исполняемого файла

9 | 10 | 11 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/kubeadm/lifecycleSettings.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: lifecycle-settings 3 | --- 4 | 5 | import LifecycleSettingsComponent from '@site/docs/tech-docs/kubernetes/components/kubeadm/lifecycleSettingsComponent.mdx' 6 | 7 | # 5.2.1.3.3. Kubeadm 8 | 9 | 10 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/kubeadm/lifecycleSettingsComponent.mdx: -------------------------------------------------------------------------------- 1 | import ConfigFiles from '@site/docs/tech-docs/kubernetes/components/kubeadm/payload/configFiles.mdx' 2 | import DIR from '@site/docs/tech-docs/kubernetes/components/kubeadm/payload/dir.mdx' 3 | 4 |

Этапы настройки компонента

5 | 6 | - Создание рабочих директорий. 7 | - Конфигурация компонента 8 | 9 | :::warning Обратите внимание! 10 | Данный раздел зависит от следующих документов: 11 | 12 | - [Kubelet Install](../kubelet/lifecycleDownload.mdx). 13 | - [Containerd Install](../containerd/lifecycleDownload.mdx). 14 | - [Runc Install](../runc/lifecycleDownload.mdx). 15 | ::: 16 | 17 |

Создание рабочих директорий

18 | 19 | 20 | 21 |

Конфигурация компонента

22 | 23 | 24 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/kubeadm/lifecycleSettingsStatus.mdx: -------------------------------------------------------------------------------- 1 | import StatusConfigFiles from '@site/docs/tech-docs/kubernetes/components/kubeadm/checks/statusConfigFiles.mdx' 2 | 3 |

Конфигурационные файлы

4 | 5 | 6 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/kubeadm/payload/configFiles.mdx: -------------------------------------------------------------------------------- 1 | import JoinConfig from '@site/docs/tech-docs/kubernetes/components/kubeadm/configs/joinConfig.mdx' 2 | import InitConfig from '@site/docs/tech-docs/kubernetes/components/kubeadm/configs/initConfig.mdx' 3 | import InitMasterTabs from '@site/docs/tech-docs/kubernetes/setup-environments/initMaster.mdx' 4 | import SecondaryMasterTabs from '@site/docs/tech-docs/kubernetes/setup-environments/secondaryMasters.mdx' 5 | 6 | import TabItem from '@theme/TabItem' 7 | import Tabs from '@theme/Tabs' 8 | 9 | 10 | 11 | 12 | 13 |
14 | Конфигурация Kubeadm 15 | 16 | 17 |
18 |
19 | 20 | 21 |
22 | Конфигурация Kubeadm 23 | 24 | 25 |
26 | 27 |
28 | 29 |
30 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/kubeadm/payload/dir.mdx: -------------------------------------------------------------------------------- 1 | import dedent from 'ts-dedent' 2 | import CodeBlock from '@theme/CodeBlock' 3 | 4 | 5 | {dedent` 6 | mkdir -p /var/run/kubeadm/ 7 | `} 8 | 9 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/kubeadm/phases/phaseKubeadm.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: phases 3 | --- 4 | 5 | import TabItem from '@theme/TabItem' 6 | import Tabs from '@theme/Tabs' 7 | import PhaseKubeadmInit from '@site/docs/tech-docs/kubernetes/components/kubeadm/phases/phaseKubeadmInit.mdx' 8 | import PhaseKubeadmJoin from '@site/docs/tech-docs/kubernetes/components/kubeadm/phases/phaseKubeadmJoin.mdx' 9 | 10 | # 5.2.2.1. Фазы Kubeadm 11 | 12 | > **Прежде чем начать настройку кластера, надо разобраться какие этапы использует Kubeadm при инициализации ноды.** 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/kubectl/checkBIN.mdx: -------------------------------------------------------------------------------- 1 | import LifecycleDownloadStatus from '@site/docs/tech-docs/kubernetes/components/kubectl/lifecycleDownloadStatus.mdx' 2 | 3 |

Проверка установки

4 | 5 |
6 | Проверка установки 7 | 8 |
9 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/kubectl/checks/status.mdx: -------------------------------------------------------------------------------- 1 | import dedent from 'ts-dedent' 2 | import CodeBlock from '@theme/CodeBlock' 3 | 4 | 5 | {dedent` 6 | kubectl version 7 | `} 8 | 9 | 10 | :::note 11 | Если кластер запущен, вы без проблем сможете к нему подключиться и получите аналогичное состояние 12 | 13 | 14 | {dedent` 15 | Client Version: v1.30.4 16 | Kustomize Version: v5.0.4-0.20230601165947-6ce0bf390ce3 17 | The connection to the server localhost:8080 was refused - did you specify the right host or port? 18 | `} 19 | 20 | ::: 21 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/kubectl/checks/statusBinVersion.mdx: -------------------------------------------------------------------------------- 1 | import dedent from 'ts-dedent' 2 | import CodeBlock from '@theme/CodeBlock' 3 | 4 | 5 | {dedent` 6 | kubectl version 7 | `} 8 | 9 | 10 | :::note Вывод команды 11 | 12 | 13 | {dedent` 14 | Client Version: v1.30.4 15 | Kustomize Version: v5.0.4-0.20230601165947-6ce0bf390ce3 16 | `} 17 | 18 | ::: 19 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/kubectl/componentReady.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: component-ready 3 | --- 4 | 5 | import ComponentReadyComponent from '@site/docs/tech-docs/kubernetes/components/kubectl/componentReadyComponent.mdx' 6 | 7 | # 5.2.1.4.4. Kubectl 8 | 9 | 10 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/kubectl/componentReadyComponent.mdx: -------------------------------------------------------------------------------- 1 | import StatusBinFiles from '@site/docs/tech-docs/kubernetes/components/kubectl/checks/statusBinFiles.mdx' 2 | import StatusBinVersion from '@site/docs/tech-docs/kubernetes/components/kubectl/checks/statusBinVersion.mdx' 3 | 4 |

Этапы проверки

5 | 6 | - Исполняемые файлы существуют. 7 | - Конфигурационные файлы существуют. 8 | - Версия исполняемого файла корректна. 9 | - Статус Systemd Unit. 10 | 11 |

Исполняемые файлы

12 | 13 | 14 | 15 |

Версия исполняемого файла

16 | 17 | 18 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/kubectl/lifecycleDownload.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: lifecycle 3 | --- 4 | 5 | import LifecycleDownloadComponent from '@site/docs/tech-docs/kubernetes/components/kubectl/lifecycleDownloadComponent.mdx' 6 | 7 | # 5.2.1.2.4. Kubectl 8 | 9 | 10 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/kubectl/lifecycleDownloadComponent.mdx: -------------------------------------------------------------------------------- 1 | import DownloadBIN from '@site/docs/tech-docs/kubernetes/components/kubectl/payload/downloadBIN.mdx' 2 | 3 |

Этапы установки компонента

4 | 5 | - Создание рабочих директорий. 6 | - Переменные окружения. 7 | - Инструкция загрузки. 8 | - Настройка прав. 9 | - Сервис загрузки. 10 | - Запуск сервиса загрузки. 11 | 12 | 13 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/kubectl/lifecycleDownloadStatus.mdx: -------------------------------------------------------------------------------- 1 | import StatusBinFiles from '@site/docs/tech-docs/kubernetes/components/kubectl/checks/statusBinFiles.mdx' 2 | import StatusBinVersion from '@site/docs/tech-docs/kubernetes/components/kubectl/checks/statusBinVersion.mdx' 3 | 4 |

Исполняемые файлы

5 | 6 | 7 | 8 |

Версия исполняемого файла

9 | 10 | 11 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/kubelet/allServiceStart.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: all-kubelet-start 3 | --- 4 | 5 | import AllServiceStartComponent from '@site/docs/tech-docs/kubernetes/components/kubelet/allServiceStartComponent.mdx' 6 | 7 | # 5.2.3.3. Kubelet Start 8 | 9 | 10 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/kubelet/checkBIN.mdx: -------------------------------------------------------------------------------- 1 | import StatusVersion from '@site/docs/tech-docs/kubernetes/components/kubelet/checks/statusBinVersion.mdx' 2 | import StatusDownload from '@site/docs/tech-docs/kubernetes/components/kubelet/checks/statusBinFiles.mdx' 3 | 4 |

Проверка установки

5 | 6 |
7 | Проверка установки 8 | 9 | 10 |
11 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/kubelet/checkComponent.mdx: -------------------------------------------------------------------------------- 1 | import StatusSystemdUnit from '@site/docs/tech-docs/kubernetes/components/kubelet/checks/statusSystemdUnitEnabled.mdx' 2 | import StatusConfigFiles from '@site/docs/tech-docs/kubernetes/components/kubelet/checks/statusConfigFiles.mdx' 3 | 4 |

Проверка настройки

5 | 6 |
7 | Проверка настройки 8 | 9 | 10 |
11 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/kubelet/checks/statusBinVersion.mdx: -------------------------------------------------------------------------------- 1 | import dedent from 'ts-dedent' 2 | import CodeBlock from '@theme/CodeBlock' 3 | 4 | 5 | {dedent` 6 | kubelet --version 7 | `} 8 | 9 | 10 | :::note Вывод команды 11 | 12 | 13 | {dedent` 14 | Kubernetes v1.30.4 15 | `} 16 | 17 | ::: 18 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/kubelet/checks/statusSystemdUnitEnabled.mdx: -------------------------------------------------------------------------------- 1 | import dedent from 'ts-dedent' 2 | import CodeBlock from '@theme/CodeBlock' 3 | 4 | :::warning 5 | Обратите внимание, что при создании кластера с помощью ***Kubeadm*** без выполнения команд `kubeadm init` или `kubeadm join`, Systemd Unit будет добавлен в автозапуск, но будет выключен. 6 | ::: 7 | 8 | 9 | 10 | {dedent` 11 | systemctl status kubelet 12 | `} 13 | 14 | 15 | :::note Вывод команды 16 | 17 | {dedent` 18 | ○ kubelet.service - kubelet: The Kubernetes Node Agent 19 | Loaded: loaded (/usr/lib/systemd/system/kubelet.service; enabled; preset: enabled) 20 | Drop-In: /usr/lib/systemd/system/kubelet.service.d 21 | └─10-kubeadm.conf 22 | Active: inactive (dead) 23 | Docs: https://kubernetes.io/docs/ 24 | `} 25 | 26 | ::: 27 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/kubelet/componentReady.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: component-ready 3 | --- 4 | 5 | import ComponentReadyComponent from '@site/docs/tech-docs/kubernetes/components/kubelet/componentReadyComponent.mdx' 6 | 7 | # 5.2.1.4.6. Kubelet 8 | 9 | 10 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/kubelet/componentReadyComponent.mdx: -------------------------------------------------------------------------------- 1 | import StatusSystemdUnit from '@site/docs/tech-docs/kubernetes/components/kubelet/checks/statusSystemdUnitRunning.mdx' 2 | import StatusConfigFiles from '@site/docs/tech-docs/kubernetes/components/kubelet/checks/statusConfigFiles.mdx' 3 | import StatusBinFiles from '@site/docs/tech-docs/kubernetes/components/kubelet/checks/statusBinFiles.mdx' 4 | import StatusBinVersion from '@site/docs/tech-docs/kubernetes/components/kubelet/checks/statusBinVersion.mdx' 5 | 6 |

Этапы проверки

7 | 8 | - Исполняемые файлы существуют. 9 | - Конфигурационные файлы существуют. 10 | - Версия исполняемого файла корректна. 11 | - Статус Systemd Unit. 12 | 13 |

Исполняемые файлы

14 | 15 | 16 | 17 |

Конфигурационные файлы

18 | 19 | 20 | 21 |

Версия исполняемого файла

22 | 23 | 24 | 25 |

Статус Systemd Unit

26 | 27 | 28 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/kubelet/kubeadm/systemdUnitStartInit.mdx: -------------------------------------------------------------------------------- 1 | import dedent from 'ts-dedent' 2 | import CodeBlock from '@theme/CodeBlock' 3 | import { CUSTOM_VALUE } from '@site/src/constants/kubernetes/customValue' 4 | 5 | > Данная команда запускает сервис Kubelet в рамках выделенной фазы утилиты Kubeadm. 6 | 7 | :::warning Обратите внимание! 8 | Данный раздел зависит от следующих разделов: 9 | - [Kubeadm Configs](/docs/tech-docs/kubernetes/components/kubeadm/lifecycleSettings.mdx). 10 | ::: 11 | 12 |

Запуск kubelet

13 | 14 | {dedent` 15 | kubeadm init phase kubelet-start \\ 16 | --config=${CUSTOM_VALUE.kubeadmBaseConfigPath.value}/kubeadm.yaml 17 | `} 18 | 19 | 20 | :::note Вывод команды 21 | 22 | {dedent` 23 | [kubelet-start] Writing kubelet environment file with flags to file "/var/lib/kubelet/kubeadm-flags.env" 24 | [kubelet-start] Writing kubelet configuration to file "/var/lib/kubelet/config.yaml" 25 | [kubelet-start] Starting the kubelet 26 | `} 27 | 28 | ::: 29 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/kubelet/lifecycleDownload.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: lifecycle 3 | --- 4 | 5 | import LifecycleDownloadComponent from '@site/docs/tech-docs/kubernetes/components/kubelet/lifecycleDownloadComponent.mdx' 6 | 7 | # 5.2.1.2.6. Kubelet 8 | 9 | 10 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/kubelet/lifecycleDownloadComponent.mdx: -------------------------------------------------------------------------------- 1 | import DownloadBIN from '@site/docs/tech-docs/kubernetes/components/kubelet/payload/downloadBIN.mdx' 2 | 3 |

Этапы установки компонента

4 | 5 | - Создание рабочих директорий. 6 | - Переменные окружения. 7 | - Инструкция загрузки. 8 | - Настройка прав. 9 | - Сервис загрузки. 10 | - Запуск сервиса загрузки. 11 | 12 | 13 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/kubelet/lifecycleDownloadStatus.mdx: -------------------------------------------------------------------------------- 1 | import StatusBinFiles from '@site/docs/tech-docs/kubernetes/components/kubelet/checks/statusBinFiles.mdx' 2 | import StatusBinVersion from '@site/docs/tech-docs/kubernetes/components/kubelet/checks/statusBinVersion.mdx' 3 | 4 |

Исполняемые файлы

5 | 6 | 7 | 8 |

Версия исполняемого файла

9 | 10 | 11 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/kubelet/lifecycleSettings.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: lifecycle-settings 3 | --- 4 | 5 | import LifecycleSettingsComponent from '@site/docs/tech-docs/kubernetes/components/kubelet/lifecycleSettingsComponent.mdx' 6 | 7 | # 5.2.1.3.4. Kubelet 8 | 9 | 10 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/kubelet/lifecycleSettingsComponent.mdx: -------------------------------------------------------------------------------- 1 | import SetupSystemdUnit from '@site/docs/tech-docs/kubernetes/components/kubelet/payload/setupSystemdUnit.mdx' 2 | import ConfigFiles from '@site/docs/tech-docs/kubernetes/components/kubelet/payload/configFiles.mdx' 3 | 4 |

Этапы настройки компонента

5 | 6 | - Настройка Systemd Unit компонента 7 | - Добавить в автозагрузку Systemd Unit 8 | - Кастомная конфигурация компонента 9 | 10 | :::warning Обратите внимание! 11 | Данный раздел зависит от следующих документов: 12 | 13 | - [Containerd Install](../containerd/lifecycleDownload.mdx). 14 | - [Runc Install](../runc/lifecycleDownload.mdx). 15 | ::: 16 | 17 |

Настройка Systemd Unit компонента

18 | 19 | 20 | 21 |

Кастомная конфигурация компонента

22 | 23 |
24 | Kubelet config 25 | 26 |
27 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/kubelet/lifecycleSettingsStatus.mdx: -------------------------------------------------------------------------------- 1 | import StatusConfigFiles from '@site/docs/tech-docs/kubernetes/components/containerd/checks/statusConfigFiles.mdx' 2 | 3 |

Конфигурационные файлы

4 | 5 | 6 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/kubelet/payload/dir.mdx: -------------------------------------------------------------------------------- 1 | import dedent from 'ts-dedent' 2 | import CodeBlock from '@theme/CodeBlock' 3 | 4 | 5 | {dedent` 6 | mkdir -p /usr/lib/systemd/system/kubelet.service.d 7 | mkdir -p /var/lib/kubelet/ 8 | `} 9 | 10 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/kubelet/payload/startSystemdUnit.mdx: -------------------------------------------------------------------------------- 1 | import dedent from 'ts-dedent' 2 | import CodeBlock from '@theme/CodeBlock' 3 | 4 | 5 | {dedent` 6 | systemctl enable kubelet 7 | `} 8 | 9 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/kubelet/serviceInitStart.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: kubelet-init-start 3 | --- 4 | 5 | import SystemdUnutStartKubeadm from '@site/docs/tech-docs/kubernetes/components/kubelet/kubeadm/systemdUnitStartInit.mdx' 6 | import SystemdUnutStart from '@site/docs/tech-docs/kubernetes/components/kubelet/systemdUnit/systemdUnitStart.mdx' 7 | import ConfigFiles from '@site/docs/tech-docs/kubernetes/components/kubelet/payload/configFilesDefault.mdx' 8 | 9 | # 5.2.3.1.1. Kubelet Start 10 | 11 | :::danger Обратите внимание! 12 | Данные команды выполняются только отдельно от базовой инициализации кластера (`kubeadm init`). Они предназначены исключительно для записи конфигурационного файла `kubelet` и запуска соответствующего systemd-сервиса. 13 | ::: 14 | 15 | ## 5.2.3.1.1.1. Kubeadm init phase 16 | 17 | 18 | ## 5.2.3.1.1.1. Systemd Unit 19 | > Данный конфигурационный файл требуется для запуска `Kubelet`. 20 | 21 |
22 | Kubelet default config 23 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/kubelet/serviceJoinStart.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: kubelet-join-start 3 | --- 4 | 5 | import SystemdUnutStartKubeadm from '@site/docs/tech-docs/kubernetes/components/kubelet/kubeadm/systemdUnitStartJoin.mdx' 6 | import SystemdUnutStart from '@site/docs/tech-docs/kubernetes/components/kubelet/systemdUnit/systemdUnitStart.mdx' 7 | import ConfigFiles from '@site/docs/tech-docs/kubernetes/components/kubelet/payload/configFilesDefault.mdx' 8 | 9 | # 5.2.3.2.1. Kubelet Start 10 | 11 | :::warning Обратите внимание! 12 | Данные команды выполняются только отдельно от базовой инициализации кластера ```kubeadm init```. 13 | ::: 14 | 15 | ## 5.2.3.2.1.1. Kubeadm init phase 16 | 17 | 18 | ## 5.2.3.2.1.2. Systemd Unit 19 | > Данный конфигурационный файл требуется для запуска `Kubelet`. 20 | 21 |
22 | Kubelet default config 23 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/kubelet/systemdUnit/systemdUnitEnable.mdx: -------------------------------------------------------------------------------- 1 | import dedent from 'ts-dedent' 2 | import CodeBlock from '@theme/CodeBlock' 3 | 4 | 5 | {dedent` 6 | systemctl enable kubelet 7 | `} 8 | 9 | 10 | :::note 11 | 12 | {dedent` 13 | Created symlink /etc/systemd/system/multi-user.target.wants/kubelet.service → /usr/lib/systemd/system/kubelet.service. 14 | `} 15 | 16 | ::: 17 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/runc/about.mdx: -------------------------------------------------------------------------------- 1 | **Описание**: Runc — это низкоуровневый инструмент для создания и управления контейнерами, реализующий спецификацию Open Container Initiative (OCI). Он используется для выполнения контейнеров в Kubernetes через CRI (Container Runtime Interface). 2 | 3 | #### Функции 4 | - Запуск контейнеров с использованием контейнерных образов. 5 | - Управление жизненным циклом контейнеров (создание, запуск, остановка). 6 | - Обеспечение изоляции и безопасности контейнеров на уровне операционной системы. 7 | 8 | #### Особенности 9 | - Работает как контейнерный runtime для Kubernetes, обеспечивая выполнение контейнеров в строго ограниченной среде. 10 | - Взаимодействует с контейнерной средой через CRI, используя интерфейсы типа containerd или CRI-O. 11 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/runc/checkBIN.mdx: -------------------------------------------------------------------------------- 1 | import LifecycleDownloadStatus from '@site/docs/tech-docs/kubernetes/components/runc/lifecycleDownloadStatus.mdx' 2 | 3 |

Проверка установки

4 |
5 | Проверка установки 6 | 7 |
8 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/runc/checks/statusBinVersion.mdx: -------------------------------------------------------------------------------- 1 | import dedent from 'ts-dedent' 2 | import CodeBlock from '@theme/CodeBlock' 3 | 4 | 5 | {dedent` 6 | runc --version 7 | `} 8 | 9 | 10 | :::note Вывод команды 11 | 12 | 13 | {dedent` 14 | runc version 1.1.12 15 | commit: v1.1.12-0-g51d5e946 16 | spec: 1.0.2-dev 17 | go: go1.20.13 18 | libseccomp: 2.5.4 19 | `} 20 | 21 | ::: 22 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/runc/componentReady.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: component-ready 3 | --- 4 | 5 | import ComponentReadyComponent from '@site/docs/tech-docs/kubernetes/components/runc/componentReadyComponent.mdx' 6 | 7 | # 5.2.1.4.2. Runc 8 | 9 | 10 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/runc/componentReadyComponent.mdx: -------------------------------------------------------------------------------- 1 | import StatusBinFiles from '@site/docs/tech-docs/kubernetes/components/runc/checks/statusBinFiles.mdx' 2 | import StatusBinVersion from '@site/docs/tech-docs/kubernetes/components/runc/checks/statusBinVersion.mdx' 3 | 4 |

Этапы проверки

5 | 6 | - Сервис загрузки компонентов завершился корректно. 7 | - Исполняемые файлы существуют. 8 | - Версия исполняемого файла корректна. 9 | 10 |

Исполняемые файлы

11 | 12 | 13 | 14 |

Версия исполняемого файла

15 | 16 | 17 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/runc/lifecycleDownload.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: lifecycle 3 | --- 4 | 5 | import LifecycleDownloadComponent from '@site/docs/tech-docs/kubernetes/components/runc/lifecycleDownloadComponent.mdx' 6 | 7 | # 5.2.1.2.2. Runc 8 | 9 | 10 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/runc/lifecycleDownloadComponent.mdx: -------------------------------------------------------------------------------- 1 | import DownloadBIN from '@site/docs/tech-docs/kubernetes/components/runc/payload/downloadBIN.mdx' 2 | 3 |

Этапы установки компонента

4 | 5 | - Создание рабочих директорий. 6 | - Переменные окружения. 7 | - Инструкция загрузки. 8 | - Настройка прав. 9 | - Сервис загрузки. 10 | - Запуск сервиса загрузки. 11 | 12 | 13 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/runc/lifecycleDownloadStatus.mdx: -------------------------------------------------------------------------------- 1 | import StatusBinFiles from '@site/docs/tech-docs/kubernetes/components/runc/checks/statusBinFiles.mdx' 2 | import StatusBinVersion from '@site/docs/tech-docs/kubernetes/components/runc/checks/statusBinVersion.mdx' 3 | 4 |

Исполняемые файлы

5 | 6 | 7 | 8 |

Версия исполняемого файла

9 | 10 | 11 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/scheduler/componentReady.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: component-ready 3 | --- 4 | 5 | # 5.2.1.4.9. Kube-Scheduler 6 | 7 | ## 5.2.1.4.9.1. Этапы проверки 8 | - Исполняемые файлы существуют. 9 | - Конфигурационные файлы существуют. 10 | - Статус Systemd Unit. 11 | 12 | 13 | ## 5.2.1.4.9.2. Исполняемые файлы 14 | 15 | 16 | 17 | ## 5.2.1.4.9.3. Конфигурационные файлы 18 | 19 | 20 | 21 | ## 5.2.1.4.9.4. Статус Systemd Unit 22 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/scheduler/kubeadm.mdx: -------------------------------------------------------------------------------- 1 | import { CUSTOM_VALUE } from '@site/src/constants/kubernetes/customValue' 2 | 3 | import CodeBlock from '@theme/CodeBlock' 4 | import dedent from 'ts-dedent' 5 | 6 | 7 |

Генерация манифеста

8 | 9 | {dedent` 10 | kubeadm init phase control-plane scheduler \\ 11 | --config=${CUSTOM_VALUE.kubeadmBaseConfigPath.value}/kubeadm.yaml 12 | `} 13 | 14 | 15 | :::note 16 | 17 | {dedent` 18 | #### Kube API 19 | [control-plane] Creating static Pod manifest for "kube-scheduler" 20 | `} 21 | 22 | ::: 23 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/scheduler/setup.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: scheduler-settings 3 | --- 4 | 5 | import SetupInit from '@site/docs/tech-docs/kubernetes/components/scheduler/setupInitComponent.mdx' 6 | import SetupJoin from '@site/docs/tech-docs/kubernetes/components/scheduler/setupJoinComponent.mdx' 7 | 8 | # 5.2.1.3.5.1.3. Kube-Scheduler 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/scheduler/setupInitComponent.mdx: -------------------------------------------------------------------------------- 1 | import TabItem from '@theme/TabItem' 2 | import Tabs from '@theme/Tabs' 3 | 4 | import StaticPodHW from '@site/docs/tech-docs/kubernetes/components/scheduler/staticPod.mdx' 5 | import StaticPodKubeadm from '@site/docs/tech-docs/kubernetes/components/scheduler/kubeadm.mdx' 6 | 7 | :::warning Обратите внимание! 8 | Данный раздел является опциональным и предназначен только для случаев, когда необходимо настроить данный ресурс отдельно от остальных. 9 | ::: 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/components/scheduler/setupJoinComponent.mdx: -------------------------------------------------------------------------------- 1 | import TabItem from '@theme/TabItem' 2 | import Tabs from '@theme/Tabs' 3 | 4 | import StaticPodHW from '@site/docs/tech-docs/kubernetes/components/scheduler/staticPod.mdx' 5 | import StaticPodKubeadm from '@site/docs/tech-docs/kubernetes/components/_kubeadm/joinAllStaticPodsGen.mdx' 6 | 7 | :::warning Обратите внимание! 8 | Данный раздел является опциональным и предназначен только для случаев, когда необходимо настроить данный ресурс отдельно от остальных. 9 | ::: 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/setup-environments/allMasterTabs.mdx: -------------------------------------------------------------------------------- 1 | 2 | import TabItem from '@theme/TabItem' 3 | import Tabs from '@theme/Tabs' 4 | import dedent from 'ts-dedent' 5 | import CodeBlock from '@theme/CodeBlock' 6 | 7 | 8 | 9 | 10 | {dedent` 11 | export HOST_NAME=master-1 12 | `} 13 | 14 | 15 | 16 | 17 | {dedent` 18 | export HOST_NAME=master-2 19 | `} 20 | 21 | 22 | 23 | 24 | 25 | {dedent` 26 | export HOST_NAME=master-3 27 | `} 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/setup-environments/base-os/allBaseOSSetup.mdx: -------------------------------------------------------------------------------- 1 | import AllBaseOSSetupComponent from '@site/docs/tech-docs/kubernetes/setup-environments/base-os/allBaseOSSetupComponent.mdx' 2 | 3 | 4 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/setup-environments/base-os/allBaseOSSetupComponent.mdx: -------------------------------------------------------------------------------- 1 | import BaseSetupOS from '@site/docs/tech-docs/kubernetes/setup-environments/base-os/baseOSSetupComponent.mdx' 2 | 3 | > Этот раздел посвящён базовой подготовке узлов Kubernetes перед установкой компонентов. 4 | > В нём описывается настройка переменных окружения, смена имени хоста и установка необходимых системных утилит. Эти шаги являются обязательными для корректной работы kubelet и других компонентов управляющего контура. 5 | 6 |
7 | 8 |
9 |

Базовая настройка узлов

10 |

● Обязателен к применению

11 |
12 |
13 | 14 |
15 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/setup-environments/base-os/baseOSSetup.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: base-os-setup 3 | --- 4 | 5 | import BaseSetupOS from '@site/docs/tech-docs/kubernetes/setup-environments/base-os/baseOSSetupComponent.mdx' 6 | 7 | # 5.0. Настройка ОС 8 | 9 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/setup-environments/initMaster.mdx: -------------------------------------------------------------------------------- 1 | 2 | import TabItem from '@theme/TabItem' 3 | import Tabs from '@theme/Tabs' 4 | 5 | import dedent from 'ts-dedent' 6 | import CodeBlock from '@theme/CodeBlock' 7 | 8 | 9 | 10 | 11 | {dedent` 12 | export HOST_NAME=master-1 13 | `} 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/setup-environments/modprobe/allModprobe.mdx: -------------------------------------------------------------------------------- 1 | import AllModprobeComponent from '@site/docs/tech-docs/kubernetes/setup-environments/modprobe/allModprobeComponent.mdx' 2 | 3 | 4 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/setup-environments/modprobe/allModprobeComponent.mdx: -------------------------------------------------------------------------------- 1 | import СoreModulesComponent from '@site/docs/tech-docs/kubernetes/setup-environments/modprobe/coreModulesComponent.mdx' 2 | 3 | > Этот раздел посвящён загрузке модулей ядра, необходимых для корректной работы Kubernetes. 4 | > Настройка включает конфигурацию modprobe и активацию модулей overlay и br_netfilter, обеспечивающих поддержку контейнерной файловой системы и сетевых функций. Эти действия обязательны для функционирования сетевых политик, iptables и контейнерных рантаймов. 5 | 6 |
7 | 8 |
9 |

Загрузка модулей ядра

10 |

● Обязателен к применению

11 |
12 |
13 | <СoreModulesComponent /> 14 |
15 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/setup-environments/osSetup.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: os-setup 3 | --- 4 | 5 | import AllModprobeComponent from '@site/docs/tech-docs/kubernetes/setup-environments/modprobe/allModprobe.mdx' 6 | import AllSysctlsComponent from '@site/docs/tech-docs/kubernetes/setup-environments/sysctls/allSysctls.mdx' 7 | import AllBaseOSSetupComponent from '@site/docs/tech-docs/kubernetes/setup-environments/base-os/allBaseOSSetupComponent.mdx' 8 | 9 | 10 | # 5.2.1.1. Настройка ОС 11 | 12 | ## 5.2.1.1.1. Базовая настройка ОС 13 | 14 | 15 | ## 5.2.1.1.2. Настройка модулей ядра 16 | 17 | 18 | ## 5.2.1.1.3. Настройка параметров sysctl 19 | 20 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/setup-environments/secondaryMasters.mdx: -------------------------------------------------------------------------------- 1 | 2 | import TabItem from '@theme/TabItem' 3 | import Tabs from '@theme/Tabs' 4 | 5 | import dedent from 'ts-dedent' 6 | import CodeBlock from '@theme/CodeBlock' 7 | 8 | 9 | 10 | 11 | {dedent` 12 | export HOST_NAME=master-2 13 | `} 14 | 15 | 16 | 17 | 18 | 19 | {dedent` 20 | export HOST_NAME=master-3 21 | `} 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/setup-environments/sysctls/allSysctls.mdx: -------------------------------------------------------------------------------- 1 | import AllSysctlsComponent from '@site/docs/tech-docs/kubernetes/setup-environments/sysctls/allSysctlsComponent.mdx' 2 | 3 | 4 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/kubernetes/setup-environments/sysctls/allSysctlsComponent.mdx: -------------------------------------------------------------------------------- 1 | import SysctlsComponent from '@site/docs/tech-docs/kubernetes/setup-environments/sysctls/sysctlsComponent.mdx' 2 | 3 | > Этот раздел посвящён настройке параметров ядра с помощью sysctl, необходимых для сетевой работы Kubernetes. 4 | > Вносятся изменения, обеспечивающие маршрутизацию трафика между подами и корректную работу iptables для мостов. Эти параметры обязательны для включения пересылки IP-пакетов и фильтрации сетевых потоков в кластере. 5 | 6 |
7 | 8 |
9 |

Настройка параметров sysctl

10 |

● Обязателен к применению

11 |
12 |
13 | 14 |
15 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/monitoring/about.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: monitoring-about 3 | --- 4 | 5 | Данная документация предназначена для инженеров, занимающихся эксплуатацией, развертыванием и настройкой мониторинга на базе `VictoriaMetrics` в платформе in-cloud, построенной на базе Kubernetes. Основной целью документации является предоставление детализированных инструкций по созданию, настройке и управлению мониторингом в платформе in-cloud, а также описание ключевых компонентов и механизмов работы экспортеров (prometheus-exporter). 6 | 7 | Система мониторинга в платформе in-cloud является решением с открытым исходным кодом, предназначенным для для остлеживания состояния самой платформы и контейнеризованных приложений в облачной инфраструктуре. 8 | 9 | Этот документ не ограничивается только описанием инструментов мониторинга, таких как `VictoriaMetrics` и экспортеры метрик, а предоставляет пошаговое руководство по созданию и настройке компонентов мониторинга платформы in-cloud с нуля, что позволяет понять внутренние процессы и архитектуру системы. 10 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/monitoring/exporters/node-exporter/about.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: node-exporter-base 3 | title: Node Exporter 4 | description: Node Exporter 5 | --- 6 | 7 | **Описание :** `Node Exporter` — это инструмент для мониторинга ресурсов и производительности систем, используемый для работы с `Prometheus` или `VictoriaMetrics`. Он собирает различные метрики о состоянии операционной системы, таких как использование процессора, памяти, диска, сетевых интерфейсов и других системных ресурсов. 8 | 9 | 10 | **Функции:** `Node Exporter` имеет следующие основные функции: 11 | 12 | * Сбор метрик: `Node Exporter` собирает широкий спектр метрик о системе. 13 | * Совместимость с `VictoriaMetrics`: `Node Exporter` полностью совместим с `VictoriaMetrics`. 14 | 15 | **Особенности**: 16 | * Удобный инструмент для контроля системных ресурсов на каждой ноде Kubernetes 17 | * `Node Exporter` работает с системными ресурсами, поэтому необходимо следить за правами доступа. 18 | 19 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/monitoring/metrics-server/metrics-server-setup.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: metrics-server-setup 3 | --- 4 | import TabItem from '@theme/TabItem' 5 | import Tabs from '@theme/Tabs' 6 | import CodeBlock from '@theme/CodeBlock' 7 | import dedent from 'ts-dedent' 8 | 9 | # 5.5.3.5. Metrics Server 10 | 11 | ### 5.5.3.5.1. Подключение к мониторингу 12 | :::info 13 | Для подключения данного компонента к системе мониторинга необходимо настроить сбор метрик с использованием агента кластера, соответствующего вашему технологическому стеку. 14 | ::: 15 | 16 | 17 | Включено по умолчанию 18 | 19 | 20 | Включено по умолчанию 21 | 22 | 23 | 24 | 25 | ### 5.5.3.5.2. Настройка сетевых политик 26 | 27 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/monitoring/osSetup.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: monitoring-os-setup 3 | --- 4 | 5 | # Установка ОС 6 | 7 | TODO: to be writed if needed 8 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/monitoring/victoria-metrics-cluster/victoria-metrics-cluster-setup.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: victoria-metrics-cluster-setup 3 | --- 4 | import TabItem from '@theme/TabItem' 5 | import Tabs from '@theme/Tabs' 6 | import CodeBlock from '@theme/CodeBlock' 7 | import dedent from 'ts-dedent' 8 | 9 | # 5.5.3.7. VictoriaMetrics Cluster 10 | 11 | ### 5.5.3.7.1. Настройка сетевых политик 12 | 13 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/monitoring/victoria-metrics-cluster/victoria-metrics-cluster-testing.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: victoria-metrics-cluster-testing 3 | --- 4 | 5 | -------------------------------------------------------------------------------- /documentation/docs/tech-docs/monitoring/victoria-metrics-operator/victoria-metrics-operator-setup.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | id: victoria-metrics-operator-setup 3 | --- 4 | import TabItem from '@theme/TabItem' 5 | import Tabs from '@theme/Tabs' 6 | import CodeBlock from '@theme/CodeBlock' 7 | import dedent from 'ts-dedent' 8 | 9 | # 5.5.3.6. VictoriaMetrics Operator 10 | 11 | ### 5.5.3.6.1. Настройка сетевых политик 12 | 13 | -------------------------------------------------------------------------------- /documentation/plugins/medusa.js: -------------------------------------------------------------------------------- 1 | 2 | export default function () { 3 | return { 4 | name: 'medusa', 5 | injectHtmlTags({ content }) { 6 | return { 7 | postBodyTags: [ 8 | `
`, 9 | { 10 | tagName: 'script', 11 | attributes: { 12 | charset: 'utf-8', 13 | src: '/js/header-enabler.js', 14 | }, 15 | }, 16 | ], 17 | } 18 | }, 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /documentation/plugins/webpack.js: -------------------------------------------------------------------------------- 1 | module.exports = () => { 2 | return { 3 | name: 'css-loader', 4 | configureWebpack(_, isServer, { getStyleLoaders }) { 5 | return { 6 | module: { 7 | rules: [ 8 | { 9 | test: /\.s[ca]ss$/, 10 | use: [...getStyleLoaders(isServer), 'sass-loader'], 11 | }, 12 | { 13 | test: /\.css$/, 14 | use: [ 15 | { 16 | loader: 'postcss-loader', 17 | }, 18 | ], 19 | }, 20 | ], 21 | }, 22 | } 23 | }, 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /documentation/sidebars.ts: -------------------------------------------------------------------------------- 1 | /* eslint-disable import/no-default-export */ 2 | import { main } from './src/sidebars/technical-docs/main' 3 | 4 | const sidebars = { 5 | techDocs: [ 6 | { 7 | type: 'category', 8 | label: 'In-Cloud', 9 | collapsed: false, 10 | items: main, 11 | }, 12 | ], 13 | } 14 | 15 | export default sidebars 16 | -------------------------------------------------------------------------------- /documentation/src/api/getRepoInfo.tsx: -------------------------------------------------------------------------------- 1 | import axios from 'axios' 2 | 3 | const BASE_URL_TAG = process.env.Docusaurus_GIT_API_URL_TAG 4 | const BASE_URL_STAR = process.env.Docusaurus_GIT_API_URL_STAR 5 | 6 | 7 | export const getLatestTag = async (): Promise => { 8 | try { 9 | const { data } = await axios.get<{ name: string }[]>(`${BASE_URL_TAG}`) 10 | return data[0]?.name || null 11 | } catch (error) { 12 | /* eslint-disable-next-line no-console */ 13 | console.log(error) 14 | return null 15 | } 16 | } 17 | 18 | export const getStarsAndForks = async (): Promise<{ stars: number; forks: number } | null> => { 19 | try { 20 | const { data } = await axios.get<{ stargazers_count: number; forks: number }>(BASE_URL_STAR) 21 | return { 22 | stars: data.stargazers_count, 23 | forks: data.forks, 24 | } 25 | } catch (error) { 26 | /* eslint-disable-next-line no-console */ 27 | console.log(error) 28 | return null 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /documentation/src/components/AaaBug/AaaBug.tsx: -------------------------------------------------------------------------------- 1 | import React, { FC } from 'react' 2 | import styles from './styles.module.css' 3 | import { getBasePrefix } from '@site/src/utils/getBasePrefix' 4 | 5 | export const AaaBug: FC = () => { 6 | return ( 7 |
8 | Диаграмма установки компонентов Kubernetes 13 |
14 | ) 15 | } 16 | -------------------------------------------------------------------------------- /documentation/src/components/AaaBug/index.ts: -------------------------------------------------------------------------------- 1 | export * from './AaaBug' 2 | -------------------------------------------------------------------------------- /documentation/src/components/AaaBug/styles.module.css: -------------------------------------------------------------------------------- 1 | .container { 2 | position: relative; 3 | } 4 | 5 | .image { 6 | width: 90%; 7 | max-width: 330px; 8 | filter: drop-shadow(0 0 12px rgba(255, 255, 255, 0.2)); 9 | transition: transform 0.3s ease-in-out; 10 | transform: rotate(-5deg) scaleX(-1); 11 | z-index: 10; 12 | } 13 | 14 | @media (min-width: 768px) { 15 | .container { 16 | position: absolute; 17 | bottom: 0; 18 | right: 0; 19 | } 20 | } 21 | 22 | @media (min-width: 997px) { 23 | .container { 24 | position: relative; 25 | } 26 | } 27 | 28 | @media (min-width: 1440px) { 29 | .container { 30 | position: absolute; 31 | bottom: 0; 32 | right: 0; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /documentation/src/components/GithubLink/GithubLinkMob.tsx: -------------------------------------------------------------------------------- 1 | import React, { FC, useState, useEffect } from 'react' 2 | import { getLatestTag } from '@site/src/api/getRepoInfo' 3 | 4 | export const GithubLinkMob: FC = () => { 5 | const [tag, setTag] = useState() 6 | 7 | useEffect(() => { 8 | getLatestTag() 9 | .then(data => setTag(data)) 10 | /* eslint-disable-next-line no-console */ 11 | .catch(err => console.log(err)) 12 | }, []) 13 | 14 | return ( 15 | <> 16 | 23 | H-BF/sgroups 24 | 25 |
    26 | {tag &&
  • {tag}
  • } 27 |
28 | 29 | ) 30 | } 31 | -------------------------------------------------------------------------------- /documentation/src/components/GithubLink/index.js: -------------------------------------------------------------------------------- 1 | export * from './GithubLink' 2 | export * from './GithubLinkMob' 3 | -------------------------------------------------------------------------------- /documentation/src/components/Landing/index.ts: -------------------------------------------------------------------------------- 1 | export * from './molecules' 2 | -------------------------------------------------------------------------------- /documentation/src/components/Landing/molecules/Header/Header.tsx: -------------------------------------------------------------------------------- 1 | import React, { FC } from 'react' 2 | import Link from '@docusaurus/Link' 3 | import BrowserOnly from '@docusaurus/BrowserOnly' // Импортируем компонент BrowserOnly 4 | import styles from './styles.module.css' 5 | import { getBasePrefix } from '@site/src/utils/getBasePrefix' 6 | 7 | // Компонент Header 8 | export const Header: FC = () => ( 9 |
10 |
11 |

12 | 13 | {() => { 14 | return ( 15 | 16 | Logo 17 | 18 | ) 19 | }} 20 | 21 | In-Cloud 22 |

23 | {/*

Строим вместе облако

*/} 24 |
25 |
26 | ) 27 | -------------------------------------------------------------------------------- /documentation/src/components/Landing/molecules/Header/index.ts: -------------------------------------------------------------------------------- 1 | export * from './Header' 2 | -------------------------------------------------------------------------------- /documentation/src/components/Landing/molecules/index.ts: -------------------------------------------------------------------------------- 1 | export * from './Header' 2 | -------------------------------------------------------------------------------- /documentation/src/components/commonBlocks/CodeAndInputDownloadCreds/index.ts: -------------------------------------------------------------------------------- 1 | export * from './CodeAndInputDownloadCreds' 2 | -------------------------------------------------------------------------------- /documentation/src/components/commonBlocks/CodeAndInputExportPods/CodeAndInputExportPods.tsx: -------------------------------------------------------------------------------- 1 | import React, { FC, useState } from 'react' 2 | import { Flex, Input } from 'antd' 3 | import CodeBlock from '@theme/CodeBlock' 4 | import dedent from 'ts-dedent' 5 | 6 | export const CodeAndInputExportPods: FC = () => { 7 | const [searchNamespace, setSearchNamespace] = useState() 8 | const [searchPodName, setSearchPodName] = useState() 9 | 10 | return ( 11 | 12 | setSearchNamespace(e.target.value)} /> 13 | setSearchPodName(e.target.value)} /> 14 | 15 | {dedent` 16 | export SEARCH_NAMESPACE=${searchNamespace} 17 | export SEARCH_POD_NAME=${searchPodName} 18 | `} 19 | 20 | 21 | ) 22 | } 23 | -------------------------------------------------------------------------------- /documentation/src/components/commonBlocks/CodeAndInputExportPods/index.ts: -------------------------------------------------------------------------------- 1 | export * from './CodeAndInputExportPods' 2 | -------------------------------------------------------------------------------- /documentation/src/components/commonBlocks/Codes/_Codes.mdx: -------------------------------------------------------------------------------- 1 |
2 | {props.data.description} 3 | 4 |
    5 |
  • HTTP code: {props.data.httpCode}
  • 6 |
  • gRPC code: {props.data.grpcCode}
  • 7 |
  • gRPC number: {props.data.grpcNumber}
  • 8 |
9 | 10 |
11 | -------------------------------------------------------------------------------- /documentation/src/components/commonBlocks/EtcdCommandList/EtcdCommandList.tsx: -------------------------------------------------------------------------------- 1 | import React, { FC } from 'react' 2 | import Tabs from '@theme/Tabs' 3 | import TabItem from '@theme/TabItem' 4 | import { CommandTable } from './molecules' 5 | 6 | export const commands = ['etcdctl', 'ectl', 'nectl', 'kectl'] // Add more commands as needed 7 | 8 | export const EtcdCommandList: FC = () => ( 9 | 10 | {commands.map(cmd => ( 11 | 12 | 13 | 14 | ))} 15 | 16 | ) 17 | -------------------------------------------------------------------------------- /documentation/src/components/commonBlocks/EtcdCommandList/index.ts: -------------------------------------------------------------------------------- 1 | export * from './EtcdCommandList' 2 | -------------------------------------------------------------------------------- /documentation/src/components/commonBlocks/EtcdCommandList/molecules/index.ts: -------------------------------------------------------------------------------- 1 | export * from './EtcdCommandTable' 2 | -------------------------------------------------------------------------------- /documentation/src/components/commonBlocks/Example/Example.tsx: -------------------------------------------------------------------------------- 1 | import React, { FC } from 'react' 2 | import CodeBlock from '@theme/CodeBlock' 3 | 4 | /* How to use 5 | 6 | Place import: 7 | import { Example } from "@site/src/components/commonBlocks"; 8 | 9 | Add component to mdx page: 10 | 11 | 12 | */ 13 | 14 | const code = ` 15 | function helloWorld() { 16 | console.log('Hello, world!'); 17 | } 18 | ` 19 | 20 | export const Example: FC = () => { 21 | return ( 22 | <> 23 |

Example

24 | 25 | {code} 26 | 27 | 28 | ) 29 | } 30 | -------------------------------------------------------------------------------- /documentation/src/components/commonBlocks/Example/index.ts: -------------------------------------------------------------------------------- 1 | export * from './Example' 2 | -------------------------------------------------------------------------------- /documentation/src/components/commonBlocks/ExampleMarkdown/_ExampleMarkdown.mdx: -------------------------------------------------------------------------------- 1 | # I am example markdown 2 | 3 | ## Woo 4 | 5 | Underscore in name is must 6 | 7 | To import 8 | 9 | ```js 10 | import Example from "@site/src/components/commonBlocks/ExampleMarkdown/_ExampleMarkdown.mdx"; 11 | ``` 12 | 13 | To use: 14 | 15 | ```jsx 16 | 17 | ``` 18 | 19 | Also supports props via jsx inside mdx snippet 20 | 21 | ```jsx 22 | {props.name} 23 | ``` 24 | 25 | Imports can be relative for docs: only underscore is must. Just change path to relative, delete `@site` alias 26 | -------------------------------------------------------------------------------- /documentation/src/components/commonBlocks/Fancybox/Fancybox.tsx: -------------------------------------------------------------------------------- 1 | import React, { FC, useRef, useEffect, PropsWithChildren } from 'react' 2 | import { Fancybox as NativeFancybox } from '@fancyapps/ui' 3 | import '@fancyapps/ui/dist/fancybox/fancybox.css' 4 | import { OptionsType } from '@fancyapps/ui/types/Fancybox/options' 5 | 6 | interface Props { 7 | options?: Partial 8 | delegate?: string 9 | } 10 | 11 | export const Fancybox: FC> = ({ delegate, options, children }) => { 12 | const containerRef = useRef(null) 13 | 14 | useEffect(() => { 15 | const container = containerRef.current 16 | 17 | const delegateParsed = delegate || '[data-fancybox]' 18 | const optionsParsed = options || {} 19 | 20 | NativeFancybox.bind(container, delegateParsed, optionsParsed) 21 | 22 | return () => { 23 | NativeFancybox.unbind(container) 24 | NativeFancybox.close() 25 | } 26 | }) 27 | 28 | return
{children}
29 | } 30 | -------------------------------------------------------------------------------- /documentation/src/components/commonBlocks/Fancybox/index.tsx: -------------------------------------------------------------------------------- 1 | export * from './Fancybox' 2 | -------------------------------------------------------------------------------- /documentation/src/components/commonBlocks/FancyboxDiagram/FancyboxDiagram.tsx: -------------------------------------------------------------------------------- 1 | import React, { FC, PropsWithChildren } from 'react' 2 | import { TransformWrapper, TransformComponent } from 'react-zoom-pan-pinch' 3 | import { Fancybox } from '@site/src/components/commonBlocks/Fancybox' 4 | 5 | export const FancyboxDiagram: FC = ({ children }) => { 6 | return ( 7 | <> 8 |
9 |
10 | 11 | 12 |
{children}
13 |
14 |
15 |
16 |
17 | 18 | 19 | {children} 20 | 21 | 22 | 23 | ) 24 | } 25 | -------------------------------------------------------------------------------- /documentation/src/components/commonBlocks/FancyboxDiagram/index.tsx: -------------------------------------------------------------------------------- 1 | export * from './FancyboxDiagram' 2 | -------------------------------------------------------------------------------- /documentation/src/components/commonBlocks/FancyboxImage/FancyboxImage.tsx: -------------------------------------------------------------------------------- 1 | import React, { FC } from 'react' 2 | import { Fancybox } from '@site/src/components/commonBlocks/Fancybox' 3 | 4 | type TFancyboxImageProps = { 5 | src: string 6 | } 7 | 8 | export const FancyboxImage: FC = ({ src }) => ( 9 | 16 | 17 | 18 | 19 | 20 | ) 21 | -------------------------------------------------------------------------------- /documentation/src/components/commonBlocks/FancyboxImage/index.tsx: -------------------------------------------------------------------------------- 1 | export * from './FancyboxImage' 2 | -------------------------------------------------------------------------------- /documentation/src/components/commonBlocks/Restrictions/Restrictions.tsx: -------------------------------------------------------------------------------- 1 | import React, { FC } from 'react' 2 | import { TRestrictionItems } from '@site/src/customTypes/restrictions' 3 | 4 | export const Restrictions: FC<{ data: TRestrictionItems }> = ({ data }) => { 5 | return ( 6 |
    7 | {data.map(item => ( 8 |
  • 9 | {item} 10 |
  • 11 | ))} 12 |
13 | ) 14 | } 15 | -------------------------------------------------------------------------------- /documentation/src/components/commonBlocks/Restrictions/index.ts: -------------------------------------------------------------------------------- 1 | export * from './Restrictions' 2 | -------------------------------------------------------------------------------- /documentation/src/components/commonBlocks/Terminology/Terminology.tsx: -------------------------------------------------------------------------------- 1 | import React, { FC } from 'react' 2 | import { TTerminology } from '@site/src/customTypes/terminology' 3 | 4 | export const Terminology: FC<{ data: TTerminology[] }> = ({ data }) => { 5 | return ( 6 | <> 7 | {data.map(({ name, comment, definition, link }) => ( 8 |
9 | {name} 10 | {comment && ({comment})} 11 | {' - '} 12 | {definition} 13 | {link && Подробнее...} 14 |
15 |
16 |
17 | ))} 18 | 19 | ) 20 | } 21 | -------------------------------------------------------------------------------- /documentation/src/components/commonBlocks/Terminology/index.ts: -------------------------------------------------------------------------------- 1 | export * from './Terminology' 2 | -------------------------------------------------------------------------------- /documentation/src/components/commonBlocks/index.ts: -------------------------------------------------------------------------------- 1 | export * from './Example' 2 | export * from './CodeAndInputExportPods' 3 | export * from './CodeAndInputDownloadCreds' 4 | export * from './EtcdCommandList' 5 | -------------------------------------------------------------------------------- /documentation/src/components/swagger.tsx: -------------------------------------------------------------------------------- 1 | import { useEffect } from 'react' 2 | import SwaggerUI from 'swagger-ui-react' 3 | import 'swagger-ui-react/swagger-ui.css' 4 | 5 | type SwaggerProps = { 6 | url: string 7 | } 8 | 9 | export const Swagger = ({ url }: SwaggerProps): JSX.Element => { 10 | useEffect(() => { 11 | document.title = 'Swagger UI' 12 | }, []) 13 | 14 | return 15 | } 16 | -------------------------------------------------------------------------------- /documentation/src/constants/kubernetes/componentsVersion.ts: -------------------------------------------------------------------------------- 1 | import { TComponentsVersionItems } from '../../customTypes/componentsVersion' 2 | 3 | export const COMPONENTS_VERSION: TComponentsVersionItems = { 4 | kubernetes: { 5 | value: 'v1.30.4', 6 | }, 7 | etcd: { 8 | value: '3.5.12-0', 9 | }, 10 | etcdctl: { 11 | value: 'v3.5.12', 12 | }, 13 | runc: { 14 | value: 'v1.1.12', 15 | }, 16 | containerd: { 17 | value: '1.7.19', 18 | }, 19 | crictl: { 20 | value: 'v1.30.0', 21 | }, 22 | } 23 | -------------------------------------------------------------------------------- /documentation/src/constants/kubernetes/ports.ts: -------------------------------------------------------------------------------- 1 | import { TPortsItems } from '../../customTypes/ports' 2 | 3 | export const PORTS: TPortsItems = { 4 | etcdServer: { 5 | portNumber: '2379', 6 | }, 7 | etcdPeer: { 8 | portNumber: '2380', 9 | }, 10 | etcdMetricServer: { 11 | portNumber: '2381', 12 | }, 13 | kubeAPIServer: { 14 | portNumber: '6443', 15 | }, 16 | kubeControllerManager: { 17 | portNumber: '10257', 18 | }, 19 | kubeScheduler: { 20 | portNumber: '10259', 21 | }, 22 | kubeletHealthz: { 23 | portNumber: '10248', 24 | }, 25 | kubeletServer: { 26 | portNumber: '10250', 27 | }, 28 | kubeletReadOnlyPort: { 29 | portNumber: '10255', 30 | }, 31 | } 32 | -------------------------------------------------------------------------------- /documentation/src/constants/monitoring/componentsVersion.ts: -------------------------------------------------------------------------------- 1 | import { TComponentsVersionItems } from '../../customTypes/componentsVersion' 2 | 3 | export const COMPONENTS_VERSION: TComponentsVersionItems = { 4 | victoriaMetricsOperator: { 5 | value: '0.37.0', 6 | }, 7 | victoriaMetricsStack: { 8 | value: '0.28.2', 9 | }, 10 | nodeExporter: { 11 | value: '4.27.0', 12 | }, 13 | blackboxExporter: { 14 | value: '9.0.0', 15 | }, 16 | processExporter: { 17 | value: '0.5.0', 18 | }, 19 | kubeStateMetrics: { 20 | value: '5.16.4', 21 | }, 22 | metricsServer: { 23 | value: '3.12.1', 24 | }, 25 | } 26 | -------------------------------------------------------------------------------- /documentation/src/css/layout.scss: -------------------------------------------------------------------------------- 1 | .main-wrapper { 2 | width: 100%; 3 | } 4 | 5 | .navbar__inner { 6 | @media (min-width: 1440px) { 7 | width: var(--ifm-custom-container-width-xl); 8 | margin: 0 auto; 9 | } 10 | } 11 | 12 | .main-wrapper { 13 | @media (min-width: 997px) { 14 | max-width: var(--ifm-custom-container-width); 15 | margin: 0 auto; 16 | } 17 | @media (min-width: 1440px) { 18 | max-width: var(--ifm-custom-container-width-xl); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /documentation/src/css/table-of-contents.scss: -------------------------------------------------------------------------------- 1 | .table-of-contents__left-border { 2 | border-left: none; 3 | } 4 | -------------------------------------------------------------------------------- /documentation/src/customTypes/certs.ts: -------------------------------------------------------------------------------- 1 | export type TCertsDefinitionItems = { 2 | keyPath: string 3 | crtPath: string 4 | csrPath: string 5 | crtConf: string 6 | keySize: string 7 | cname: string 8 | } 9 | 10 | export type TCertsItems = Record 11 | -------------------------------------------------------------------------------- /documentation/src/customTypes/componentsVersion.ts: -------------------------------------------------------------------------------- 1 | export type TComponentsVersionDefinitionItems = { 2 | value: string 3 | } 4 | 5 | export type TComponentsVersionItems = Record 6 | -------------------------------------------------------------------------------- /documentation/src/customTypes/customValue.ts: -------------------------------------------------------------------------------- 1 | export type TCustomValueDefinitionItems = { 2 | value: string 3 | } 4 | 5 | export type TCustomValueItems = Record 6 | -------------------------------------------------------------------------------- /documentation/src/customTypes/dictionary.ts: -------------------------------------------------------------------------------- 1 | export type TDefinition = { 2 | short: string 3 | full: string 4 | } 5 | 6 | export type TDictionary = Record 7 | -------------------------------------------------------------------------------- /documentation/src/customTypes/downloads.ts: -------------------------------------------------------------------------------- 1 | export type TDownloadDefinitionItems = { 2 | path: string 3 | templateUrlBin: string 4 | templateUrlBinCheckSum: string 5 | baseUrl: string 6 | } 7 | 8 | export type TDownloadItems = Record 9 | -------------------------------------------------------------------------------- /documentation/src/customTypes/errorCodes.ts: -------------------------------------------------------------------------------- 1 | export type TRespondsCodesItems = { 2 | grpcCode: string 3 | grpcNumber: string 4 | httpCode: string 5 | description: string | React.JSX.Element 6 | } 7 | 8 | export type TRespondsCodes = Record 9 | -------------------------------------------------------------------------------- /documentation/src/customTypes/ports.ts: -------------------------------------------------------------------------------- 1 | export type TPortsDefinitionItems = { 2 | portNumber: string 3 | } 4 | 5 | export type TPortsItems = Record 6 | -------------------------------------------------------------------------------- /documentation/src/customTypes/restrictions.ts: -------------------------------------------------------------------------------- 1 | export type TRestrictionItems = (string | React.JSX.Element)[] 2 | 3 | export type TRestrictions = Record 4 | -------------------------------------------------------------------------------- /documentation/src/customTypes/terminology.ts: -------------------------------------------------------------------------------- 1 | export type TTerminology = { 2 | name: string 3 | comment?: string 4 | definition: string | React.JSX.Element 5 | link?: string 6 | } 7 | -------------------------------------------------------------------------------- /documentation/src/global.d.ts: -------------------------------------------------------------------------------- 1 | /* eslint-disable import/no-default-export */ 2 | /* eslint-disable @typescript-eslint/no-explicit-any */ 3 | declare module '@theme/*' { 4 | const content: any 5 | export default content 6 | } 7 | 8 | declare module '@theme-original/*' { 9 | const content: any 10 | export default content 11 | } 12 | 13 | declare module '@theme-bootswatch/*' { 14 | const content: any 15 | export default content 16 | } 17 | 18 | declare module '*.module.css' { 19 | const classes: { [key: string]: string } 20 | export default classes 21 | } 22 | -------------------------------------------------------------------------------- /documentation/src/pages/index.tsx: -------------------------------------------------------------------------------- 1 | /* eslint-disable import/no-default-export */ 2 | import React, { FC } from 'react' 3 | import Layout from '@theme/Layout' 4 | import { Header } from '@site/src/components/Landing/molecules' 5 | 6 | const LandingPage: FC = () => { 7 | return ( 8 | 9 |
10 | 11 | ) 12 | } 13 | 14 | export default LandingPage 15 | -------------------------------------------------------------------------------- /documentation/src/pages/markdown-page.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Markdown page example 3 | --- 4 | 5 | # Markdown page example 6 | 7 | You don't need React to write simple standalone pages. 8 | -------------------------------------------------------------------------------- /documentation/src/sidebars/technical-docs/cilium.ts: -------------------------------------------------------------------------------- 1 | export const cilium = [ 2 | { 3 | type: 'doc', 4 | label: '5.7.1. Отладка', 5 | id: 'tech-docs/cilium/cilium-main', 6 | }, 7 | ] 8 | -------------------------------------------------------------------------------- /documentation/src/theme/Navbar/ColorModeToggle/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import {useColorMode, useThemeConfig} from '@docusaurus/theme-common'; 3 | import ColorModeToggle from '@theme/ColorModeToggle'; 4 | import styles from './styles.module.css'; 5 | export default function NavbarColorModeToggle({className}) { 6 | const navbarStyle = useThemeConfig().navbar.style; 7 | const disabled = useThemeConfig().colorMode.disableSwitch; 8 | const {colorMode, setColorMode} = useColorMode(); 9 | if (disabled) { 10 | return null; 11 | } 12 | return ( 13 | 21 | ); 22 | } 23 | -------------------------------------------------------------------------------- /documentation/src/theme/Navbar/ColorModeToggle/styles.module.css: -------------------------------------------------------------------------------- 1 | .darkNavbarColorModeToggle:hover { 2 | background: var(--ifm-color-gray-800); 3 | } 4 | -------------------------------------------------------------------------------- /documentation/src/theme/Navbar/Content/styles.module.css: -------------------------------------------------------------------------------- 1 | /* 2 | Hide color mode toggle in small viewports 3 | */ 4 | @media (max-width: 996px) { 5 | .colorModeToggle { 6 | display: none; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /documentation/src/theme/Navbar/Layout/styles.module.css: -------------------------------------------------------------------------------- 1 | .navbarHideable { 2 | transition: transform var(--ifm-transition-fast) ease; 3 | } 4 | 5 | .navbarHidden { 6 | transform: translate3d(0, calc(-100% - 2px), 0); 7 | } 8 | -------------------------------------------------------------------------------- /documentation/src/theme/Navbar/Logo/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import Logo from '@theme/Logo'; 3 | export default function NavbarLogo() { 4 | return ( 5 | 10 | ); 11 | } 12 | -------------------------------------------------------------------------------- /documentation/src/theme/Navbar/MobileSidebar/Layout/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import clsx from 'clsx'; 3 | import {useNavbarSecondaryMenu} from '@docusaurus/theme-common/internal'; 4 | export default function NavbarMobileSidebarLayout({ 5 | header, 6 | primaryMenu, 7 | secondaryMenu, 8 | }) { 9 | const {shown: secondaryMenuShown} = useNavbarSecondaryMenu(); 10 | return ( 11 |
12 | {header} 13 |
17 |
{primaryMenu}
18 |
{secondaryMenu}
19 |
20 |
21 | ); 22 | } 23 | -------------------------------------------------------------------------------- /documentation/src/theme/Navbar/MobileSidebar/PrimaryMenu/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import { useThemeConfig } from '@docusaurus/theme-common' 3 | import { useNavbarMobileSidebar } from '@docusaurus/theme-common/internal' 4 | import NavbarItem from '@theme/NavbarItem' 5 | // import { GithubLinkMob } from '@site/src/components/GithubLink' 6 | function useNavbarItems() { 7 | // TODO temporary casting until ThemeConfig type is improved 8 | return useThemeConfig().navbar.items 9 | } 10 | // The primary menu displays the navbar items 11 | export default function NavbarMobilePrimaryMenu() { 12 | const mobileSidebar = useNavbarMobileSidebar() 13 | // TODO how can the order be defined for mobile? 14 | // Should we allow providing a different list of items? 15 | const items = useNavbarItems() 16 | return ( 17 | <> 18 |
    19 | {items.map((item, i) => ( 20 | mobileSidebar.toggle()} key={i} /> 21 | ))} 22 |
23 | {/* */} 24 | 25 | ) 26 | } 27 | -------------------------------------------------------------------------------- /documentation/src/theme/Navbar/MobileSidebar/Toggle/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import {useNavbarMobileSidebar} from '@docusaurus/theme-common/internal'; 3 | import {translate} from '@docusaurus/Translate'; 4 | import IconMenu from '@theme/Icon/Menu'; 5 | export default function MobileSidebarToggle() { 6 | const {toggle, shown} = useNavbarMobileSidebar(); 7 | return ( 8 | 21 | ); 22 | } 23 | -------------------------------------------------------------------------------- /documentation/src/theme/Navbar/MobileSidebar/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import { 3 | useLockBodyScroll, 4 | useNavbarMobileSidebar, 5 | } from '@docusaurus/theme-common/internal'; 6 | import NavbarMobileSidebarLayout from '@theme/Navbar/MobileSidebar/Layout'; 7 | import NavbarMobileSidebarHeader from '@theme/Navbar/MobileSidebar/Header'; 8 | import NavbarMobileSidebarPrimaryMenu from '@theme/Navbar/MobileSidebar/PrimaryMenu'; 9 | import NavbarMobileSidebarSecondaryMenu from '@theme/Navbar/MobileSidebar/SecondaryMenu'; 10 | export default function NavbarMobileSidebar() { 11 | const mobileSidebar = useNavbarMobileSidebar(); 12 | useLockBodyScroll(mobileSidebar.shown); 13 | if (!mobileSidebar.shouldRender) { 14 | return null; 15 | } 16 | return ( 17 | } 19 | primaryMenu={} 20 | secondaryMenu={} 21 | /> 22 | ); 23 | } 24 | -------------------------------------------------------------------------------- /documentation/src/theme/Navbar/Search/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import clsx from 'clsx'; 3 | import styles from './styles.module.css'; 4 | export default function NavbarSearch({children, className}) { 5 | return ( 6 |
7 | {children} 8 |
9 | ); 10 | } 11 | -------------------------------------------------------------------------------- /documentation/src/theme/Navbar/Search/styles.module.css: -------------------------------------------------------------------------------- 1 | /* 2 | Workaround to avoid rendering empty search container 3 | See https://github.com/facebook/docusaurus/pull/9385 4 | */ 5 | /* 6 | TODO temporary @supports check, remove before 2025 7 | only needed for Firefox < 121 8 | see https://github.com/facebook/docusaurus/issues/9527#issuecomment-1805272379 9 | */ 10 | @supports selector(:has(*)) { 11 | .navbarSearchContainer:not(:has(> *)) { 12 | display: none; 13 | } 14 | } 15 | 16 | @media (max-width: 996px) { 17 | .navbarSearchContainer { 18 | position: absolute; 19 | right: var(--ifm-navbar-padding-horizontal); 20 | } 21 | } 22 | 23 | @media (min-width: 997px) { 24 | .navbarSearchContainer { 25 | padding: var(--ifm-navbar-item-padding-vertical) 26 | var(--ifm-navbar-item-padding-horizontal); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /documentation/src/theme/Navbar/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import NavbarLayout from '@theme/Navbar/Layout'; 3 | import NavbarContent from '@theme/Navbar/Content'; 4 | export default function Navbar() { 5 | return ( 6 | 7 | 8 | 9 | ); 10 | } 11 | -------------------------------------------------------------------------------- /documentation/src/theme/Root.js: -------------------------------------------------------------------------------- 1 | // src/theme/Root.js 2 | import React from 'react' 3 | import { ConfigProvider, theme as antdtheme } from 'antd' 4 | import DefaultRoot from '@theme-original/Root' 5 | 6 | function Root({ children }) { 7 | return ( 8 | 13 | {children} 14 | 15 | ) 16 | } 17 | 18 | export default Root 19 | -------------------------------------------------------------------------------- /documentation/src/utils/getBasePrefix.ts: -------------------------------------------------------------------------------- 1 | export const getBasePrefix = (): string | undefined => process.env.BASEURL 2 | -------------------------------------------------------------------------------- /documentation/static/.nojekyll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PRO-Robotech/in-cloud-docs/33490254a86639b0525b881c09254ac87aee7c65/documentation/static/.nojekyll -------------------------------------------------------------------------------- /documentation/static/CNAME: -------------------------------------------------------------------------------- 1 | docs.dobry-kot.ru 2 | -------------------------------------------------------------------------------- /documentation/static/img/background.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PRO-Robotech/in-cloud-docs/33490254a86639b0525b881c09254ac87aee7c65/documentation/static/img/background.jpg -------------------------------------------------------------------------------- /documentation/static/img/commics/monkey-user/aaa-bug.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PRO-Robotech/in-cloud-docs/33490254a86639b0525b881c09254ac87aee7c65/documentation/static/img/commics/monkey-user/aaa-bug.png -------------------------------------------------------------------------------- /documentation/static/img/commics/monkey-user/astonishment.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PRO-Robotech/in-cloud-docs/33490254a86639b0525b881c09254ac87aee7c65/documentation/static/img/commics/monkey-user/astonishment.png -------------------------------------------------------------------------------- /documentation/static/img/commics/monkey-user/astonishment5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PRO-Robotech/in-cloud-docs/33490254a86639b0525b881c09254ac87aee7c65/documentation/static/img/commics/monkey-user/astonishment5.png -------------------------------------------------------------------------------- /documentation/static/img/commics/monkey-user/astonishment6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PRO-Robotech/in-cloud-docs/33490254a86639b0525b881c09254ac87aee7c65/documentation/static/img/commics/monkey-user/astonishment6.png -------------------------------------------------------------------------------- /documentation/static/img/commics/monkey-user/bug-carrot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PRO-Robotech/in-cloud-docs/33490254a86639b0525b881c09254ac87aee7c65/documentation/static/img/commics/monkey-user/bug-carrot.png -------------------------------------------------------------------------------- /documentation/static/img/commics/monkey-user/bug-carrot2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PRO-Robotech/in-cloud-docs/33490254a86639b0525b881c09254ac87aee7c65/documentation/static/img/commics/monkey-user/bug-carrot2.png -------------------------------------------------------------------------------- /documentation/static/img/commics/monkey-user/image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PRO-Robotech/in-cloud-docs/33490254a86639b0525b881c09254ac87aee7c65/documentation/static/img/commics/monkey-user/image.png -------------------------------------------------------------------------------- /documentation/static/img/commics/monkey-user/k8s.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PRO-Robotech/in-cloud-docs/33490254a86639b0525b881c09254ac87aee7c65/documentation/static/img/commics/monkey-user/k8s.png -------------------------------------------------------------------------------- /documentation/static/img/commics/monkey-user/nice-man.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PRO-Robotech/in-cloud-docs/33490254a86639b0525b881c09254ac87aee7c65/documentation/static/img/commics/monkey-user/nice-man.png -------------------------------------------------------------------------------- /documentation/static/img/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PRO-Robotech/in-cloud-docs/33490254a86639b0525b881c09254ac87aee7c65/documentation/static/img/favicon.ico -------------------------------------------------------------------------------- /documentation/static/img/paws.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PRO-Robotech/in-cloud-docs/33490254a86639b0525b881c09254ac87aee7c65/documentation/static/img/paws.png -------------------------------------------------------------------------------- /documentation/static/img/rick-20m.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PRO-Robotech/in-cloud-docs/33490254a86639b0525b881c09254ac87aee7c65/documentation/static/img/rick-20m.png -------------------------------------------------------------------------------- /documentation/static/img/sgroups.monitoring.metrics.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PRO-Robotech/in-cloud-docs/33490254a86639b0525b881c09254ac87aee7c65/documentation/static/img/sgroups.monitoring.metrics.png -------------------------------------------------------------------------------- /documentation/static/js/observer.js: -------------------------------------------------------------------------------- 1 | const debounce = (method, delay) => { 2 | clearTimeout(method._tId) 3 | method._tId = setTimeout(() => { 4 | method() 5 | }, delay) 6 | } 7 | 8 | window.onscroll = () => 9 | debounce(() => { 10 | const className = 'header-not-at-top' 11 | const distanceScrolled = document.documentElement.scrollTop 12 | if ( 13 | (!document.body.classList.contains(className) && distanceScrolled > 220) || 14 | (document.body.classList.contains(className) && distanceScrolled > 100) 15 | ) { 16 | document.body.classList.add('header-not-at-top') 17 | } else { 18 | document.body.classList.remove('header-not-at-top') 19 | } 20 | }, 100) 21 | -------------------------------------------------------------------------------- /documentation/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | // This file is not used in compilation. It is here just for a nice editor experience. 3 | "extends": "@docusaurus/tsconfig", 4 | "compilerOptions": { 5 | "baseUrl": "." 6 | }, 7 | "include": ["src", "./sidebars.ts"] 8 | } 9 | --------------------------------------------------------------------------------