Errata

Reactive Systems in Java

Errata for Reactive Systems in Java

Submit your own errata for this product.

The errata list is a list of errors and their corrections that were found after the product was released.

The following errata were submitted by our customers and have not yet been approved or disproved by the author or editor. They solely represent the opinion of the customer.

Color Key: Serious technical mistake Minor technical mistake Language or formatting error Typo Question Note Update

Version Location Description Submitted by Date submitted
Printed Page Page 31
Example 2-24

Directly below the 1st listed item, "Execute the kubeclt"

Miguel Rodriguez  Jan 07, 2023 
O'Reilly learning platform Page 3-3
Deployment guidance

Hi there....hope this can route back to the book authors or something
like it.

I've been having substantial problems with the examples in the book,
from the very beginning. I've solved a number of them (starting with
Java 17 incompatibilities, had to roll back to Java 11...other problems
I had to route out, etc, but I wanted to reach out to you on the
kubernetes examples as it relates to deployment and (I think) image
access.

I'm running on Fedora 38, OpenJDK version "11.0.21" 2023-10-17

So let's take the quarkus-code-example one in chapter 3, starting with
example 3-3. In a standard bash terminal session I've done the commands
there (and per your recommendations, had previously sourced a shell
script with the line:
"eval $(minikube -p minikube docker-env)"
in this terminal session). kubectl get nodes reveals:


NAME STATUS ROLES AGE VERSION
minikube Ready control-plane 2d16h v1.28.3

I think navigate to the quarkus-simple-service directory in chapter 3
(I think you have a typo in the directive just before example 3-5,
where you say "navigate in the chapter-3/simple-service directory"...I
think you mean quarkus-simple-service since there is no "simple-
service" directory). I then issue
mvn verify -Dquarkus.kubernetes.deploy=true

[wayne@fedora quarkus-simple-service]$ kubectl get pods
NAME READY STATUS
RESTARTS AGE
quarkus-simple-service-844496cc5c-479zl 0/1 ErrImagePull 0
56m

kubectl logs quarkus-simple-service-844496cc5c-479zl
Error from server (BadRequest): container "quarkus-simple-service" in
pod "quarkus-simple-service-844496cc5c-479zl" is waiting to start:
trying and failing to pull image

As you might expect, service start fails:

[wayne@fedora quarkus-simple-service]$ minikube service quarkus-simple-
service --url
(URL, available on request)

? Exiting due to SVC_UNREACHABLE: service not available: no running
pod for service quarkus-simple-service found

spec:
containers:
- env:
- name: KUBERNETES_NAMESPACE

That sounds like an environment variable I should define. I tried to
define it as "Default", but didn't affect the problem. That sounded
promising since it matched a remedy for a similar problem I found on
Stack Overflow.

Here's one other deviation in the way minikube got installed for me. I
happen to have VirtualBox running for other reasons. The installer did
seem to diddle around with my Virtual Box definition and created a
running VM called "minikube". I don't know if I have to interact with
it; I don't even know what the user name (someone on SO suggested
"minikub"/"tcuser" but that did not authenticate. I seem to recall
successfully ssh'ing to it yesterday, but didn't find anything there to
work with. So again, I'm running these commands in my standard Fedora
Gnome terminal window.

Before I go making more speculative changes to the .yml or other
configuration, I was hoping I could ask you and you could point me in a
right direction. It feels like there's an image registry I have to get
right with the applictation, but I don't know how to go about that
based on the instructions in the book.

Thanks in advance for any help or followup questions you can provide
me! I'd also be happy to take this up with you on the phone or
otherwise interactively (Slack?).

Wayne F. Tackabury  Apr 18, 2024