コード例 #1
0
        public override List <CloudTask> GetTaskList()
        {
            List <CloudTask> tasks = new List <CloudTask>();

            string containerName =
                Environment.GetEnvironmentVariable(AzureEnvConstants.AZURE_STORAGE_K8S_DIRECTORY);
            IStorageEngine engine = AzureStorageEngine.GetInstance();

            string taskName = "Deploy-TESK";
            string command  =
                $"/bin/sh -c \"kubectl --kubeconfig=$AZ_BATCH_NODE_STARTUP_DIR/config create -f ./{CMD_DIR}\"";
            CloudTask task = new CloudTask(taskName, command);

            task.ResourceFiles = engine.GetResourceFiles(containerName, CMD_DIR);
            tasks.Add(task);

            taskName = "Get-Service-NodePort";
            command  =
                $"/bin/sh -c \"kubectl --kubeconfig=$AZ_BATCH_NODE_STARTUP_DIR/config get svc/tesk-api\"";
            task = new CloudTask(taskName, command);
            tasks.Add(task);

            return(tasks);
        }
コード例 #2
0
        public override List <CloudTask> GetTaskList()
        {
            List <CloudTask> tasks = new List <CloudTask>();

            string         containerName = "tesk-tasks"; // Name of the storage container containing Tesk tasks
            IStorageEngine engine        = AzureStorageEngine.GetInstance();

            string endpoint = "http://127.0.0.1:31882/v1/tasks"; // Adjust NodePort no.

            /* string taskName = "Get-Local-IP";
             * string command = "/bin/sh -c \"ifconfig\"";
             * CloudTask task = new CloudTask(taskName,command);
             * tasks.Add(task); */

            string    taskName = "Get-Tesk-Pods";
            string    command  = "/bin/sh -c \"kubectl --kubeconfig=$AZ_BATCH_NODE_STARTUP_DIR/config get pods\"";
            CloudTask task     = new CloudTask(taskName, command);

            tasks.Add(task);

            taskName = "Describe-Tesk-Api-Pod";
            command  = "/bin/sh -c \"kubectl --kubeconfig=$AZ_BATCH_NODE_STARTUP_DIR/config describe pod\"";
            task     = new CloudTask(taskName, command);
            tasks.Add(task);

            taskName = "Print-Env-Vars";
            command  =
                $"/bin/sh -c \"curl -X POST -s --header 'Content-Type: application/json' -d @./{APP1_DIR}/env.json {endpoint}\"";
            task = new CloudTask(taskName, command);
            task.ResourceFiles = engine.GetResourceFiles(containerName, APP1_DIR);
            tasks.Add(task);

            taskName = "Hello-Task";
            command  =
                $"/bin/sh -c \"curl -X POST -s --header 'Content-Type: application/json' -d @./{APP2_DIR}/hello.json {endpoint}\"";
            task = new CloudTask(taskName, command);
            task.ResourceFiles = engine.GetResourceFiles(containerName, APP2_DIR);
            tasks.Add(task);

            // This task requires configuration of PV and PVC's !

            /* taskName = "Submit-Tesk-Demo-Task";
             * command =
             * $"/bin/sh -c \"curl -X POST -s --header 'Content-Type: application/json' --header 'Accept: application/json' -d @./{APP3_DIR}/stdout.json {endpoint}\"";
             * task = new CloudTask(taskName,command);
             * task.ResourceFiles = engine.GetResourceFiles(containerName,APP3_DIR);
             * tasks.Add(task); */

            taskName = "Get-Tesk-Jobs";
            command  = "/bin/sh -c \"kubectl --kubeconfig=$AZ_BATCH_NODE_STARTUP_DIR/config get jobs\"";
            task     = new CloudTask(taskName, command);
            tasks.Add(task);

            taskName = "Get-Tesk-Task-Status";
            command  =
                $"/bin/sh -c \"curl -X GET -s --header 'Accept: application/json' {endpoint}\"";
            task = new CloudTask(taskName, command);
            tasks.Add(task);

            return(tasks);
        }