├── .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 |
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 |
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 |
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 |
19 |
20 |
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 |
--------------------------------------------------------------------------------