Affinity
nodeSelector is the simplest way to constrain Pods to nodes with specificlabels. Affinity and anti-affinity expands the types of constraints you candefine. Some of the benefits of affinity and anti-affinity include:
affinity
You can specify a weight between 1 and 100 for each instance of thepreferredDuringSchedulingIgnoredDuringExecution affinity type. When thescheduler finds nodes that meet all the other scheduling requirements of the Pod, thescheduler iterates through every preferred rule that the node satisfies and adds thevalue of the weight for that expression to a sum.
When configuring multiple scheduling profiles, you can associatea profile with a node affinity, which is useful if a profile only applies to a specific set of nodes.To do so, add an addedAffinity to the args field of the NodeAffinity pluginin the scheduler configuration. For example:
Inter-pod affinity and anti-affinity allow you to constrain which nodes yourPods can be scheduled on based on the labels of Pods already running on thatnode, instead of the node labels.
Inter-pod affinity and anti-affinity rules take the form "thisPod should (or, in the case of anti-affinity, should not) run in an X if that Xis already running one or more Pods that meet rule Y", where X is a topologydomain like node, rack, cloud provider zone or region, or similar and Y is therule Kubernetes tries to satisfy.
For example, you could userequiredDuringSchedulingIgnoredDuringExecution affinity to tell the scheduler toco-locate Pods of two services in the same cloud provider zone because theycommunicate with each other a lot. Similarly, you could usepreferredDuringSchedulingIgnoredDuringExecution anti-affinity to spread Podsfrom a service across multiple cloud provider zones.
This example defines one Pod affinity rule and one Pod anti-affinity rule. ThePod affinity rule uses the "hard"requiredDuringSchedulingIgnoredDuringExecution, while the anti-affinity ruleuses the "soft" preferredDuringSchedulingIgnoredDuringExecution.
The affinity rule says that the scheduler can only schedule a Pod onto a node ifthe node is in the same zone as one or more existing Pods with the labelsecurity=S1. More precisely, the scheduler must place the Pod on a node that has thetopology.kubernetes.io/zone=V label, as long as there is at least one node inthat zone that currently has one or more Pods with the Pod label security=S1.
The anti-affinity rule says that the scheduler should try to avoid schedulingthe Pod onto a node that is in the same zone as one or more Pods with the labelsecurity=S2. More precisely, the scheduler should try to avoid placing the Pod on a node that has thetopology.kubernetes.io/zone=R label if there are other nodes in thesame zone currently running Pods with the Security=S2 Pod label.
In addition to labelSelector and topologyKey, you can optionally specify a listof namespaces which the labelSelector should match against using thenamespaces field at the same level as labelSelector and topologyKey.If omitted or empty, namespaces defaults to the namespace of the Pod where theaffinity/anti-affinity definition appears.
You can also select matching namespaces using namespaceSelector, which is a label query over the set of namespaces.The affinity term is applied to namespaces selected by both namespaceSelector and the namespaces field.Note that an empty namespaceSelector () matches all namespaces, while a null or empty namespaces list andnull namespaceSelector matches the namespace of the Pod where the rule is defined.
Inter-pod affinity and anti-affinity can be even more useful when they are used with higherlevel collections such as ReplicaSets, StatefulSets, Deployments, etc. Theserules allow you to configure that a set of workloads shouldbe co-located in the same defined topology; for example, preferring to place two relatedPods onto the same node.
For example: imagine a three-node cluster. You use the cluster to run a web applicationand also an in-memory cache (such as Redis). For this example, also assume that latency betweenthe web application and the memory cache should be as low as is practical. You could use inter-podaffinity and anti-affinity to co-locate the web servers with the cache as much as possible.
The following example Deployment for the web servers creates replicas with the label app=web-store.The Pod affinity rule tells the scheduler to place each replica on a node that has a Podwith the label app=store. The Pod anti-affinity rule tells the scheduler never to placemultiple app=web-store servers on a single node.
You might have other reasons to use Pod anti-affinity.See the ZooKeeper tutorialfor an example of a StatefulSet configured with anti-affinity for highavailability, using the same technique as this example.
nodeName is a more direct form of node selection than affinity ornodeSelector. nodeName is a field in the Pod spec. If the nodeName fieldis not empty, the scheduler ignores the Pod and the kubelet on the named nodetries to place the Pod on that node. Using nodeName overrules usingnodeSelector or affinity and anti-affinity rules.
My professional experience has always been all about client educational technology, and I've always prided myself as being the 'comfortable catalyst' between technology and the end user (hence our "affinity").
In law and in cultural anthropology, affinity is the kinship relationship created or that exists between two people as a result of someone's marriage. It is the relationship which each party to a marriage has to the relations of the other partner to the marriage, but it does not cover the marital relationship itself. Laws, traditions and customs relating to affinity vary considerably, sometimes ceasing with the death of one of the marriage partners through whom affinity is traced, and sometimes with the divorce of the marriage partners. In addition to kinship by marriage, "affinity" can sometimes also include kinship by adoption or a step relationship.
More commonly, they are known as in-laws or family-in-law, with affinity being usually signified by adding "-in-law" to a degree of kinship. This is standard for the closest degrees of kinship, such as parent-in-law, child-in-law, sibling-in-law, etc., but is frequently omitted in the case of more extended relations. As uncle and aunt are frequently used to refer indifferently to unrelated friends of the family, the terms may be used without specifying whether the person is a cognate or affine. Similarly, the spouse of a cousin may not be called a relation at all or may be referenced as a "cousin by marriage". "By-marriage" can also be used with "uncle" or "aunt", e.g. Princess Léa of Belgium is an aunt by marriage of King Philippe of Belgium.
In Michigan, sexual contact between persons related "by blood or affinity to the third degree" are chargeable as criminal sexual conduct in the 4th degree and punishable by a 2-year sentence or a fine of up to $500 or both.[5]
All members of an affinity group will play a role in leading and crafting the shared experiences of their community. Affinity communities have the opportunity to receive programmatic support to build connections among themselves and the larger residential community, as well as the intentional support from residential staff.
"The Affinity Housing at District House has been a positive experience because it has allowed me to build a community with other Latinx on campus. It is not only our dorm, it is our home; without our affinity, that would have never been possible. We have built a family."
If one of these current affinities does not pique your interest, you will have the opportunity to submit materials, including a purpose statement and confirmed roster, for review and consideration to be a new affinity group. New affinity groups will be considered and approved based on availability.
An affinity diagram is a collection of large amounts of data that is organized into groups or themes based on their relationships. The affinity diagram process is great when you want to make sense of insights gathered during research, as well as when you want to organize ideas generated during ideation sessions.
The best way to create an affinity diagram is with your design team, or the people who were involved in the previous stage of the process (research or ideation in most cases). You can also create an affinity diagram on your own, but you will likely find the process more valuable if you have other design-minded individuals around to discuss aspects of it with.
Affinity fraud refers to investment scams that prey upon members of identifiable groups, such as religious or ethnic communities, the elderly, or professional groups. The fraudsters who promote affinity scams frequently are - or pretend to be - members of the group. They often enlist respected community or religious leaders from within the group to spread the word about the scheme by convincing those people that a fraudulent investment is legitimate and worthwhile. Many times, those leaders become unwitting victims of the fraudster's ruse.
These scams exploit the trust and friendship that exist in groups of people who have something in common. Because of the tight-knit structure of many groups, it can be difficult for regulators or law enforcement officials to detect an affinity scam. Victims often fail to notify authorities or pursue their legal remedies and instead try to work things out within the group. This is particularly true where the fraudsters have used respected community or religious leaders to convince others to join the investment.
Many affinity scams involve "Ponzi" or pyramid schemes, where new investor money is used to make payments to earlier investors to give the false illusion that the investment is successful. This ploy is used to trick new investors to invest in the scheme and to lull existing investors into believing their investments are safe and secure. In reality, the fraudster almost always steals investor money for personal use. Both types of schemes depend on an unending supply of new investors - when the inevitable occurs, and the supply of investors dries up, the whole scheme collapses and investors discover that most or all of their money is gone. 041b061a72