How Do You Find the Ingress IP address for an AKS Cluster?

Problem scenario
You are running Kubernetes in Azure. You need to find the Ingress pod's IP address. What should you do?

Solution
1. Go to portal.azure.com
2. Go to Kubernetes Service
3. Go to the AKS cluster (e.g., foobar)
4. Go to Services and Ingresses
5. Find the ingress service with the name you are looking for (e.g., foobar_cluster)
6. There should be a LoadBalancer IP address (or possibly a ClusterIP). Scroll to the right to find the external IP address (that does not use a 192.x.x.x, 172.x.x.x, or 10.x.x.x IP address) if that is what you are looking for.

How Do You Troubleshoot “This does not look like a tar archive” when Trying to Download a .tar.gz File with Linux?

One of the below problem scenarios is happening.

Possible problem scenario #1
You try to download a file with curl or wget. Instead of downloading the file, you get a file with this as the content:

gzip: /home/ubuntu/foobar.tar.gz: not in gzip format
tar: This does not look like a tar archive
tar: Exiting with failure status due to previous errors

You use a web browser, and you can download the file. You know the website works perfectly. Why cannot you download the file on a Linux machine (using the character prompt)?

Possible problem scenario #2
You run curl or wget, and you see that you are being redirected. What flag should you use with curl to get it to work?

Possible problem scenario #3
You try to run a curl command, but you get this error message:
curl: (3) URL using bad/illegal format or missing URL

Solution
Use a command like this:

curl -L https://www.continualintegration.com/foobar.tar.gz --output /tmp/foobar.tar.gz

# Replace https://www.continualintegration.com/foobar.tar.gz with the URL you are downloading the .tar.gz file from
# Replace /tmp/foobar.tar.gz with the destination location and desired name of the file you are downloading

What Is High-Cardinality in Monitoring?

Question
High-cardinality in SQL refers to highly differentiated data for a given column. (Although "relatively unique" is not grammatical, that is one way to say it.) When there are many different possible values for a given column, that is high-cardinality. In the context of monitoring, what is high-cardinality?

Answer
In monitoring like relational databases, cardinality refers to the number of elements in a set (consistent with the mathematical definition https://www.dictionary.com/browse/cardinality).

"[T]he number of individual values of a metric." This was taken from Splunk.com.

Time series data can be paired with labels, meta-data or dimensions. This combination increases cardinality from the atomic metric categories.

Creating artificially high cardinality can create large amounts of data to reconcile; some businesses demand high cardinality for certain analytical purposes.

See also this posting: https://blog.timescale.com/blog/what-is-high-cardinality-how-do-time-series-databases-influxdb-timescaledb-compare/

What is a Mutating Webhook?

Question
In the context of Kubernetes, what is a mutating webhook?

Answer
They are an API invocation that make changes to resources (and in some cases before they are created per medium.com).

"MutatingAdmissionWebhook is one of easiest ways of extending Kubernetes with new policy controls and resources mutation and a host of other options." (Taken from medium.com )

"Mutating controllers may modify related objects to the requests they admit; validating controllers may not." This quote was taken from this website.

If you want to build a mutating (admission) webhook, see this external posting.

Unlike a validation webhook, mutating webhooks happen at a different step in the admission controller process. The admission controller process starts with an API request and ends with persisting data to etcd.

See the diagram here and visually search for "diagram representing."

Object schema validation precedes validation webhooks; object schema validation happens after mutating webhooks.

How Do You Select a Subportion of an Image Using LibreOiffice Draw?

Problem scenario
You want to copy a subarea of a copied screenshot (just like Paint in Windows). How do you copy a rectangle cropped selection of a pasted screen shot using LibreOffice Draw?

Solution
1. Open LibreOffice Draw and paste the image in.
2. Click on the square icon in the upper right. It is an image of a square with sides extended on the left upper and right lower corners like this:

Click that beige/orange square with an empty middle.

Now you can select a subimage by moving a blue symbol on the perimeter inward.

How Do You Solve “Error Problem with installed package …docker-ce conflicts with podman-docker”?

Problem scenario
You try to install docker-ce on a CentOS/Stream/RHEL/Fedora server, but you get an error like this:

Error:
Problem: problem with installed package podman-docker-1:3.4.1-3.module_el8.6.0+954+963caf36.noarch
...
package docker-ce conflicts with podmoan-docker

What should you do?

Solution
This will remove some packages. Do not do this if you have customized the packages involved.

Run these commands:

sudo yum remove buildah skopeo podman containers-common atomic-registries docker container-tools

sudo dnf -y install docker-ce

Is It Legal to Ask about Salary/Compensation History?

Problem scenario
You are not sure if an employer can ask your salary history. The job application asks you to enter your salary history. Is it legal in the USA to ask a candidate about their previous salary history?

Answer
Maybe. For some states, the law only applies to the state government. It depends on the state, the city or possibly the type of employer. Read this article (but please note that it has not been updated in the past six months, and this is not legal advice). You may also want to see Paycor.com and Ultimatestaffing.com for their articles on this subject.

How Do You Resize the Amount of Memory an Oracle VirtualBox VM?

Problem scenario
You want to resize a VM in Oracle VirtualBox so it has more memory. How do you add RAM to a VM in Oracle VirtualBox?

Solution
1. Power off the VM.
2. Go to the Oracle VM VirtualBox Manager application.
3. Highlight the VM you want to modify.
4. Go to Settings -> System -> Motherboard
5. Change the "Base Memory" to what you want.
6. Click "OK".
7. Turn the VM back on.

Is It a Best/Recommended Practice to Use Wrist Rests?

Problem scenario
You have red about gel wrist pads for keyboard and mouse utilization. You think you should invest in ergonomic equipment. Should you get a wrist rest for your computer usage?

Solution
It is not clear.

For the "Yes":
Many companies that sell them recommend them, and some people prefer the gel support.
This site says to use them.

For the No:
This site says to not use wrist rests.

Another site says that it did not help one person who tried it.

How Do You Get Nodes in Kubernetes to Be Ready with a Network Plugin Error?

Problem scenario
Your pods are not ready in Kubernetes. "kubectl describe pods" results may have errors like this:

Warning FailedCreatePodSandBox 4m57s (x2035 over 69m) kubelet (combined from similar events): Failed to create pod sandbox: rpc error: code = Unknown desc = failed to set up sandbox container "abcd1234" network for pod "apache-tomcat-deployment": networkPlugin cni failed to set up pod "apache-tomcat-deployment" network: open /run/flannel/subnet.env: no such file or directory

(The symptoms of this problem will involve pods and nodes not being ready. You may go to an load balancer URL, but the page will not load. It is supposed to be an ingress to a Kubernetes web application. You expect to see a regular web page.)

What should you do?

Solution
Create the /run/flannel/subnet.env file. The pods will come back right away without you doing anything.

Here is the content of the file:

FLANNEL_NETWORK=10.244.0.0/16
FLANNEL_SUBNET=10.244.0.1/24
FLANNEL_MTU=1450
FLANNEL_IPMASQ=true

echo "
FLANNEL_NETWORK=10.244.0.0/16 \
FLANNEL_SUBNET=10.244.0.1/24 \
FLANNEL_MTU=1450 \
FLANNEL_IPMASQ=true" > /run/flannel/subnet.env