Dynamic Kubernetes image/svg+xml Dynamic Kubernetes Process Any processing function. Display Information display by online indicators, video devices, printers, etc. Off-Page Connector Exit to or entry from a page. (IBM) Predefined Process A formally defined sub-process. #ContainerWorld @ContainerWrld https://tmt.knect365.com/container-world/ #ContainerWorld @ContainerWrld https://tmt.knect365.com/container-world/ Thank You! Carson Anderson, Domo @carsonoid @carson_ops Cluster Capacity In K8sInfrastructure As CodeEasy ProvisioningEasy Node Diversity Nodes NodeFleet NodeFleet CPAR PAR NAG DEPLOY SVC Pod CPAR CPAR CPAR NAG CPAR CPAR CPAR CPAR PAR PAR PAR PAR TargetLabels Assignments default-allocation Nodes name: servicesallocation: desired: 2 NAG-Assign services NAG-Assign services name: sensitiveallocation: desired: 2 NAG-Assign sensitive NAG-Assign sensitive nodetype variable workload service REQUIRE IN "nodetype-service" ["true"] workload queue-job REQUIRE IN "nodetype-queue" ["true"] workload etl-job REQUIRE IN "nodetype-etl" ["true"] workload service workload queue-job workload etl-job TargetLabels Affinity Tolerations NodeSelector etl-job-scheduling jobs NodeAssignmentGroup PodAssignmentRule ClusterPodAssignmentRule Custom Resources workload etl-job "IsBurstNode" "true" IN "nodetype-etl" "true" PREFER IN "burstnode" ["true"] Nodes Masters kube-director Announcement Soon! @carson_ops workload service workload queue-job workload etl-job workload import workload database workload export workload import REQUIRE IN "nodetype-import" ["true"] workload database REQUIRE IN "nodetype-ssd" ["true"] workload export REQUIRE IN "nodetype-export" ["true"] workload etl-job IN "nodetype" ["etl"] workload etl-job PREFER IN "nodetype" ["etl"] REQUIRE workload etl-job workload etl-job REQUIRE IN "nodetype-etl" ["true"] REQUIRE nodetype-etl true nodetype etl "nodetype" IN ["etl"] Nodes nodetype etl nodetype-etl true nodetype-queue true nodetype-service true nodetype queue nodetype service Pending workload service REQUIRE IN "nodetype-service" ["true"] workload queue-job REQUIRE IN "nodetype-queue" ["true"] workload etl-job REQUIRE IN "nodetype-etl" ["true"] Nodes nodetype service nodetype service nodetype etl nodetype queue Pending Pending REQUIRE IN "nodetype" ["etl"] workload service REQUIRE IN "nodetype" ["service"] workload queue-job REQUIRE IN "nodetype" ["queue"] workload etl-job REQUIRE IN "nodetype" ["etl"] workload service workload queue-job workload etl-job REQUIRE IN "nodetype" ["service"] REQUIRE IN "nodetype" ["queue"] REQUIRE IN "nodetype" ["etl"] Nodes nodetype general nodetype general nodetype general nodetype general Pending workload queue-job workload service workload etl-job Masters Nodes Pending nodetype general nodetype general nodetype general nodetype general workload queue-job workload service workload etl-job Label LabelKey LabelVal workload ETL creator user1 1 2 3 4 5 6 7 8 instance-type m3.2xlarge us-east-2 ssd zone disk Pod -Container Pod -Container -Container Pod -Container -Volume Pod -Container -Volume Cluster UsersShouldn't HaveTo Care AboutScheduling Details The Scale Problem The Dev Problem Affinity! SchedulingIn Action Terms KubernetesWorkload SchedulingAt Scale Is Hard QoS And Burstability Dynamic Kubernetes at Domo Carson Anderson @carsonoid What's Next? How It Works @carson_ops
1
  1. Intro
  2. Affinity
  3. The Dev Problem
  4. kube-director
  5. PAR/CPAR
  6. NAG
  7. Next
  8. End