rifaterdemsahin / awscodedeploy

Aws code deploy creating a Redis using Ansible
1 stars 1 forks source link

Question4:how do we use this scheduler #12

Open madhavisringarapu opened 5 years ago

madhavisringarapu commented 5 years ago

The process that actually assigns workloads to specific nodes in the cluster is the scheduler. The Kubernetes scheduler is a policy-rich, topology-aware, workload-specific function that significantly impacts availability, performance, and capacity. The scheduler needs to take into account individual and collective resource requirements, quality of service requirements, hardware/software/policy constraints, affinity and anti-affinity specifications, data locality, inter-workload interference, deadlines, and so on. We can use kube-scheduler with following options: --address string Default: "0.0.0.0" DEPRECATED: the IP address on which to listen for the --port port (set to 0.0.0.0 for all IPv4 interfaces and :: for all IPv6 interfaces). See --bind-address instead. --algorithm-provider string DEPRECATED: the scheduling algorithm provider to use, one of: ClusterAutoscalerProvider | DefaultProvider --azure-container-registry-config string Path to the file containing Azure container registry configuration information. --config string The path to the configuration file. Flags override values in this file. --contention-profiling DEPRECATED: enable lock contention profiling, if profiling is enabled --feature-gates mapStringBool A set of key=value pairs that describe feature gates for alpha/experimental features. Options are: APIListChunking=true|false (BETA - default=true) APIResponseCompression=true|false (ALPHA - default=false) AllAlpha=true|false (ALPHA - default=false) AppArmor=true|false (BETA - default=true) AttachVolumeLimit=true|false (BETA - default=false) BalanceAttachedNodeVolumes=true|false (ALPHA - default=false) BlockVolume=true|false (ALPHA - default=false) CPUManager=true|false (BETA - default=true) CRIContainerLogRotation=true|false (BETA - default=true) CSIBlockVolume=true|false (ALPHA - default=false) CSIDriverRegistry=true|false (ALPHA - default=false) CSINodeInfo=true|false (ALPHA - default=false) CSIPersistentVolume=true|false (BETA - default=true) CustomCPUCFSQuotaPeriod=true|false (ALPHA - default=false) CustomPodDNS=true|false (BETA - default=true) CustomResourceSubresources=true|false (BETA - default=true) CustomResourceValidation=true|false (BETA - default=true) DebugContainers=true|false (ALPHA - default=false) DevicePlugins=true|false (BETA - default=true) DryRun=true|false (ALPHA - default=false) DynamicKubeletConfig=true|false (BETA - default=true) EnableEquivalenceClassCache=true|false (ALPHA - default=false) ExpandInUsePersistentVolumes=true|false (ALPHA - default=false) ExpandPersistentVolumes=true|false (BETA - default=true) ExperimentalCriticalPodAnnotation=true|false (ALPHA - default=false) ExperimentalHostUserNamespaceDefaulting=true|false (BETA - default=false) GCERegionalPersistentDisk=true|false (BETA - default=true) HugePages=true|false (BETA - default=true) HyperVContainer=true|false (ALPHA - default=false) Initializers=true|false (ALPHA - default=false) KubeletPluginsWatcher=true|false (BETA - default=true) LocalStorageCapacityIsolation=true|false (BETA - default=true) MountContainers=true|false (ALPHA - default=false) NodeLease=true|false (ALPHA - default=false) PersistentLocalVolumes=true|false (BETA - default=true) PodPriority=true|false (BETA - default=true) PodReadinessGates=true|false (BETA - default=true) PodShareProcessNamespace=true|false (BETA - default=true) ProcMountType=true|false (ALPHA - default=false) QOSReserved=true|false (ALPHA - default=false) ResourceLimitsPriorityFunction=true|false (ALPHA - default=false) ResourceQuotaScopeSelectors=true|false (BETA - default=true) RotateKubeletClientCertificate=true|false (BETA - default=true) RotateKubeletServerCertificate=true|false (BETA - default=true) RunAsGroup=true|false (ALPHA - default=false) RuntimeClass=true|false (ALPHA - default=false) SCTPSupport=true|false (ALPHA - default=false) ScheduleDaemonSetPods=true|false (BETA - default=true) ServiceNodeExclusion=true|false (ALPHA - default=false) StreamingProxyRedirects=true|false (BETA - default=true) SupportPodPidsLimit=true|false (ALPHA - default=false) Sysctls=true|false (BETA - default=true) TTLAfterFinished=true|false (ALPHA - default=false) TaintBasedEvictions=true|false (ALPHA - default=false) TaintNodesByCondition=true|false (BETA - default=true) TokenRequest=true|false (BETA - default=true) TokenRequestProjection=true|false (BETA - default=true) VolumeScheduling=true|false (BETA - default=true) VolumeSnapshotDataSource=true|false (ALPHA - default=false) VolumeSubpathEnvExpansion=true|false (ALPHA - default=false) -h, --help help for kube-scheduler --kube-api-burst int32 Default: 100 DEPRECATED: burst to use while talking with kubernetes apiserver --kube-api-content-type string Default: "application/vnd.kubernetes.protobuf" DEPRECATED: content type of requests sent to apiserver. --kube-api-qps float32 Default: 50 DEPRECATED: QPS to use while talking with kubernetes apiserver --kubeconfig string DEPRECATED: path to kubeconfig file with authorization and master location information. --leader-elect Default: true Start a leader election client and gain leadership before executing the main loop. Enable this when running replicated components for high availability. --leader-elect-lease-duration duration Default: 15s The duration that non-leader candidates will wait after observing a leadership renewal until attempting to acquire leadership of a led but unrenewed leader slot. This is effectively the maximum duration that a leader can be stopped before it is replaced by another candidate. This is only applicable if leader election is enabled. --leader-elect-renew-deadline duration Default: 10s The interval between attempts by the acting master to renew a leadership slot before it stops leading. This must be less than or equal to the lease duration. This is only applicable if leader election is enabled. --leader-elect-resource-lock endpoints Default: "endpoints" The type of resource object that is used for locking during leader election. Supported options are endpoints (default) and configmaps. --leader-elect-retry-period duration Default: 2s The duration the clients should wait between attempting acquisition and renewal of a leadership. This is only applicable if leader election is enabled. --lock-object-name string Default: "kube-scheduler" DEPRECATED: define the name of the lock object. --lock-object-namespace string Default: "kube-system" DEPRECATED: define the namespace of the lock object. --log-flush-frequency duration Default: 5s Maximum number of seconds between log flushes --master string The address of the Kubernetes API server (overrides any value in kubeconfig) --policy-config-file string DEPRECATED: file with scheduler policy configuration. This file is used if policy ConfigMap is not provided or --use-legacy-policy-config=true

madhavisringarapu commented 5 years ago

demonstrate kubectl-scheduler in action.put architectural diagram.

madhavisringarapu commented 5 years ago

image Link for demonstrating scheduler: https://drive.google.com/open?id=1SgLsYoU_fPUCD83S33av0Zm-xDgcmd9A