From f3db4a9ff6c7b30431ec326a3df11ab950383128 Mon Sep 17 00:00:00 2001 From: zeaslity Date: Fri, 14 Jun 2024 11:41:38 +0800 Subject: [PATCH] [agent-operator] - cmii deploy part - basic accomplished --- agent-deploy/OctopusDeploy.go | 56 +++------ agent-deploy/z_dep/G.go | 32 ++--- agent-operator/CmiiDeployOperator.go | 116 +++++++++++++----- agent-operator/K8sOperator.go | 33 ++++- agent-operator/config/CmiiK8sConfig.go | 24 +++- agent-operator/config/cmii-dev-cluster.yaml | 25 ++-- .../config/cmii-dev-old-cluster.yaml | 18 +++ 7 files changed, 202 insertions(+), 102 deletions(-) create mode 100644 agent-operator/config/cmii-dev-old-cluster.yaml diff --git a/agent-deploy/OctopusDeploy.go b/agent-deploy/OctopusDeploy.go index 2526079..5090589 100755 --- a/agent-deploy/OctopusDeploy.go +++ b/agent-deploy/OctopusDeploy.go @@ -2,7 +2,6 @@ package agent_deploy import ( "os" - "strings" image2 "wdd.io/agent-common/image" "wdd.io/agent-common/logger" "wdd.io/agent-common/utils" @@ -168,72 +167,49 @@ func configMapDeploy(common *z_dep.CommonEnvironmentConfig) { } // CmiiEnvironmentDeploy 部署完整的CMII环境的所有组件 -func CmiiEnvironmentDeploy(isCompleteDeploy bool, cmiiNameSpace string, backendImageVersionMap, frontendImageVersionMap map[string]string) (applyYamlFolder string) { - - folderPrefix := "/home/wdd/IdeaProjects/ProjectOctopus/agent-deploy/" + cmiiNameSpace + "/" - - tenantEnv := cmiiNameSpace - if strings.Contains(cmiiNameSpace, "-") { - split := strings.Split(cmiiNameSpace, "-") - tenantEnv = split[len(split)-1] - } - - // common environment - common := &z_dep.CommonEnvironmentConfig{ - WebIP: "lab.uavcmlc.com", - WebPort: "", - HarborIP: image2.CmiiHarborPrefix, - HarborPort: "", - Namespace: cmiiNameSpace, - TagVersion: "5.5.0", - TenantEnv: tenantEnv, - ApplyFilePrefix: folderPrefix, - } +func CmiiEnvironmentDeploy(isCompleteDeploy bool, commonEnv *z_dep.CommonEnvironmentConfig, backendImageVersionMap, frontendImageVersionMap map[string]string) { // clear old apply file - _ = os.Mkdir(folderPrefix, os.ModePerm) + _ = os.Mkdir(commonEnv.ApplyFilePrefix, os.ModePerm) - oldApplyFileFolder := folderPrefix + "old" + oldApplyFileFolder := commonEnv.ApplyFilePrefix + "old" utils.RemoveFolderComplete(oldApplyFileFolder) _ = os.Mkdir(oldApplyFileFolder, os.ModePerm) // move all apply file to old folder - _ = utils.FolderMoveFiles(folderPrefix, oldApplyFileFolder) + _ = utils.FolderMoveFiles(commonEnv.ApplyFilePrefix, oldApplyFileFolder) // clear all middleware data // ignore redis rabbitmq mongo nacos emqx // sync mysql-data // generate - common.GenerateApplyFilePath() + commonEnv.GenerateApplyFilePath() // generate new apply file for specific environment if isCompleteDeploy { // pvc - b_middle.PVCDeploy(common) + b_middle.PVCDeploy(commonEnv) // middlewares - b_middle.MidMySQlDeploy(common) - b_middle.MidRedisDeploy(common) - b_middle.MidEmqxDeploy(common) - b_middle.MidMongoDeploy(common) - b_middle.MidRabbitMQDeploy(common) - b_middle.MidNacosDeploy(common) + b_middle.MidMySQlDeploy(commonEnv) + b_middle.MidRedisDeploy(commonEnv) + b_middle.MidEmqxDeploy(commonEnv) + b_middle.MidMongoDeploy(commonEnv) + b_middle.MidRabbitMQDeploy(commonEnv) + b_middle.MidNacosDeploy(commonEnv) - configMapDeploy(common) - c_app.IngressDeploy(common) + configMapDeploy(commonEnv) + c_app.IngressDeploy(commonEnv) } // frontend // frontend - frontendDeploy(common, frontendImageVersionMap) + frontendDeploy(commonEnv, frontendImageVersionMap) // backend - backendDeploy(common, backendImageVersionMap) + backendDeploy(commonEnv, backendImageVersionMap) - // apply for them - - return folderPrefix } diff --git a/agent-deploy/z_dep/G.go b/agent-deploy/z_dep/G.go index 4db1446..62c0e31 100755 --- a/agent-deploy/z_dep/G.go +++ b/agent-deploy/z_dep/G.go @@ -4,6 +4,7 @@ import ( "bytes" "fmt" "github.com/go-playground/validator/v10" + "path/filepath" "text/template" "wdd.io/agent-common/assert" "wdd.io/agent-common/logger" @@ -82,22 +83,21 @@ func (env *CommonEnvironmentConfig) GenerateApplyFilePath() { Asserter.NotEmpty(env.ApplyFilePrefix, "apply file prefix is empty!") - K8sDashboardApplyFilePath = env.ApplyFilePrefix + "k8s-dashboard.yaml" - EmqxApplyFilePath = env.ApplyFilePrefix + "k8s-emqx.yaml" - MongoApplyFilePath = env.ApplyFilePrefix + "k8s-mongo.yaml" - RabbitMQApplyFilePath = env.ApplyFilePrefix + "k8s-rabbitmq.yaml" - RedisApplyFilePath = env.ApplyFilePrefix + "k8s-redis.yaml" - MySQLApplyFilePath = env.ApplyFilePrefix + "k8s-mysql.yaml" - NacosApplyFilePath = env.ApplyFilePrefix + "k8s-nacos.yaml" - PVCApplyFilePath = env.ApplyFilePrefix + "k8s-pvc.yaml" - NfsApplyFilePath = env.ApplyFilePrefix + "k8s-nfs.yaml" - NfsTestApplyFilePath = env.ApplyFilePrefix + "k8s-nfs-test.yaml" - - BackendApplyFilePath = env.ApplyFilePrefix + "k8s-backend.yaml" - FrontendApplyFilePath = env.ApplyFilePrefix + "k8s-frontend.yaml" - SRSApplyFilePath = env.ApplyFilePrefix + "k8s-srs.yaml" - IngresApplyFilePath = env.ApplyFilePrefix + "k8s-ingress.yaml" - ConfigMapApplyFilePath = env.ApplyFilePrefix + "k8s-configmap.yaml" + K8sDashboardApplyFilePath = filepath.Join(env.ApplyFilePrefix, "k8s-dashboard.yaml") + EmqxApplyFilePath = filepath.Join(env.ApplyFilePrefix, "k8s-emqx.yaml") + MongoApplyFilePath = filepath.Join(env.ApplyFilePrefix, "k8s-mongo.yaml") + RabbitMQApplyFilePath = filepath.Join(env.ApplyFilePrefix, "k8s-rabbitmq.yaml") + RedisApplyFilePath = filepath.Join(env.ApplyFilePrefix, "k8s-redis.yaml") + MySQLApplyFilePath = filepath.Join(env.ApplyFilePrefix, "k8s-mysql.yaml") + NacosApplyFilePath = filepath.Join(env.ApplyFilePrefix, "k8s-nacos.yaml") + PVCApplyFilePath = filepath.Join(env.ApplyFilePrefix, "k8s-pvc.yaml") + NfsApplyFilePath = filepath.Join(env.ApplyFilePrefix, "k8s-nfs.yaml") + NfsTestApplyFilePath = filepath.Join(env.ApplyFilePrefix, "k8s-nfs-test.yaml") + BackendApplyFilePath = filepath.Join(env.ApplyFilePrefix, "k8s-backend.yaml") + FrontendApplyFilePath = filepath.Join(env.ApplyFilePrefix, "k8s-frontend.yaml") + SRSApplyFilePath = filepath.Join(env.ApplyFilePrefix, "k8s-srs.yaml") + IngresApplyFilePath = filepath.Join(env.ApplyFilePrefix, "k8s-ingress.yaml") + ConfigMapApplyFilePath = filepath.Join(env.ApplyFilePrefix, "k8s-configmap.yaml") } diff --git a/agent-operator/CmiiDeployOperator.go b/agent-operator/CmiiDeployOperator.go index dad0e53..d4dbdf3 100755 --- a/agent-operator/CmiiDeployOperator.go +++ b/agent-operator/CmiiDeployOperator.go @@ -1,25 +1,47 @@ package main import ( - "fmt" "os" "path/filepath" + "strings" + image2 "wdd.io/agent-common/image" "wdd.io/agent-common/utils" agent_deploy "wdd.io/agent-deploy" + "wdd.io/agent-deploy/z_dep" "wdd.io/agent-operator/image" ) func CmiiEnvDeploy() { - // 完整部署 - shouldDoCompleteDeploy := true - // 部署的环境 cmiiNamespace := dev + // 完整部署 + shouldDoCompleteDeploy := true + // 输出特定版本的Tag 或者 从DEMO环境拉取 DeploySpecificTag := "5.5.0" + folderPrefix := "/home/wdd/IdeaProjects/ProjectOctopus/agent-deploy/" + cmiiNamespace + "/" + + tenantEnv := cmiiNamespace + if strings.Contains(cmiiNamespace, "-") { + split := strings.Split(cmiiNamespace, "-") + tenantEnv = split[len(split)-1] + } + + // common environment + common := &z_dep.CommonEnvironmentConfig{ + WebIP: "lab.uavcmlc.com", + WebPort: "", + HarborIP: image2.CmiiHarborPrefix, + HarborPort: "", + Namespace: cmiiNamespace, + TagVersion: DeploySpecificTag, + TenantEnv: tenantEnv, + ApplyFilePrefix: folderPrefix, + } + var backendMap map[string]string var frontendMap map[string]string var srsMap map[string]string @@ -37,35 +59,77 @@ func CmiiEnvDeploy() { utils.BeautifulPrintWithTitle(srsMap, "srsMap") // generate and get all old stuff - applyYamlFolder := agent_deploy.CmiiEnvironmentDeploy(shouldDoCompleteDeploy, cmiiNamespace, backendMap, frontendMap) - - fmt.Println(applyYamlFolder) + agent_deploy.CmiiEnvironmentDeploy(shouldDoCompleteDeploy, common, backendMap, frontendMap) // test - //GetNodeWideByKubectl(cmiiNamespace) + GetNodeWideByKubectl(cmiiNamespace) // clear old apply file //clearOldApplyStuff(applyYamlFolder+"old/", cmiiNamespace) // apply new app - //applyNewAppStuff(applyYamlFolder, cmiiNamespace) + //applyNewAppStuff(common, shouldDoCompleteDeploy) } -func applyNewAppStuff(applyYamlFolder string, cmiiEnv string) bool { - files, err := os.ReadDir(applyYamlFolder) +func applyNewAppStuff(common *z_dep.CommonEnvironmentConfig, shouldDoCompleteDeploy bool) bool { + files, err := os.ReadDir(common.ApplyFilePrefix) if err != nil { log.ErrorF("failed to read directory: %v", err) return false } - - for _, file := range files { - if filepath.Ext(file.Name()) == ".yaml" || filepath.Ext(file.Name()) == ".yml" { - filePath := filepath.Join(applyYamlFolder, file.Name()) - ApplyByKubectl(filePath, cmiiEnv) - } + if len(files) == 0 { + log.WarnF("no apply file found in %s", common.ApplyFilePrefix) + return false } + namespace := common.Namespace + + if shouldDoCompleteDeploy { + + // mysql + ApplyByKubectl(z_dep.MySQLApplyFilePath, namespace) + if !DefaultCmiiOperator.PodStatusCheckTimeout("helm-mysql-0", namespace, 180) { + return false + } + + // mongo + ApplyByKubectl(z_dep.MongoApplyFilePath, namespace) + if !DefaultCmiiOperator.PodStatusCheckTimeout("helm-mongo-0", namespace, 180) { + return false + } + + // redis + ApplyByKubectl(z_dep.RedisApplyFilePath, namespace) + if !DefaultCmiiOperator.PodStatusCheckTimeout("helm-redis-master-0", namespace, 180) { + return false + } + if !DefaultCmiiOperator.PodStatusCheckTimeout("helm-redis-replicas-0", namespace, 180) { + return false + } + + // rabbitmq + ApplyByKubectl(z_dep.RabbitMQApplyFilePath, namespace) + if !DefaultCmiiOperator.PodStatusCheckTimeout("helm-rabbitmq-0", namespace, 180) { + return false + } + + // nacos + ApplyByKubectl(z_dep.NacosApplyFilePath, namespace) + if !DefaultCmiiOperator.PodStatusCheckTimeout("helm-nacos-0", namespace, 180) { + return false + } + + } + + // frontend + ApplyByKubectl(z_dep.IngresApplyFilePath, namespace) + ApplyByKubectl(z_dep.ConfigMapApplyFilePath, namespace) + ApplyByKubectl(z_dep.FrontendApplyFilePath, namespace) + + // backend + ApplyByKubectl(z_dep.BackendApplyFilePath, namespace) + return true } @@ -78,7 +142,7 @@ func clearOldApplyStuff(oldApplyYamlFolder string, cmiiEnv string) bool { } // rearrange - rearrangeCmiiDeploySequence(files) + //rearrangeCmiiDeploySequence(files) for _, file := range files { if filepath.Ext(file.Name()) == ".yaml" || filepath.Ext(file.Name()) == ".yml" { @@ -92,21 +156,11 @@ func clearOldApplyStuff(oldApplyYamlFolder string, cmiiEnv string) bool { // rearrangeCmiiDeploySequence 重新排序CmiiDeploy顺序 func rearrangeCmiiDeploySequence(files []os.DirEntry) { - k8s - backend.yaml - k8s - configmap.yaml - k8s - emqx.yaml - k8s - frontend.yaml - k8s - ingress.yaml - k8s - mongo.yaml - k8s - mysql.yaml - k8s - nacos.yaml - k8s - pvc.yaml - k8s - rabbitmq.yaml - k8s - redis.yaml + for _, file := range files { if filepath.Ext(file.Name()) == ".yaml" || filepath.Ext(file.Name()) == ".yml" { - filePath := filepath.Join(oldApplyYamlFolder, file.Name()) - DeleteByKubectl(filePath, cmiiEnv) + //filePath := filepath.Join(oldApplyYamlFolder, file.Name()) + //DeleteByKubectl(filePath, cmiiEnv) } } } diff --git a/agent-operator/K8sOperator.go b/agent-operator/K8sOperator.go index 088ca71..8fbf1c4 100755 --- a/agent-operator/K8sOperator.go +++ b/agent-operator/K8sOperator.go @@ -50,8 +50,8 @@ const ( workerThread = 4 ) -var CmiiDevClusterK8sConfig string -var CmiiCoreClusterK8sConfig string +var CmiiDevClusterK8sConfig string // used for kubectl +var CmiiCoreClusterK8sConfig string // used for kubectl func init() { @@ -953,6 +953,35 @@ func (op *CmiiK8sOperator) PodExec(cmiiEnv string, podInterface CmiiPodInterface return stdout, stderr } +func (op *CmiiK8sOperator) PodStatusCheckTimeout(specificPod string, cmiiEnv string, waitTimeOut int) bool { + + op.changeOperatorEnv(cmiiEnv) + client := op.CurrentClient + + // 设置超时时间和时间间隔 + timeout := time.After(time.Duration(waitTimeOut) * time.Second) + tick := time.Tick(5 * time.Second) + + // 监控Pod状态 + for { + select { + case <-timeout: + log.ErrorF("[K8sCheckPodStatusTimeout] - 命名空间: [%s], Pod名称: [%s], 状态: 失败!", cmiiEnv, specificPod) + return false + case <-tick: + pod, err := client.CoreV1().Pods(cmiiEnv).Get(context.TODO(), specificPod, metav1.GetOptions{}) + if err != nil { + log.ErrorF("[K8sCheckPodStatusTimeout] - 命名空间: [%s], Pod名称: [%s], 获取Pod信息失败 !", cmiiEnv, err.Error()) + } else { + log.DebugF("[K8sCheckPodStatusTimeout] - 命名空间: [%s], Pod名称: [%s], 状态: [%s]", cmiiEnv, pod.Name, pod.Status.Phase) + if pod.Status.Phase == corev1.PodRunning || pod.Status.Phase == corev1.PodSucceeded { + return true + } + } + } + } +} + func (op *CmiiK8sOperator) NodeAll(cmiiEnv string) (nodeListR []corev1.Node) { op.changeOperatorEnv(cmiiEnv) client := op.CurrentClient diff --git a/agent-operator/config/CmiiK8sConfig.go b/agent-operator/config/CmiiK8sConfig.go index 0fa3937..229d80d 100755 --- a/agent-operator/config/CmiiK8sConfig.go +++ b/agent-operator/config/CmiiK8sConfig.go @@ -1,6 +1,28 @@ package config -var CmiiDevK8sConfig = `apiVersion: v1 +var CmiiDevK8sConfig = ` +apiVersion: v1 +kind: Config +clusters: + - cluster: + api-version: v1 + certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUN3akNDQWFxZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRc0ZBREFTTVJBd0RnWURWUVFERXdkcmRXSmwKTFdOaE1CNFhEVEkwTURZd05UQTRNakl4T0ZvWERUTTBNRFl3TXpBNE1qSXhPRm93RWpFUU1BNEdBMVVFQXhNSAphM1ZpWlMxallUQ0NBU0l3RFFZSktvWklodmNOQVFFQkJRQURnZ0VQQURDQ0FRb0NnZ0VCQUxsWFhmZGwrbkxnCkt2RnV6OFVkNTQ0T2Q2M1RpaHNOYzMvZlJZSXdEcWNLcXo3ditEQVZzYTZXem94WUxHK1BOaDFHbzZYeXBKSXoKV1hWNFN4NC9mVXo0S2hpMW5mY3RnSkVReVdnU3ZkbDVpcEQxaTJIRkEvR3Jnb3R2RkljN0IwRExVdzBrb3F0Ygo2QzlSYnhNSFFpWk1yZXlzelJYWXRGN3J1c1dHb2J5eGc5RFZsczdTWmdGMjhOSkZXOHNFa0FMaWRwMTBUVENECk05QkhENXdEQkRVMGsyMzFRaE1lY3IzL2YzZDVvOG8vVklLTWs0VDFIZ2lMM0NuZmZlc2FGeTNVSnlxSnBERkUKYmtici9uSmNxcXZ5emxnQ1hsSEtTUlN1ZFN1QkVhbHVRbTczSC83b05oVHE2Y1BkN0hwUHdnK3BTR0kvd0h6NwpHaHNReVVCRXNoa0NBd0VBQWFNak1DRXdEZ1lEVlIwUEFRSC9CQVFEQWdLa01BOEdBMVVkRXdFQi93UUZNQU1CCkFmOHdEUVlKS29aSWh2Y05BUUVMQlFBRGdnRUJBREJUSlc0ckNQSFNraVQzZ1RsQWJ5a0VsMlF4cFBwRHRLdWwKUHU0cDVsQ0RUZWhJTWFabnlnREZMajlpN2tQQ3lGb1JQaFRxcyswaWVId0p3N2xYWG00dnNOTGZXajN3MDV1Rgo0dnM1N0JRZTI2VzBSZWNMdG5iUFNYVXBJdDBxcjV2VVcwVkYxNk1wdm40ZzZIL2Rvc0hxOUlHcTBMWFpWaU5sClhPUUgvUXZNOG5xTWM4RHFaSG9DUzNvQ3NGQWVTeHd2eFQvY3QwRDUwVWE3ZWtlRllVLzZkSzY0dkk5bzJhY0UKSWc1UkhnM0NlR2RNN2VLdXN1bUpjL1FOeHZTd3pwS0xjWjlzNnpLODVRdlB2dFlTWmRYVEhmdlVENUpHdlFoQwpjLzlMci9BV0hBWUxOOXpOSEdOdE9nK0h1TTBPVHZKeWZkYnF0dVJXTklOL2NlYmhnTTA9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K + server: "https://192.168.35.178:6443" + name: "rke-cluster" +contexts: + - context: + cluster: "rke-cluster" + user: "kube-admin-rke-cluster" + name: "rke-cluster" +current-context: "rke-cluster" +users: + - name: "kube-admin-rke-cluster" + user: + client-certificate-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUM2VENDQWRHZ0F3SUJBZ0lJQmtVSkFlMU9yMW93RFFZSktvWklodmNOQVFFTEJRQXdFakVRTUE0R0ExVUUKQXhNSGEzVmlaUzFqWVRBZUZ3MHlOREEyTURVd09ESXlNVGhhRncwek5EQTJNRE13T0RJeU1UbGFNQzR4RnpBVgpCZ05WQkFvVERuTjVjM1JsYlRwdFlYTjBaWEp6TVJNd0VRWURWUVFERXdwcmRXSmxMV0ZrYldsdU1JSUJJakFOCkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQXNLTS9KclZCRjJhejV5Wlcwb0ZoN0dCNnhkYW8KWjh4cnk2MXBob0FmM3gxbmxJUkhtK08vaDdCbVdpNXBCciswV1FOUEJNV3pXT3FCa1VDcWVrZHJEd3VqM3VpZQoxVzJ0d2tUUDhmb1NZK1ZQY2xPWkJIR0NrNzZad0N0SFlTb05mci9PcHQyb2grNFptVUdlcFJjNndrYzNXTkxXClB6djh0NUFTZGJTbnYxUXZJaVg5Z1kySWpjRlU0YUdudW9PQ29Rdzd5OUdIOWJOMHMwM2hMN0kraXhoTm16TlIKajVoOEU4SGhPVzhSZXVwUzBDSlVVazZwSzZRUFcwd0hRME9pajVIV1JZRmd1aTFDaE9vcTN0emVlVTBvRytRegpPN1M1bFB0NExYdFpGN1NvSWFMb1A5bG9valpMWFhlY21QcnBTS3NOY2p2K3FnNk93d3BhZXNDaG5RSURBUUFCCm95Y3dKVEFPQmdOVkhROEJBZjhFQkFNQ0JhQXdFd1lEVlIwbEJBd3dDZ1lJS3dZQkJRVUhBd0l3RFFZSktvWkkKaHZjTkFRRUxCUUFEZ2dFQkFEcHJJMGRtZTMrK0RRWmVTNjRuSHBySHBwNGxFU2t5UkNsNVdjd3gvR00yc2s5bQp5Z0Jmcjlkd2dJQmFpSU5XQld3YWFlWVdBaS91dXJTRTZ2cUxkeUNlVkRNeGlQWnhPS3hLd3ZtWFpHL2lsRkxjCk50TEg5R3pGY0RqdUM4QndpRDAxbnlaTHZsRVV3TW9DVEpQNi96VGRpV3JqU1VHVXVIN1FkTHhNN29ROU4za0YKNm5qUzlZV2JYU1hVckNXc2pna1lIMmphTXEyZzFuNU9mN3JQOXptZjJBZ1VVVUlmYzhIaS9RQWx6eWRIdlFqUQpHNlFGUjF4aGg0ZzFtcUw5aWQyek1sZXQvZXNqSWlwemZJMzF4L1lvd2lnNlZPeDhkQWNQMFZBZXpOS3Y3cmJaCkdYSFNwcEJrOS9GdFFyMytWTitsTWVtS2dqTG40Tk1EZjkzOTcxcz0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo= + client-key-data: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFb3dJQkFBS0NBUUVBc0tNL0pyVkJGMmF6NXlaVzBvRmg3R0I2eGRhb1o4eHJ5NjFwaG9BZjN4MW5sSVJICm0rTy9oN0JtV2k1cEJyKzBXUU5QQk1XeldPcUJrVUNxZWtkckR3dWozdWllMVcydHdrVFA4Zm9TWStWUGNsT1oKQkhHQ2s3Nlp3Q3RIWVNvTmZyL09wdDJvaCs0Wm1VR2VwUmM2d2tjM1dOTFdQenY4dDVBU2RiU252MVF2SWlYOQpnWTJJamNGVTRhR251b09Db1F3N3k5R0g5Yk4wczAzaEw3SStpeGhObXpOUmo1aDhFOEhoT1c4UmV1cFMwQ0pVClVrNnBLNlFQVzB3SFEwT2lqNUhXUllGZ3VpMUNoT29xM3R6ZWVVMG9HK1F6TzdTNWxQdDRMWHRaRjdTb0lhTG8KUDlsb29qWkxYWGVjbVBycFNLc05janYrcWc2T3d3cGFlc0NoblFJREFRQUJBb0lCQUM1QzB1dEVWVVBYdGc0MwowRTFaYlZnRy9LQ0wwNWM3eG8rVlh5bkdySkkybFVZa1RzelpIUFJna3EzVHNkWCtwekVZMkwwYk9obHpjWE9sClNBQzJhNmVKR09Yc2JvemZLTDdVWHRHMCtOUUkzb0hHdXpDYXVlUVA2eHlWT1NDTmJ2TmZNTFFySVZSWVc0UHoKMTZUTkxLcHRGR1hDOGpHbGVFNXJBU3Fxb2JSTjNHeG01R08xL0ppOHlvcG5sbVdnV0VKUjUyWXI2SVFBNk1xMQpYQXNGYzZ6UlRhVHRsN000Z3ZRU3VONVNKT1BZdkpscGJYejZ1WDRGcTRSUFc5dEFLekN5cFVDam05WGdaZ2FHCktpaHEwWVY1ZWMybFYveVZlTjBTMUs1NS9ZL3ZsOHNTNC9XbmZlZk1na2FBbytEc3FJOS9lSzduOUNQZkNUc3EKQ2VTUkJJRUNnWUVBNEtvbzJNcTkxemlJSE9BRXpTNjNKaVlzY2VqTCs5bCtCM1FUV1RteE1jc2MrUnptUW5OMQp3dllzaTdnSkVsR3hnVHJ3ai9KT3NhM1hCUnJPL0NjOXZQYzhNNnR0UEliUjVNZ29lSzFNalBvMGdhTmlsV1F5CnlScUh5RzlOMWMrMEhOZnFyUFAydzVhMysvQmZ5VS9mVEI5a0RjMU1waDZWaHNzQ2VuakhoOWtDZ1lFQXlVWSsKS1NaVzc5RFJYS1k5N0U1OG9MRGt4ajhXUllpMVlwTFc2djJPLy9McXBmU08ycmR0USs5aHR0cklrUC9hZlc0MAowMzRmOTVsKzNPR0c0b0I5VytNdUhIOVdtR1ZKNHljUlJhSk9YWXNhVk42Smh1ZGE5Y0FGRFJkRkJLZVBVRjB3Ck9NaFlBSU9OYnRKcFdENXJ0djNZTlM3ckg4K2QweU1kc2RvVHNXVUNnWUFiTFhwemYxTW56ZmJwUjFCTllmRlYKOUJnOFQyVWR1bG04blJZYUhSaUtaWC9Ed3ZNMzVxL0FQZmQxajNYSmVZaDNrYUc0U0Irczd0S3NFMm9tcHJpWgpPMjlVOE0vdUdvRVpvLzBCWERWK2VHWVJxS29zV0Vxc2VVRWp4aE1zWWt2dmtVOGFUUWowOEM2aGs1cUN4OTdEClhxakQ0cW43RG9nWUhrYldlZlhwUVFLQmdDbTdHcUJGaHJqcVByNUs2WVBaTWhYUEYxL1RMTGIyQlVXTzFHaWMKY2MyM2U5YzB3WG12bGtRRG1lcmpxYm9Ha2pKM2F4UitqZm8wSlExKzVReUpQM1NSd2JtKzNTRnp2c0lPRTVLdwplRGNFNUV5OFp4OUZVS0tyVVdESmRsSGt1OTRadENuUndBMDdPVlBFNUhxYlZwSDJSNkdmUExpM3Z5MUxscGlOCmNvL1JBb0dCQUl4OHloK1lLOHpHUlR2aTFseUdTTG90eFlWdlZMbWc4bG9CRmFzUS9tR0RhTk1rNVZ6cS9mUmgKbHU1dGUzWjhtYmxvTExUdzd1OUhRcGM3UGNqVklFV21DazBhYVA4YUs5VkpGYVQzV0xzWG1nRGIrb0tuNG9DVgpTSzZsOWVlQS9uWDA1Uk5xMEx0ekR3d3JNa2paR1VYZ3FldXJvTTF2cjJ2a2RLTkxhWEtmCi0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg== +` + +var CmiiDevOldK8sConfig = `apiVersion: v1 clusters: - cluster: certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUN5RENDQWJDZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRc0ZBREFWTVJNd0VRWURWUVFERXdwcmRXSmwKY201bGRHVnpNQjRYRFRJeE1ERXhPREEyTURZeU5Gb1hEVE14TURFeE5qQTJNRFl5TkZvd0ZURVRNQkVHQTFVRQpBeE1LYTNWaVpYSnVaWFJsY3pDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBS2ZNCjFjTjBNUnhUTkRGdEZxcnRIZ0RPM29SV0dicmVob3VFcDJ3VUVRbU8yRUFyZDdkMUFReTJsSm9WM0RUVmhXbUwKcUFUOFcxaWRaS0x0Wm5mNjEva3JPeDd0U2lJeU4xa1ErN3NYRUhnTjVMc01EOVlKcndpUFdFY2FXdU9HVmI1aApMWDZWOTRjN0U5UlFDOENtd09iSkRCNG45ZE8zcDVlTDJHaFRpMkNrRWt3ZkRPR0tEL1IxeUNaK0tFcDRWWlplCnpwcnUzRG5zOUNqZHVOT1VBWTZzUGxjazNvdEdIVnhnRC9IRlRjUEhNbGhvUVQ4dmNDOTZwc0FtYXZPR1BZQ0YKa3RtN0VWYkZDOHN5Q1BMT3AwWWhTWHRkbGtKaC9UWHBaM0hSUWJxSzVPNXR4K1dGL05qMGJVc202ZldSMzZWQgpKQVVscUJIeFhSTzhGTFNrVHkwQ0F3RUFBYU1qTUNFd0RnWURWUjBQQVFIL0JBUURBZ0trTUE4R0ExVWRFd0VCCi93UUZNQU1CQWY4d0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFKeWZ2T3hHVVYvT2wybGRQNnYxeWFSTkd5RVkKWkVxTmM2Y29LSklsd0VQNUxNYzdZNGFReWorZCtVTE4zYmIrOXZsZXdHamluTHRrUW5HZ1R3Q3pKTU5ZNlNJNQo2NzJGZEtQTE85Szdpalhway9qRE9FVHJWS25aMXJBTytOUVBmSVhpcXQ3Y1RyVHlaVzdKTVl3emZNa2VlTGErCnREdmY1Rm5vQTBLN2U3a0ZXNTBpN2pXcGh4RXRMNEJpNzAwNnU4NEpqTU5weVp1MzhKMjFXZkR1RjBoU0NQREgKS0x4cnZIZ0FOYzJWU1c2L3JPaVVCQjdiV0JkcWcyQUNVRWZwN0V3UGs2S1BsdGNiNTJtdFhCU2xiQ3pRWWw4UQpmNmVGRFIrbnRjeXNGbU1FMFI3M1lNSHJwR0dGdlduSDVaTmEyVEJYdHpwN2tNNkVPREE5a2R4WkI1dz0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo= diff --git a/agent-operator/config/cmii-dev-cluster.yaml b/agent-operator/config/cmii-dev-cluster.yaml index 584f1ad..0d17861 100755 --- a/agent-operator/config/cmii-dev-cluster.yaml +++ b/agent-operator/config/cmii-dev-cluster.yaml @@ -1,18 +1,19 @@ +apiVersion: v1 +kind: Config clusters: - cluster: - certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUN5RENDQWJDZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRc0ZBREFWTVJNd0VRWURWUVFERXdwcmRXSmwKY201bGRHVnpNQjRYRFRJeE1ERXhPREEyTURZeU5Gb1hEVE14TURFeE5qQTJNRFl5TkZvd0ZURVRNQkVHQTFVRQpBeE1LYTNWaVpYSnVaWFJsY3pDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBS2ZNCjFjTjBNUnhUTkRGdEZxcnRIZ0RPM29SV0dicmVob3VFcDJ3VUVRbU8yRUFyZDdkMUFReTJsSm9WM0RUVmhXbUwKcUFUOFcxaWRaS0x0Wm5mNjEva3JPeDd0U2lJeU4xa1ErN3NYRUhnTjVMc01EOVlKcndpUFdFY2FXdU9HVmI1aApMWDZWOTRjN0U5UlFDOENtd09iSkRCNG45ZE8zcDVlTDJHaFRpMkNrRWt3ZkRPR0tEL1IxeUNaK0tFcDRWWlplCnpwcnUzRG5zOUNqZHVOT1VBWTZzUGxjazNvdEdIVnhnRC9IRlRjUEhNbGhvUVQ4dmNDOTZwc0FtYXZPR1BZQ0YKa3RtN0VWYkZDOHN5Q1BMT3AwWWhTWHRkbGtKaC9UWHBaM0hSUWJxSzVPNXR4K1dGL05qMGJVc202ZldSMzZWQgpKQVVscUJIeFhSTzhGTFNrVHkwQ0F3RUFBYU1qTUNFd0RnWURWUjBQQVFIL0JBUURBZ0trTUE4R0ExVWRFd0VCCi93UUZNQU1CQWY4d0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFKeWZ2T3hHVVYvT2wybGRQNnYxeWFSTkd5RVkKWkVxTmM2Y29LSklsd0VQNUxNYzdZNGFReWorZCtVTE4zYmIrOXZsZXdHamluTHRrUW5HZ1R3Q3pKTU5ZNlNJNQo2NzJGZEtQTE85Szdpalhway9qRE9FVHJWS25aMXJBTytOUVBmSVhpcXQ3Y1RyVHlaVzdKTVl3emZNa2VlTGErCnREdmY1Rm5vQTBLN2U3a0ZXNTBpN2pXcGh4RXRMNEJpNzAwNnU4NEpqTU5weVp1MzhKMjFXZkR1RjBoU0NQREgKS0x4cnZIZ0FOYzJWU1c2L3JPaVVCQjdiV0JkcWcyQUNVRWZwN0V3UGs2S1BsdGNiNTJtdFhCU2xiQ3pRWWw4UQpmNmVGRFIrbnRjeXNGbU1FMFI3M1lNSHJwR0dGdlduSDVaTmEyVEJYdHpwN2tNNkVPREE5a2R4WkI1dz0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo= - server: https://192.168.11.170:16443 - name: kubernetes + api-version: v1 + certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUN3akNDQWFxZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRc0ZBREFTTVJBd0RnWURWUVFERXdkcmRXSmwKTFdOaE1CNFhEVEkwTURZd05UQTRNakl4T0ZvWERUTTBNRFl3TXpBNE1qSXhPRm93RWpFUU1BNEdBMVVFQXhNSAphM1ZpWlMxallUQ0NBU0l3RFFZSktvWklodmNOQVFFQkJRQURnZ0VQQURDQ0FRb0NnZ0VCQUxsWFhmZGwrbkxnCkt2RnV6OFVkNTQ0T2Q2M1RpaHNOYzMvZlJZSXdEcWNLcXo3ditEQVZzYTZXem94WUxHK1BOaDFHbzZYeXBKSXoKV1hWNFN4NC9mVXo0S2hpMW5mY3RnSkVReVdnU3ZkbDVpcEQxaTJIRkEvR3Jnb3R2RkljN0IwRExVdzBrb3F0Ygo2QzlSYnhNSFFpWk1yZXlzelJYWXRGN3J1c1dHb2J5eGc5RFZsczdTWmdGMjhOSkZXOHNFa0FMaWRwMTBUVENECk05QkhENXdEQkRVMGsyMzFRaE1lY3IzL2YzZDVvOG8vVklLTWs0VDFIZ2lMM0NuZmZlc2FGeTNVSnlxSnBERkUKYmtici9uSmNxcXZ5emxnQ1hsSEtTUlN1ZFN1QkVhbHVRbTczSC83b05oVHE2Y1BkN0hwUHdnK3BTR0kvd0h6NwpHaHNReVVCRXNoa0NBd0VBQWFNak1DRXdEZ1lEVlIwUEFRSC9CQVFEQWdLa01BOEdBMVVkRXdFQi93UUZNQU1CCkFmOHdEUVlKS29aSWh2Y05BUUVMQlFBRGdnRUJBREJUSlc0ckNQSFNraVQzZ1RsQWJ5a0VsMlF4cFBwRHRLdWwKUHU0cDVsQ0RUZWhJTWFabnlnREZMajlpN2tQQ3lGb1JQaFRxcyswaWVId0p3N2xYWG00dnNOTGZXajN3MDV1Rgo0dnM1N0JRZTI2VzBSZWNMdG5iUFNYVXBJdDBxcjV2VVcwVkYxNk1wdm40ZzZIL2Rvc0hxOUlHcTBMWFpWaU5sClhPUUgvUXZNOG5xTWM4RHFaSG9DUzNvQ3NGQWVTeHd2eFQvY3QwRDUwVWE3ZWtlRllVLzZkSzY0dkk5bzJhY0UKSWc1UkhnM0NlR2RNN2VLdXN1bUpjL1FOeHZTd3pwS0xjWjlzNnpLODVRdlB2dFlTWmRYVEhmdlVENUpHdlFoQwpjLzlMci9BV0hBWUxOOXpOSEdOdE9nK0h1TTBPVHZKeWZkYnF0dVJXTklOL2NlYmhnTTA9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K + server: "https://192.168.35.178:6443" + name: "rke-cluster" contexts: - context: - cluster: kubernetes - user: kubernetes-admin - name: kubernetes-admin@kubernetes -current-context: kubernetes-admin@kubernetes -kind: Config -preferences: { } + cluster: "rke-cluster" + user: "kube-admin-rke-cluster" + name: "rke-cluster" +current-context: "rke-cluster" users: - - name: kubernetes-admin + - name: "kube-admin-rke-cluster" user: - client-certificate-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUM4ekNDQWR1Z0F3SUJBZ0lKQU9SWThQZlhadWQyTUEwR0NTcUdTSWIzRFFFQkN3VUFNQlV4RXpBUkJnTlYKQkFNVENtdDFZbVZ5Ym1WMFpYTXdIaGNOTWpJd01URTRNRFl6TmpRMFdoY05Nekl3TVRFMk1EWXpOalEwV2pBMApNUmN3RlFZRFZRUUtEQTV6ZVhOMFpXMDZiV0Z6ZEdWeWN6RVpNQmNHQTFVRUF3d1FhM1ZpWlhKdVpYUmxjeTFoClpHMXBiakNDQVNJd0RRWUpLb1pJaHZjTkFRRUJCUUFEZ2dFUEFEQ0NBUW9DZ2dFQkFPNTZ0ZG51M24rWUsxM3oKZmNlTzNiSmhBL2J0SGpoQXpvRnNObmZjeEY3dlRTZGczSUxySmVNVkFGbG50MHpUL2xacFBlU0ZUN25iL1g1Ygo4RjErSHA2dVR0b0hRVGJHR2VzbEprdkpFMjB3OGJ0Z3VrdlNmTnROOS9NNlFTWWkvTGlHeTZpd2kveGdBVUtKClFtVW1vZmhZSHNKMllFbXJCcExOVFhtenl2a2lUTlJZVC9iNlJJRzNiT3lIVm1Lc1cwQkNQNVZTTFJsLzErZlMKM0dCUUZ2UTNXdTdmVWlzMW9DSXhsc1k5V2VJUmpGOWJDbWtKNnZsT3BWbGlsTlA0cEtSSnl4aXNBNzExNENNWAprRGJvRFBXb2lxMktubzYveXI2L0xwMktsVVVSa1JhQklodEl5eXV2TldPbjhiTW90SUpCNWNOems4UkxYTm5TCklPZEtMVDhDQXdFQUFhTW5NQ1V3RGdZRFZSMFBBUUgvQkFRREFnV2dNQk1HQTFVZEpRUU1NQW9HQ0NzR0FRVUYKQndNQ01BMEdDU3FHU0liM0RRRUJDd1VBQTRJQkFRQ1lwVk9NemlGRUFta1A4S3B2ZWttR3laVGV3dzQreVhyUwo3TEpoWTdTR2pGY210ZldMSW9PWEhmWmZlZWNsN3M5Snh1SytPZlhqU0d0UU9jWXk0WHo5OVFWY2FRandJMEg5Cnc3aWJiYUw3M093RGZrRDMrdlNhME9ZRWZKSFlsNXErQXBnQVpLVWRWazMvZHpJSmhRR0V6L0UxcjdYTlNabDUKL1hOT3pwbzl0VHV2dDAxRlllV0RMN01DeWZGRHFTelpQdnNyWW81bDFiTE5yeEZHb1dvSTdUMlJzR205VXJyYwoyTy84R2hMYTkwZ2tLeE9JTEpYdlJCY2RrOUN4N01ROGFGVHBuSmtPMXJzVzUxMTFoTG5hNm9WRHhISlVrbjRkCmNhODFDV3R1Yk44dkpSYlFwVmkySTJ5K3ljZ3lrNTMzR21GQXNVS3dkdm5rVjNqTVJVbFYKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo= - client-key-data: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcGdJQkFBS0NBUUVBN25xMTJlN2VmNWdyWGZOOXg0N2RzbUVEOXUwZU9FRE9nV3cyZDl6RVh1OU5KMkRjCmd1c2w0eFVBV1dlM1ROUCtWbWs5NUlWUHVkdjlmbHZ3WFg0ZW5xNU8yZ2RCTnNZWjZ5VW1TOGtUYlREeHUyQzYKUzlKODIwMzM4enBCSmlMOHVJYkxxTENML0dBQlFvbENaU2FoK0ZnZXduWmdTYXNHa3MxTmViUEsrU0pNMUZoUAo5dnBFZ2JkczdJZFdZcXhiUUVJL2xWSXRHWC9YNTlMY1lGQVc5RGRhN3Q5U0t6V2dJakdXeGoxWjRoR01YMXNLCmFRbnErVTZsV1dLVTAvaWtwRW5MR0t3RHZYWGdJeGVRTnVnTTlhaUtyWXFlanIvS3ZyOHVuWXFWUlJHUkZvRWkKRzBqTEs2ODFZNmZ4c3lpMGdrSGx3M09UeEV0YzJkSWc1MG90UHdJREFRQUJBb0lCQVFDdTE5YldGbFNZdGNjdAoxYVJsRi9DZ3BKSlVpcHA2WWNGRmtFSUs5UmdnQmxESnl6RkE1d2hiQ2YyOGp0Y01BKzFZQzBidWNYTDNjRHZWClZiRFB5dlRHSUVQOWhBNGpDM0RiUHR4cCtkMDlWQUlYQUI3MkVqZXFUZXE1TC8rdDV6N2tSeWV2NE9oeE95NFIKU3pNYm1BeHVXS1VNcTkrQ2cxcUpiTzRkaVYwSjg5cUtidExsclFCeDFxcHNnUjNES1VhVGVNKzVpeFYyQ1Y1bApSNDV4aU43NWRrSkpaZlY2UUV5K3V2UVd0VHk4NUN3R1U2T2hjOXA4d2s0MmFrQS9qM05FTUZiTjdDaDFKbi9RCjRhNUJpMituRUE4dGVvV2FRSzdoeU5CRENWbTFsamFjaFFveGRSNGhCWVUxdkhTbkt4a0c4bDA1K1BpRTZmZFkKaUtyemhGR0JBb0dCQVBwOStKTExzZXJ6dFQ4a2VLU2FSMXBMOHB5MTQ3cmdjdEVhckxJL2ZqY1VMU3c3OUk3UAovWWhIWnhmdm9TZEZ2QTZwNy81eHFCRitaNTM5L1NKNDlLeWFOdGNJbW01UTZKSW9aRGgzWmVVS3lMKzA1YTdRCkNqMU1wZ2hKMlZDT2VPamNxd0NVQkFhcjNWSjd0cXRxRVFCQk9jMnlWU3dzbU5wclMyYmU1S3RCQW9HQkFQTzUKSG9ZVTBMK2tzdzJKUVM5ODF1ZWtrbDMzR1ZWQ2dPUFdGWThhR3VGRGt3Sm84WGk2TmhtKzh2TjlNaGg3WkYzeQpTU3E1U2RJd01pR0IvKzVJaWp1V25DbWszY2RPdGU0VFBsZHFvdjc3Q1FUUmxPNWJCekR0L1VqYVBBam5GS0FpClg4K0V6NUVXOXFSclN2ZXplZHFDRVRBVDhRWThqNk1WY0VCRW96aC9Bb0dCQUphcVRHZ25RdVdhSHF0VENZbWcKRGtqZW81Zmt3NHcwMG5xNWU2UmZFbENZdnk3N0JQY2RYVmFwOC9WdXVkVEFXZ1BMN1VGekpXOFlROFRBNzQvYgpodmVHYm5QYWhlRFNvNEM5OE1JUjl1VFVIcmxJV2xwU1ljWkxJeGFiTEs0S2MrbEVTVXE0dk04eWNwWFpPWjlTCjFkVDhab00xdjRzcGErcjhYRWNNekNmQkFvR0JBSXVuaXI4SDFHbk1CVEYvY1pPMWRDczkyUVR3MzFwRWhqaUgKWnNrZUMwTURCb3o5OTBmWFk4S3k4T0htM2pxN0VkTG5UMWVrM3BFTFB0NkdjRkZvelpUQmczQTFZVU9nYlkwagpCN2p0aU1LVXRDRkh1cEF1SnR1NXMwWDRqeWdHeVlITTBKdkhuV3lrL09WUCthQWYvblhmeTl1QndiMXlIRmcxCm82R2Y4dXNmQW9HQkFKeGlQcGdDODJPckoxazE3V3dyOFI2ZXpxR2VYb0JPRzFlOEN6ZG1UbWFrN3prWDJJelEKSTVjT3dGaTlnREhTbUVMa0dYZnRHZ01EcXF1VHVLdS9OdW9DQS94Z2FrdTQvVHplNktqbzRjc0NDTmFza3VrRQozYnhwSnU5cElYRU5tMXVuNXBZRy90QTF0V1Rtc3dnRjY1anc2RFpTQUFUTFZMSXg3RVRDR0RlOQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo= \ No newline at end of file + client-certificate-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUM2VENDQWRHZ0F3SUJBZ0lJQmtVSkFlMU9yMW93RFFZSktvWklodmNOQVFFTEJRQXdFakVRTUE0R0ExVUUKQXhNSGEzVmlaUzFqWVRBZUZ3MHlOREEyTURVd09ESXlNVGhhRncwek5EQTJNRE13T0RJeU1UbGFNQzR4RnpBVgpCZ05WQkFvVERuTjVjM1JsYlRwdFlYTjBaWEp6TVJNd0VRWURWUVFERXdwcmRXSmxMV0ZrYldsdU1JSUJJakFOCkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQXNLTS9KclZCRjJhejV5Wlcwb0ZoN0dCNnhkYW8KWjh4cnk2MXBob0FmM3gxbmxJUkhtK08vaDdCbVdpNXBCciswV1FOUEJNV3pXT3FCa1VDcWVrZHJEd3VqM3VpZQoxVzJ0d2tUUDhmb1NZK1ZQY2xPWkJIR0NrNzZad0N0SFlTb05mci9PcHQyb2grNFptVUdlcFJjNndrYzNXTkxXClB6djh0NUFTZGJTbnYxUXZJaVg5Z1kySWpjRlU0YUdudW9PQ29Rdzd5OUdIOWJOMHMwM2hMN0kraXhoTm16TlIKajVoOEU4SGhPVzhSZXVwUzBDSlVVazZwSzZRUFcwd0hRME9pajVIV1JZRmd1aTFDaE9vcTN0emVlVTBvRytRegpPN1M1bFB0NExYdFpGN1NvSWFMb1A5bG9valpMWFhlY21QcnBTS3NOY2p2K3FnNk93d3BhZXNDaG5RSURBUUFCCm95Y3dKVEFPQmdOVkhROEJBZjhFQkFNQ0JhQXdFd1lEVlIwbEJBd3dDZ1lJS3dZQkJRVUhBd0l3RFFZSktvWkkKaHZjTkFRRUxCUUFEZ2dFQkFEcHJJMGRtZTMrK0RRWmVTNjRuSHBySHBwNGxFU2t5UkNsNVdjd3gvR00yc2s5bQp5Z0Jmcjlkd2dJQmFpSU5XQld3YWFlWVdBaS91dXJTRTZ2cUxkeUNlVkRNeGlQWnhPS3hLd3ZtWFpHL2lsRkxjCk50TEg5R3pGY0RqdUM4QndpRDAxbnlaTHZsRVV3TW9DVEpQNi96VGRpV3JqU1VHVXVIN1FkTHhNN29ROU4za0YKNm5qUzlZV2JYU1hVckNXc2pna1lIMmphTXEyZzFuNU9mN3JQOXptZjJBZ1VVVUlmYzhIaS9RQWx6eWRIdlFqUQpHNlFGUjF4aGg0ZzFtcUw5aWQyek1sZXQvZXNqSWlwemZJMzF4L1lvd2lnNlZPeDhkQWNQMFZBZXpOS3Y3cmJaCkdYSFNwcEJrOS9GdFFyMytWTitsTWVtS2dqTG40Tk1EZjkzOTcxcz0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo= + client-key-data: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFb3dJQkFBS0NBUUVBc0tNL0pyVkJGMmF6NXlaVzBvRmg3R0I2eGRhb1o4eHJ5NjFwaG9BZjN4MW5sSVJICm0rTy9oN0JtV2k1cEJyKzBXUU5QQk1XeldPcUJrVUNxZWtkckR3dWozdWllMVcydHdrVFA4Zm9TWStWUGNsT1oKQkhHQ2s3Nlp3Q3RIWVNvTmZyL09wdDJvaCs0Wm1VR2VwUmM2d2tjM1dOTFdQenY4dDVBU2RiU252MVF2SWlYOQpnWTJJamNGVTRhR251b09Db1F3N3k5R0g5Yk4wczAzaEw3SStpeGhObXpOUmo1aDhFOEhoT1c4UmV1cFMwQ0pVClVrNnBLNlFQVzB3SFEwT2lqNUhXUllGZ3VpMUNoT29xM3R6ZWVVMG9HK1F6TzdTNWxQdDRMWHRaRjdTb0lhTG8KUDlsb29qWkxYWGVjbVBycFNLc05janYrcWc2T3d3cGFlc0NoblFJREFRQUJBb0lCQUM1QzB1dEVWVVBYdGc0MwowRTFaYlZnRy9LQ0wwNWM3eG8rVlh5bkdySkkybFVZa1RzelpIUFJna3EzVHNkWCtwekVZMkwwYk9obHpjWE9sClNBQzJhNmVKR09Yc2JvemZLTDdVWHRHMCtOUUkzb0hHdXpDYXVlUVA2eHlWT1NDTmJ2TmZNTFFySVZSWVc0UHoKMTZUTkxLcHRGR1hDOGpHbGVFNXJBU3Fxb2JSTjNHeG01R08xL0ppOHlvcG5sbVdnV0VKUjUyWXI2SVFBNk1xMQpYQXNGYzZ6UlRhVHRsN000Z3ZRU3VONVNKT1BZdkpscGJYejZ1WDRGcTRSUFc5dEFLekN5cFVDam05WGdaZ2FHCktpaHEwWVY1ZWMybFYveVZlTjBTMUs1NS9ZL3ZsOHNTNC9XbmZlZk1na2FBbytEc3FJOS9lSzduOUNQZkNUc3EKQ2VTUkJJRUNnWUVBNEtvbzJNcTkxemlJSE9BRXpTNjNKaVlzY2VqTCs5bCtCM1FUV1RteE1jc2MrUnptUW5OMQp3dllzaTdnSkVsR3hnVHJ3ai9KT3NhM1hCUnJPL0NjOXZQYzhNNnR0UEliUjVNZ29lSzFNalBvMGdhTmlsV1F5CnlScUh5RzlOMWMrMEhOZnFyUFAydzVhMysvQmZ5VS9mVEI5a0RjMU1waDZWaHNzQ2VuakhoOWtDZ1lFQXlVWSsKS1NaVzc5RFJYS1k5N0U1OG9MRGt4ajhXUllpMVlwTFc2djJPLy9McXBmU08ycmR0USs5aHR0cklrUC9hZlc0MAowMzRmOTVsKzNPR0c0b0I5VytNdUhIOVdtR1ZKNHljUlJhSk9YWXNhVk42Smh1ZGE5Y0FGRFJkRkJLZVBVRjB3Ck9NaFlBSU9OYnRKcFdENXJ0djNZTlM3ckg4K2QweU1kc2RvVHNXVUNnWUFiTFhwemYxTW56ZmJwUjFCTllmRlYKOUJnOFQyVWR1bG04blJZYUhSaUtaWC9Ed3ZNMzVxL0FQZmQxajNYSmVZaDNrYUc0U0Irczd0S3NFMm9tcHJpWgpPMjlVOE0vdUdvRVpvLzBCWERWK2VHWVJxS29zV0Vxc2VVRWp4aE1zWWt2dmtVOGFUUWowOEM2aGs1cUN4OTdEClhxakQ0cW43RG9nWUhrYldlZlhwUVFLQmdDbTdHcUJGaHJqcVByNUs2WVBaTWhYUEYxL1RMTGIyQlVXTzFHaWMKY2MyM2U5YzB3WG12bGtRRG1lcmpxYm9Ha2pKM2F4UitqZm8wSlExKzVReUpQM1NSd2JtKzNTRnp2c0lPRTVLdwplRGNFNUV5OFp4OUZVS0tyVVdESmRsSGt1OTRadENuUndBMDdPVlBFNUhxYlZwSDJSNkdmUExpM3Z5MUxscGlOCmNvL1JBb0dCQUl4OHloK1lLOHpHUlR2aTFseUdTTG90eFlWdlZMbWc4bG9CRmFzUS9tR0RhTk1rNVZ6cS9mUmgKbHU1dGUzWjhtYmxvTExUdzd1OUhRcGM3UGNqVklFV21DazBhYVA4YUs5VkpGYVQzV0xzWG1nRGIrb0tuNG9DVgpTSzZsOWVlQS9uWDA1Uk5xMEx0ekR3d3JNa2paR1VYZ3FldXJvTTF2cjJ2a2RLTkxhWEtmCi0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg== \ No newline at end of file diff --git a/agent-operator/config/cmii-dev-old-cluster.yaml b/agent-operator/config/cmii-dev-old-cluster.yaml new file mode 100644 index 0000000..584f1ad --- /dev/null +++ b/agent-operator/config/cmii-dev-old-cluster.yaml @@ -0,0 +1,18 @@ +clusters: + - cluster: + certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUN5RENDQWJDZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRc0ZBREFWTVJNd0VRWURWUVFERXdwcmRXSmwKY201bGRHVnpNQjRYRFRJeE1ERXhPREEyTURZeU5Gb1hEVE14TURFeE5qQTJNRFl5TkZvd0ZURVRNQkVHQTFVRQpBeE1LYTNWaVpYSnVaWFJsY3pDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBS2ZNCjFjTjBNUnhUTkRGdEZxcnRIZ0RPM29SV0dicmVob3VFcDJ3VUVRbU8yRUFyZDdkMUFReTJsSm9WM0RUVmhXbUwKcUFUOFcxaWRaS0x0Wm5mNjEva3JPeDd0U2lJeU4xa1ErN3NYRUhnTjVMc01EOVlKcndpUFdFY2FXdU9HVmI1aApMWDZWOTRjN0U5UlFDOENtd09iSkRCNG45ZE8zcDVlTDJHaFRpMkNrRWt3ZkRPR0tEL1IxeUNaK0tFcDRWWlplCnpwcnUzRG5zOUNqZHVOT1VBWTZzUGxjazNvdEdIVnhnRC9IRlRjUEhNbGhvUVQ4dmNDOTZwc0FtYXZPR1BZQ0YKa3RtN0VWYkZDOHN5Q1BMT3AwWWhTWHRkbGtKaC9UWHBaM0hSUWJxSzVPNXR4K1dGL05qMGJVc202ZldSMzZWQgpKQVVscUJIeFhSTzhGTFNrVHkwQ0F3RUFBYU1qTUNFd0RnWURWUjBQQVFIL0JBUURBZ0trTUE4R0ExVWRFd0VCCi93UUZNQU1CQWY4d0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFKeWZ2T3hHVVYvT2wybGRQNnYxeWFSTkd5RVkKWkVxTmM2Y29LSklsd0VQNUxNYzdZNGFReWorZCtVTE4zYmIrOXZsZXdHamluTHRrUW5HZ1R3Q3pKTU5ZNlNJNQo2NzJGZEtQTE85Szdpalhway9qRE9FVHJWS25aMXJBTytOUVBmSVhpcXQ3Y1RyVHlaVzdKTVl3emZNa2VlTGErCnREdmY1Rm5vQTBLN2U3a0ZXNTBpN2pXcGh4RXRMNEJpNzAwNnU4NEpqTU5weVp1MzhKMjFXZkR1RjBoU0NQREgKS0x4cnZIZ0FOYzJWU1c2L3JPaVVCQjdiV0JkcWcyQUNVRWZwN0V3UGs2S1BsdGNiNTJtdFhCU2xiQ3pRWWw4UQpmNmVGRFIrbnRjeXNGbU1FMFI3M1lNSHJwR0dGdlduSDVaTmEyVEJYdHpwN2tNNkVPREE5a2R4WkI1dz0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo= + server: https://192.168.11.170:16443 + name: kubernetes +contexts: + - context: + cluster: kubernetes + user: kubernetes-admin + name: kubernetes-admin@kubernetes +current-context: kubernetes-admin@kubernetes +kind: Config +preferences: { } +users: + - name: kubernetes-admin + user: + client-certificate-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUM4ekNDQWR1Z0F3SUJBZ0lKQU9SWThQZlhadWQyTUEwR0NTcUdTSWIzRFFFQkN3VUFNQlV4RXpBUkJnTlYKQkFNVENtdDFZbVZ5Ym1WMFpYTXdIaGNOTWpJd01URTRNRFl6TmpRMFdoY05Nekl3TVRFMk1EWXpOalEwV2pBMApNUmN3RlFZRFZRUUtEQTV6ZVhOMFpXMDZiV0Z6ZEdWeWN6RVpNQmNHQTFVRUF3d1FhM1ZpWlhKdVpYUmxjeTFoClpHMXBiakNDQVNJd0RRWUpLb1pJaHZjTkFRRUJCUUFEZ2dFUEFEQ0NBUW9DZ2dFQkFPNTZ0ZG51M24rWUsxM3oKZmNlTzNiSmhBL2J0SGpoQXpvRnNObmZjeEY3dlRTZGczSUxySmVNVkFGbG50MHpUL2xacFBlU0ZUN25iL1g1Ygo4RjErSHA2dVR0b0hRVGJHR2VzbEprdkpFMjB3OGJ0Z3VrdlNmTnROOS9NNlFTWWkvTGlHeTZpd2kveGdBVUtKClFtVW1vZmhZSHNKMllFbXJCcExOVFhtenl2a2lUTlJZVC9iNlJJRzNiT3lIVm1Lc1cwQkNQNVZTTFJsLzErZlMKM0dCUUZ2UTNXdTdmVWlzMW9DSXhsc1k5V2VJUmpGOWJDbWtKNnZsT3BWbGlsTlA0cEtSSnl4aXNBNzExNENNWAprRGJvRFBXb2lxMktubzYveXI2L0xwMktsVVVSa1JhQklodEl5eXV2TldPbjhiTW90SUpCNWNOems4UkxYTm5TCklPZEtMVDhDQXdFQUFhTW5NQ1V3RGdZRFZSMFBBUUgvQkFRREFnV2dNQk1HQTFVZEpRUU1NQW9HQ0NzR0FRVUYKQndNQ01BMEdDU3FHU0liM0RRRUJDd1VBQTRJQkFRQ1lwVk9NemlGRUFta1A4S3B2ZWttR3laVGV3dzQreVhyUwo3TEpoWTdTR2pGY210ZldMSW9PWEhmWmZlZWNsN3M5Snh1SytPZlhqU0d0UU9jWXk0WHo5OVFWY2FRandJMEg5Cnc3aWJiYUw3M093RGZrRDMrdlNhME9ZRWZKSFlsNXErQXBnQVpLVWRWazMvZHpJSmhRR0V6L0UxcjdYTlNabDUKL1hOT3pwbzl0VHV2dDAxRlllV0RMN01DeWZGRHFTelpQdnNyWW81bDFiTE5yeEZHb1dvSTdUMlJzR205VXJyYwoyTy84R2hMYTkwZ2tLeE9JTEpYdlJCY2RrOUN4N01ROGFGVHBuSmtPMXJzVzUxMTFoTG5hNm9WRHhISlVrbjRkCmNhODFDV3R1Yk44dkpSYlFwVmkySTJ5K3ljZ3lrNTMzR21GQXNVS3dkdm5rVjNqTVJVbFYKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo= + client-key-data: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcGdJQkFBS0NBUUVBN25xMTJlN2VmNWdyWGZOOXg0N2RzbUVEOXUwZU9FRE9nV3cyZDl6RVh1OU5KMkRjCmd1c2w0eFVBV1dlM1ROUCtWbWs5NUlWUHVkdjlmbHZ3WFg0ZW5xNU8yZ2RCTnNZWjZ5VW1TOGtUYlREeHUyQzYKUzlKODIwMzM4enBCSmlMOHVJYkxxTENML0dBQlFvbENaU2FoK0ZnZXduWmdTYXNHa3MxTmViUEsrU0pNMUZoUAo5dnBFZ2JkczdJZFdZcXhiUUVJL2xWSXRHWC9YNTlMY1lGQVc5RGRhN3Q5U0t6V2dJakdXeGoxWjRoR01YMXNLCmFRbnErVTZsV1dLVTAvaWtwRW5MR0t3RHZYWGdJeGVRTnVnTTlhaUtyWXFlanIvS3ZyOHVuWXFWUlJHUkZvRWkKRzBqTEs2ODFZNmZ4c3lpMGdrSGx3M09UeEV0YzJkSWc1MG90UHdJREFRQUJBb0lCQVFDdTE5YldGbFNZdGNjdAoxYVJsRi9DZ3BKSlVpcHA2WWNGRmtFSUs5UmdnQmxESnl6RkE1d2hiQ2YyOGp0Y01BKzFZQzBidWNYTDNjRHZWClZiRFB5dlRHSUVQOWhBNGpDM0RiUHR4cCtkMDlWQUlYQUI3MkVqZXFUZXE1TC8rdDV6N2tSeWV2NE9oeE95NFIKU3pNYm1BeHVXS1VNcTkrQ2cxcUpiTzRkaVYwSjg5cUtidExsclFCeDFxcHNnUjNES1VhVGVNKzVpeFYyQ1Y1bApSNDV4aU43NWRrSkpaZlY2UUV5K3V2UVd0VHk4NUN3R1U2T2hjOXA4d2s0MmFrQS9qM05FTUZiTjdDaDFKbi9RCjRhNUJpMituRUE4dGVvV2FRSzdoeU5CRENWbTFsamFjaFFveGRSNGhCWVUxdkhTbkt4a0c4bDA1K1BpRTZmZFkKaUtyemhGR0JBb0dCQVBwOStKTExzZXJ6dFQ4a2VLU2FSMXBMOHB5MTQ3cmdjdEVhckxJL2ZqY1VMU3c3OUk3UAovWWhIWnhmdm9TZEZ2QTZwNy81eHFCRitaNTM5L1NKNDlLeWFOdGNJbW01UTZKSW9aRGgzWmVVS3lMKzA1YTdRCkNqMU1wZ2hKMlZDT2VPamNxd0NVQkFhcjNWSjd0cXRxRVFCQk9jMnlWU3dzbU5wclMyYmU1S3RCQW9HQkFQTzUKSG9ZVTBMK2tzdzJKUVM5ODF1ZWtrbDMzR1ZWQ2dPUFdGWThhR3VGRGt3Sm84WGk2TmhtKzh2TjlNaGg3WkYzeQpTU3E1U2RJd01pR0IvKzVJaWp1V25DbWszY2RPdGU0VFBsZHFvdjc3Q1FUUmxPNWJCekR0L1VqYVBBam5GS0FpClg4K0V6NUVXOXFSclN2ZXplZHFDRVRBVDhRWThqNk1WY0VCRW96aC9Bb0dCQUphcVRHZ25RdVdhSHF0VENZbWcKRGtqZW81Zmt3NHcwMG5xNWU2UmZFbENZdnk3N0JQY2RYVmFwOC9WdXVkVEFXZ1BMN1VGekpXOFlROFRBNzQvYgpodmVHYm5QYWhlRFNvNEM5OE1JUjl1VFVIcmxJV2xwU1ljWkxJeGFiTEs0S2MrbEVTVXE0dk04eWNwWFpPWjlTCjFkVDhab00xdjRzcGErcjhYRWNNekNmQkFvR0JBSXVuaXI4SDFHbk1CVEYvY1pPMWRDczkyUVR3MzFwRWhqaUgKWnNrZUMwTURCb3o5OTBmWFk4S3k4T0htM2pxN0VkTG5UMWVrM3BFTFB0NkdjRkZvelpUQmczQTFZVU9nYlkwagpCN2p0aU1LVXRDRkh1cEF1SnR1NXMwWDRqeWdHeVlITTBKdkhuV3lrL09WUCthQWYvblhmeTl1QndiMXlIRmcxCm82R2Y4dXNmQW9HQkFKeGlQcGdDODJPckoxazE3V3dyOFI2ZXpxR2VYb0JPRzFlOEN6ZG1UbWFrN3prWDJJelEKSTVjT3dGaTlnREhTbUVMa0dYZnRHZ01EcXF1VHVLdS9OdW9DQS94Z2FrdTQvVHplNktqbzRjc0NDTmFza3VrRQozYnhwSnU5cElYRU5tMXVuNXBZRy90QTF0V1Rtc3dnRjY1anc2RFpTQUFUTFZMSXg3RVRDR0RlOQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo= \ No newline at end of file