The installable version of ESXi hosts is always installed in evaluation mode.
The evaluation period is 60 days and begins when you turn on the ESXi host.
The evaluation license provides the set of features equal to a vSphere Enterprise Plus license.
The installable version of ESXi hosts is always installed in evaluation mode.
The evaluation period is 60 days and begins when you turn on the ESXi host.
The evaluation license provides the set of features equal to a vSphere Enterprise Plus license.
SSH, MFA, Google Authenticator
Run as root:
cd /usr/ports/security/pam_google_authenticator
make install
mkdir /var/lib/google-authenticatorEdit /etc/pam.d/sshd:
auth required pam_google_authenticator.so nullok noskewadjEdit /etc/pam.d/system:
auth required pam_google_authenticator.so nullok noskewadjLeave out nullok if you do not want to allow users without having google-authenticator configured to be able to log in.
Be sure your root account has google-authenticator setup if you remove nullok and added it to /etc/pam.d/system.
Run google-authenticator with every user you want to be able to use it.
Source: https://www.schmidp.com/2014/01/12/setup-google-authenticator-on-freebsd/
Install Photon OS and Docker as described here.
Install Git
Clone Git Repositories
Build images
Login as admin user and edit crontab (crontab -e) to run containers every minute.
* * * * * /home/admin/comet-temp/run.sh
* * * * * /home/admin/wattson/run.sh
/bin/appliancesh
software-packages install --url https://vapp-updates.vmware.com/vai-catalog/valm/vmw/8d167796-34d5-4899-be0a-6daade4005a3/7.0.0.10400.latest/
gcloud container clusters get-credentials observability-production --region europe-west3
#/usr/bin/perl
$gcloud_auth=`gcloud container clusters get-credentials observability-production --region europe-west3`;
$context = `kubectl config current-context`;
print "Kubernetes Context: $context";
$cpu_line = `kubectl get po -n loki -o jsonpath="{.items[*].spec.containers[*].resources['limits.cpu']}"`;
print "CPU limits: $cpu_line\n";
my @cpu = split(' ', $cpu_line);
$total_cpu_cores = 0;
foreach (@cpu) {
$unit = substr($_, -1, 1);
if ($unit eq "m") {
$cpu = substr($_, 0, - 1);
$cpu = $cpu / 1000;
} else {
$cpu = $_;
}
$total_cpu_cores += $cpu;
}
print "Total CPU cores: $total_cpu_cores\n";
Microservices application architecture is very popular nowadays, however, it is important to understand that everything has advantages and drawbacks. I absolutely understand advantages of micro-services application architecture, however, there is at least one drawback. Of course, there are more, but let's show at least the potential impact on performance. The performance is about latency.
Monolithic application calls functions (aka procedures) locally within a single compute node memory (RAM). Latency of RAM is approximately 100 ns (0.0001 ms) and Python function call in decent computer has latency ~370 ns (0.00037 ms). Note: You can test Python function latency in your computer with the code available at https://github.com/davidpasek/function-latency/tree/main/python
Microservices application is using remote procedure calls (aka RPC) over network. Typically as REST or gRPC call over https, therefore, it has to traverse the network. Even the latency of modern 25GE Ethernet network is approximately 480 ns (0.00048 ms is still 5x slower than latency of RAM), and RDMA over Converged Ethernet latency can be ~3,000 ns (0.003 ms), the latency of microservice gRPC function call is somewhere between 40 and 300 ms. [source]
Conclusion
Python local function call latency is ~370 ns. Python remote function call latency is ~280 ms. That's the order of magnitude (10^6) higher latency of micro-services application. RPC in low-level programming languages like C++ can be 10x faster, but it is still 10^5 slower than local Python function call.
I'm not saying that micro-services application is bad. I just recommend to consider this negative impact on performance during your application design and specification of application services.