Beispiel #1
0
        static async Task ScaleKubeDeployment(long messageCount)
        {
            var cert = GetCert(Settings.Kubernetes.CACertificatePath);

            using (var client = new KuberClient(Settings.Kubernetes.Server, Settings.Kubernetes.AccessToken, cert))
            {
                var deployment = await client.GetDeploymentAsync(Settings.Kubernetes.Deployment.Name);

                deployment.spec.replicas += Settings.Kubernetes.Deployment.Replicas;
                await client.UpdateDeploymentAsync(deployment);
            }
        }
Beispiel #2
0
        static async Task CreateKubeJob(int pods)
        {
            var cert = GetCert(Settings.Kubernetes.CACertificatePath);

            var containerName   = Settings.Kubernetes.Job.ContainerName;
            var containerImage  = Settings.Kubernetes.Job.ContainerImage;
            var server          = Settings.Kubernetes.Server;
            var accessToken     = Settings.Kubernetes.AccessToken;
            var jobName         = $"{containerName}-{DateTime.Now.ToString("yyyy-MM-dd-HH-mm-ss")}";
            var parallelism     = pods;
            var completions     = pods;
            var imagePullSecret = Settings.Kubernetes.Job.ImagePullSecret;

            using (var client = new KuberClient(Settings.Kubernetes.Server, Settings.Kubernetes.AccessToken, cert))
            {
                var job = await client.CreateJobAsync(jobName, parallelism, completions, containerName, containerImage, imagePullSecret);
            }
        }