istioinaction / book-source-code Goto Github PK
View Code? Open in Web Editor NEWAccompanying source code for Istio in Action (Manning)
Home Page: http://istioinaction.io
Accompanying source code for Istio in Action (Manning)
Home Page: http://istioinaction.io
In Reference to Ch5,
Image: istioinaction/catalog:latest
is Possibly not exposing given endpoint.
On: curl http://localhost/api/users -H "Host: catalog.istioinaction.io"
I'm getting 404:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Error</title>
</head>
<body>
<pre>Cannot GET /api/users</pre>
</body>
</html>
On page 99 of the current MEAP, I read the following lines
$ kubectl create -f <(istioctl kube-inject
-f install/catalog-service/catalog-all.yaml)
$ kubectl create -f <(istioctl kube-inject
-f install/apigateway-service/apigateway-all.yaml)
I could not locate files with these names in the repo and would appreciate if you could clarify where to find them.
Thank you
Hello,
I was going to suggest maybe that multi-arch images be created for things so that people who are on a new M1 mac (maybe) or using a raspberry pi based cluster can use the images. That might be a lot of work and I've never actually built a multi arch image.
At the very least, you might want to remove the hard coded GOARCH in the webapp folder (maybe it's in other places, I'm just on chapter 2), so that it doesn't compile to amd64 for people who are trying to build the docker images on other platforms.
Cheers
Hey I bought istioinaction pre-release book from manning. can I know where is coolstore directory ?
Before we deploy this, however, we want to inject the Istio service proxy so that this service can
participate in the service mesh. From the coolstore directory of the source code, run the
following command using the istioctl command we introduced earlier:
Environment:
minikube version: v1.2.0
$kubectl version
Client Version: version.Info{Major:"1", Minor:"15", GitVersion:"v1.15.0", GitCommit:"e8462b5b5dc2584fdcd18e6bcfe9f1e4d970a529", GitTreeState:"clean", BuildDate:"2019-06-19T16:40:16Z", GoVersion:"go1.12.5", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"15", GitVersion:"v1.15.0", GitCommit:"e8462b5b5dc2584fdcd18e6bcfe9f1e4d970a529", GitTreeState:"clean", BuildDate:"2019-06-19T16:32:14Z", GoVersion:"go1.12.5", Compiler:"gc", Platform:"linux/amd64"}
$istioctl version
client version: 1.2.0
citadel version: 1.2.0
egressgateway version: 1.2.0
galley version: 1.2.0
ingressgateway version: 1.2.0
pilot version: 1.2.0
policy version: 1.2.0
sidecar-injector version: 1.2.0
telemetry version: 1.2.0
After running the command:
kubectl create -f <(istioctl kube-inject -f install/catalog-service/catalog-all.yaml)
Output I get is:
$kubectl get pods
NAME READY STATUS RESTARTS AGE
catalog-7546f55f8c-59th2 1/2 Running 3 13m
Verified spring-boot
container is working:
$kubectl logs catalog-7546f55f8c-59th2 -c spring-boot
JSON Server is running
Below is the logs from the istio-proxy container:
kubectl logs catalog-7546f55f8c-59th2 -c istio-proxy
2019-07-01T18:55:04.323900Z info FLAG: --applicationPorts="[8080,9779,8778]"
2019-07-01T18:55:04.323958Z info FLAG: --binaryPath="/usr/local/bin/envoy"
2019-07-01T18:55:04.323962Z info FLAG: --concurrency="2"
2019-07-01T18:55:04.323965Z info FLAG: --configPath="/etc/istio/proxy"
2019-07-01T18:55:04.323968Z info FLAG: --connectTimeout="10s"
2019-07-01T18:55:04.323970Z info FLAG: --controlPlaneAuthPolicy="NONE"
2019-07-01T18:55:04.323972Z info FLAG: --controlPlaneBootstrap="true"
2019-07-01T18:55:04.323974Z info FLAG: --customConfigFile=""
2019-07-01T18:55:04.323976Z info FLAG: --datadogAgentAddress=""
2019-07-01T18:55:04.323978Z info FLAG: --disableInternalTelemetry="false"
2019-07-01T18:55:04.323980Z info FLAG: --discoveryAddress="istio-pilot.istio-system:15010"
2019-07-01T18:55:04.323982Z info FLAG: --dnsRefreshRate="300s"
2019-07-01T18:55:04.323984Z info FLAG: --domain="istioinaction.svc.cluster.local"
2019-07-01T18:55:04.323986Z info FLAG: --drainDuration="45s"
2019-07-01T18:55:04.323988Z info FLAG: --envoyMetricsServiceAddress=""
2019-07-01T18:55:04.323990Z info FLAG: --help="false"
2019-07-01T18:55:04.323992Z info FLAG: --id=""
2019-07-01T18:55:04.323994Z info FLAG: --ip=""
2019-07-01T18:55:04.323995Z info FLAG: --lightstepAccessToken=""
2019-07-01T18:55:04.323997Z info FLAG: --lightstepAddress=""
2019-07-01T18:55:04.323999Z info FLAG: --lightstepCacertPath=""
2019-07-01T18:55:04.324001Z info FLAG: --lightstepSecure="false"
2019-07-01T18:55:04.324002Z info FLAG: --log_as_json="false"
2019-07-01T18:55:04.324004Z info FLAG: --log_caller=""
2019-07-01T18:55:04.324006Z info FLAG: --log_output_level="default:info"
2019-07-01T18:55:04.324008Z info FLAG: --log_rotate=""
2019-07-01T18:55:04.324010Z info FLAG: --log_rotate_max_age="30"
2019-07-01T18:55:04.324012Z info FLAG: --log_rotate_max_backups="1000"
2019-07-01T18:55:04.324014Z info FLAG: --log_rotate_max_size="104857600"
2019-07-01T18:55:04.324016Z info FLAG: --log_stacktrace_level="default:none"
2019-07-01T18:55:04.324020Z info FLAG: --log_target="[stdout]"
2019-07-01T18:55:04.324022Z info FLAG: --mixerIdentity=""
2019-07-01T18:55:04.324024Z info FLAG: --parentShutdownDuration="1m0s"
2019-07-01T18:55:04.324026Z info FLAG: --pilotIdentity=""
2019-07-01T18:55:04.324029Z info FLAG: --proxyAdminPort="15000"
2019-07-01T18:55:04.324031Z info FLAG: --proxyComponentLogLevel="misc:error"
2019-07-01T18:55:04.324033Z info FLAG: --proxyLogLevel="warning"
2019-07-01T18:55:04.324035Z info FLAG: --serviceCluster="catalog.istioinaction"
2019-07-01T18:55:04.324037Z info FLAG: --serviceregistry="Kubernetes"
2019-07-01T18:55:04.324040Z info FLAG: --statsdUdpAddress=""
2019-07-01T18:55:04.324042Z info FLAG: --statusPort="15020"
2019-07-01T18:55:04.324044Z info FLAG: --templateFile=""
2019-07-01T18:55:04.324045Z info FLAG: --trust-domain=""
2019-07-01T18:55:04.324047Z info FLAG: --zipkinAddress="zipkin.istio-system:9411"
2019-07-01T18:55:04.324064Z info Version [email protected]/istio-1.2.0-f8295503296ec6bae1b1047cc1491469d5e72754-Clean
2019-07-01T18:55:04.324190Z info Obtained private IP [172.17.0.17]
2019-07-01T18:55:04.324215Z info Proxy role: &model.Proxy{ClusterID:"", Type:"sidecar", IPAddresses:[]string{"172.17.0.17", "172.17.0.17"}, ID:"catalog-7546f55f8c-59th2.istioinaction", Locality:(*core.Locality)(nil), DNSDomain:"istioinaction.svc.cluster.local", TrustDomain:"cluster.local", PilotIdentity:"", MixerIdentity:"", ConfigNamespace:"", Metadata:map[string]string{}, SidecarScope:(*model.SidecarScope)(nil), ServiceInstances:[]*model.ServiceInstance(nil), WorkloadLabels:model.LabelsCollection(nil)}
2019-07-01T18:55:04.324242Z info PilotSAN []string(nil)
2019-07-01T18:55:04.324474Z info Effective config: binaryPath: /usr/local/bin/envoy
concurrency: 2
configPath: /etc/istio/proxy
connectTimeout: 10s
discoveryAddress: istio-pilot.istio-system:15010
drainDuration: 45s
parentShutdownDuration: 60s
proxyAdminPort: 15000
serviceCluster: catalog.istioinaction
statNameLength: 189
tracing:
zipkin:
address: zipkin.istio-system:9411
2019-07-01T18:55:04.324481Z info Monitored certs: []string{"/etc/certs/cert-chain.pem", "/etc/certs/key.pem", "/etc/certs/root-cert.pem"}
2019-07-01T18:55:04.324511Z info PilotSAN []string(nil)
2019-07-01T18:55:04.324555Z info Starting proxy agent
2019-07-01T18:55:04.324622Z info Opening status port 15020
2019-07-01T18:55:04.324857Z info watching /etc/certs for changes
2019-07-01T18:55:04.324865Z info Received new config, resetting budget
2019-07-01T18:55:04.324868Z info Reconciling retry (budget 10)
2019-07-01T18:55:04.324949Z info Epoch 0 starting
2019-07-01T18:55:04.371264Z info Envoy command: [-c /etc/istio/proxy/envoy-rev0.json --restart-epoch 0 --drain-time-s 45 --parent-shutdown-time-s 60 --service-cluster catalog.istioinaction --service-node sidecar~172.17.0.17~catalog-7546f55f8c-59th2.istioinaction~istioinaction.svc.cluster.local --max-obj-name-len 189 --local-address-ip-version v4 --allow-unknown-fields -l warning --component-log-level misc:error --concurrency 2]
[2019-07-01 18:55:04.391][17][warning][config] [bazel-out/k8-opt/bin/external/envoy/source/common/config/_virtual_includes/grpc_stream_lib/common/config/grpc_stream.h:86] gRPC config stream closed: 14, no healthy upstream
[2019-07-01 18:55:04.391][17][warning][config] [bazel-out/k8-opt/bin/external/envoy/source/common/config/_virtual_includes/grpc_stream_lib/common/config/grpc_stream.h:49] Unable to establish new stream
[2019-07-01 18:55:05.848][17][warning][filter] [src/envoy/http/authn/http_filter_factory.cc:102] mTLS PERMISSIVE mode is used, connection can be either plaintext or TLS, and client cert can be omitted. Please consider to upgrade to mTLS STRICT mode for more secure configuration that only allows TLS connection with client cert. See https://istio.io/docs/tasks/security/mtls-migration/
[2019-07-01 18:55:05.850][17][warning][filter] [src/envoy/http/authn/http_filter_factory.cc:102] mTLS PERMISSIVE mode is used, connection can be either plaintext or TLS, and client cert can be omitted. Please consider to upgrade to mTLS STRICT mode for more secure configuration that only allows TLS connection with client cert. See https://istio.io/docs/tasks/security/mtls-migration/
2019-07-01T18:55:05.893029Z info Envoy proxy is ready
[2019-07-01T18:55:18.481Z] "GET /health HTTP/1.1" 503 UF "-" "-" 0 91 7 - "-" "kube-probe/1.15" "5756bbc2-b7c9-9bbe-ab56-bcc5d2b17af7" "172.17.0.17:8080" "127.0.0.1:8080" inbound|8080|http|catalog.istioinaction.svc.cluster.local - 172.17.0.17:8080 172.17.0.1:52280 -
[2019-07-01T18:55:28.903Z] "GET /health HTTP/1.1" 503 UF "-" "-" 0 91 9 - "-" "kube-probe/1.15" "9a976dfd-4f69-9f64-88b2-30470f33d2af" "172.17.0.17:8080" "127.0.0.1:8080" inbound|8080|http|catalog.istioinaction.svc.cluster.local - 172.17.0.17:8080 172.17.0.1:52396 -
[2019-07-01T18:55:38.479Z] "GET /health HTTP/1.1" 503 UF "-" "-" 0 91 0 - "-" "kube-probe/1.15" "f328c63c-7426-9667-9b7c-8329ae541372" "172.17.0.17:8080" "127.0.0.1:8080" inbound|8080|http|catalog.istioinaction.svc.cluster.local - 172.17.0.17:8080 172.17.0.1:52516 -
[2019-07-01T18:55:48.480Z] "GET /health HTTP/1.1" 503 UF "-" "-" 0 91 0 - "-" "kube-probe/1.15" "2c6446d6-6bb0-925c-8080-2bf820bc1bf6" "172.17.0.17:8080" "127.0.0.1:8080" inbound|8080|http|catalog.istioinaction.svc.cluster.local - 172.17.0.17:8080 172.17.0.1:52624 -
[2019-07-01T18:55:58.480Z] "GET /health HTTP/1.1" 503 UF "-" "-" 0 91 0 - "-" "kube-probe/1.15" "6f9c808a-9653-9e35-ae62-4c12d03ebd9f" "172.17.0.17:8080" "127.0.0.1:8080" inbound|8080|http|catalog.istioinaction.svc.cluster.local - 172.17.0.17:8080 172.17.0.1:52736 -
[2019-07-01T18:56:08.480Z] "GET /health HTTP/1.1" 503 UF "-" "-" 0 91 1 - "-" "kube-probe/1.15" "8fb6c7b7-6167-9138-8619-5bbf6247adb8" "172.17.0.17:8080" "127.0.0.1:8080" inbound|8080|http|catalog.istioinaction.svc.cluster.local - 172.17.0.17:8080 172.17.0.1:52844 -
[2019-07-01T18:56:18.590Z] "GET /health HTTP/1.1" 503 UF "-" "-" 0 91 8 - "-" "kube-probe/1.15" "e1fb96e5-5ad8-90eb-8702-5599c9db30c6" "172.17.0.17:8080" "127.0.0.1:8080" inbound|8080|http|catalog.istioinaction.svc.cluster.local - 172.17.0.17:8080 172.17.0.1:52954 -
[2019-07-01T18:56:28.480Z] "GET /health HTTP/1.1" 503 UF "-" "-" 0 91 0 - "-" "kube-probe/1.15" "cd488ed3-fbea-987c-9c0d-507ba49f6023" "172.17.0.17:8080" "127.0.0.1:8080" inbound|8080|http|catalog.istioinaction.svc.cluster.local - 172.17.0.17:8080 172.17.0.1:53064 -
[2019-07-01T18:56:38.479Z] "GET /health HTTP/1.1" 503 UF "-" "-" 0 91 1 - "-" "kube-probe/1.15" "238459a6-1412-9b1e-a85f-c2f598c33017" "172.17.0.17:8080" "127.0.0.1:8080" inbound|8080|http|catalog.istioinaction.svc.cluster.local - 172.17.0.17:8080 172.17.0.1:53180 -
[2019-07-01T18:56:48.480Z] "GET /health HTTP/1.1" 503 UF "-" "-" 0 91 0 - "-" "kube-probe/1.15" "e40375ec-d5b6-98ba-9623-8d22907c37f9" "172.17.0.17:8080" "127.0.0.1:8080" inbound|8080|http|catalog.istioinaction.svc.cluster.local - 172.17.0.17:8080 172.17.0.1:53288 -
[2019-07-01T18:56:58.481Z] "GET /health HTTP/1.1" 503 UF "-" "-" 0 91 0 - "-" "kube-probe/1.15" "e1bfe862-b914-9c59-a202-a67e826e2bc4" "172.17.0.17:8080" "127.0.0.1:8080" inbound|8080|http|catalog.istioinaction.svc.cluster.local - 172.17.0.17:8080 172.17.0.1:53398 -
[2019-07-01T18:57:08.481Z] "GET /health HTTP/1.1" 503 UF "-" "-" 0 91 0 - "-" "kube-probe/1.15" "8b84ab07-cc51-91a4-92d8-87622febbd83" "172.17.0.17:8080" "127.0.0.1:8080" inbound|8080|http|catalog.istioinaction.svc.cluster.local - 172.17.0.17:8080 172.17.0.1:53506 -
[2019-07-01T18:57:18.481Z] "GET /health HTTP/1.1" 503 UF "-" "-" 0 91 0 - "-" "kube-probe/1.15" "be3824b6-e114-9518-ab99-f8bbdc61a90c" "172.17.0.17:8080" "127.0.0.1:8080" inbound|8080|http|catalog.istioinaction.svc.cluster.local - 172.17.0.17:8080 172.17.0.1:53614 -
[2019-07-01T18:57:28.480Z] "GET /health HTTP/1.1" 503 UF "-" "-" 0 91 0 - "-" "kube-probe/1.15" "174c6d47-22b8-9921-9d30-221aa96f4a13" "172.17.0.17:8080" "127.0.0.1:8080" inbound|8080|http|catalog.istioinaction.svc.cluster.local - 172.17.0.17:8080 172.17.0.1:53728 -
[2019-07-01T18:57:38.480Z] "GET /health HTTP/1.1" 503 UF "-" "-" 0 91 4 - "-" "kube-probe/1.15" "b12d5054-f257-987d-88be-6383803fea66" "172.17.0.17:8080" "127.0.0.1:8080" inbound|8080|http|catalog.istioinaction.svc.cluster.local - 172.17.0.17:8080 172.17.0.1:53842 -
[2019-07-01T18:57:48.481Z] "GET /health HTTP/1.1" 503 UF "-" "-" 0 91 0 - "-" "kube-probe/1.15" "9b5e0ad4-7959-9887-8cce-588c046935a0" "172.17.0.17:8080" "127.0.0.1:8080" inbound|8080|http|catalog.istioinaction.svc.cluster.local - 172.17.0.17:8080 172.17.0.1:53950 -
[2019-07-01T18:57:58.480Z] "GET /health HTTP/1.1" 503 UF "-" "-" 0 91 0 - "-" "kube-probe/1.15" "72a2c02f-2e8e-9c12-bd43-8caddc287d68" "172.17.0.17:8080" "127.0.0.1:8080" inbound|8080|http|catalog.istioinaction.svc.cluster.local - 172.17.0.17:8080 172.17.0.1:54060 -
[2019-07-01T18:58:08.480Z] "GET /health HTTP/1.1" 503 UF "-" "-" 0 91 34 - "-" "kube-probe/1.15" "f3207917-bf5b-941d-a37b-90229e0de5e6" "172.17.0.17:8080" "127.0.0.1:8080" inbound|8080|http|catalog.istioinaction.svc.cluster.local - 172.17.0.17:8080 172.17.0.1:54168 -
[2019-07-01T18:58:10.826Z] "GET /health HTTP/1.1" 503 UF "-" "-" 0 91 0 - "-" "kube-probe/1.15" "6551817c-4d09-911b-b0ad-4711b9ca2c51" "172.17.0.17:8080" "127.0.0.1:8080" inbound|8080|http|catalog.istioinaction.svc.cluster.local - 172.17.0.17:8080 172.17.0.1:54196 -
[2019-07-01T18:58:18.480Z] "GET /health HTTP/1.1" 503 UF "-" "-" 0 91 0 - "-" "kube-probe/1.15" "fbee1157-d358-9dba-a628-0c405daa0407" "172.17.0.17:8080" "127.0.0.1:8080" inbound|8080|http|catalog.istioinaction.svc.cluster.local - 172.17.0.17:8080 172.17.0.1:54280 -
[2019-07-01T18:58:20.827Z] "GET /health HTTP/1.1" 503 UF "-" "-" 0 91 0 - "-" "kube-probe/1.15" "32490ac5-f04f-93da-82b5-97ac4e66b6b5" "172.17.0.17:8080" "127.0.0.1:8080" inbound|8080|http|catalog.istioinaction.svc.cluster.local - 172.17.0.17:8080 172.17.0.1:54310 -
[2019-07-01T18:58:28.481Z] "GET /health HTTP/1.1" 503 UF "-" "-" 0 91 0 - "-" "kube-probe/1.15" "41bacfa4-97f0-9df5-a237-1edff8eaf1d6" "172.17.0.17:8080" "127.0.0.1:8080" inbound|8080|http|catalog.istioinaction.svc.cluster.local - 172.17.0.17:8080 172.17.0.1:54394 -
[2019-07-01T18:58:30.828Z] "GET /health HTTP/1.1" 503 UF "-" "-" 0 91 0 - "-" "kube-probe/1.15" "83ab61d1-28ae-9147-93e9-aa9a40d0a979" "172.17.0.17:8080" "127.0.0.1:8080" inbound|8080|http|catalog.istioinaction.svc.cluster.local - 172.17.0.17:8080 172.17.0.1:54430 -
[2019-07-01T18:58:38.480Z] "GET /health HTTP/1.1" 503 UF "-" "-" 0 91 0 - "-" "kube-probe/1.15" "deeefada-0c71-951e-ad45-ca5671f27c06" "172.17.0.17:8080" "127.0.0.1:8080" inbound|8080|http|catalog.istioinaction.svc.cluster.local - 172.17.0.17:8080 172.17.0.1:54514 -
[2019-07-01T18:58:48.481Z] "GET /health HTTP/1.1" 503 UF "-" "-" 0 91 0 - "-" "kube-probe/1.15" "3307c029-4c16-96a4-bdaf-1e7c394cf175" "172.17.0.17:8080" "127.0.0.1:8080" inbound|8080|http|catalog.istioinaction.svc.cluster.local - 172.17.0.17:8080 172.17.0.1:54622 -
[2019-07-01T18:58:58.479Z] "GET /health HTTP/1.1" 503 UF "-" "-" 0 91 1 - "-" "kube-probe/1.15" "5128d1a2-b3d3-9f35-8403-dc4f9153c4bc" "172.17.0.17:8080" "127.0.0.1:8080" inbound|8080|http|catalog.istioinaction.svc.cluster.local - 172.17.0.17:8080 172.17.0.1:54732 -
[2019-07-01T18:59:18.480Z] "GET /health HTTP/1.1" 503 UF "-" "-" 0 91 0 - "-" "kube-probe/1.15" "34868db0-04c2-9974-8f32-c81ff9ddc9d0" "172.17.0.17:8080" "127.0.0.1:8080" inbound|8080|http|catalog.istioinaction.svc.cluster.local - 172.17.0.17:8080 172.17.0.1:54944 -
[2019-07-01T18:59:28.480Z] "GET /health HTTP/1.1" 503 UF "-" "-" 0 91 0 - "-" "kube-probe/1.15" "d150f243-ef62-958a-807c-bd460262abb6" "172.17.0.17:8080" "127.0.0.1:8080" inbound|8080|http|catalog.istioinaction.svc.cluster.local - 172.17.0.17:8080 172.17.0.1:55054 -
[2019-07-01T18:59:38.481Z] "GET /health HTTP/1.1" 503 UF "-" "-" 0 91 2 - "-" "kube-probe/1.15" "86a23b34-6a18-9ad2-ad4a-6324253e846f" "172.17.0.17:8080" "127.0.0.1:8080" inbound|8080|http|catalog.istioinaction.svc.cluster.local - 172.17.0.17:8080 172.17.0.1:55172 -
[2019-07-01T18:59:48.480Z] "GET /health HTTP/1.1" 503 UF "-" "-" 0 91 2 - "-" "kube-probe/1.15" "b5f4bdb5-4b35-927c-ac88-37509af78307" "172.17.0.17:8080" "127.0.0.1:8080" inbound|8080|http|catalog.istioinaction.svc.cluster.local - 172.17.0.17:8080 172.17.0.1:55282 -
the following command fails :
curl -H "Host: apiserver.istioinaction.io" https://apiserver.istioinaction.io:$HTTPS_PORT/api/catalog --cacert chapters/chapter4/certs/2_intermediate/certs/ca-chain.cert.pe --resolve apiserver.istioinaction.io:$HTTPS_PORT:$HTTP_HOST
since the cert is expired :
* Server certificate:
* subject: C=US; ST=Denial; L=Springfield; O=Dis; CN=apiserver.istioinaction.io
* start date: Aug 13 22:41:03 2018 GMT
* expire date: Aug 23 22:41:03 2019 GMT
* issuer: C=US; ST=Denial; O=Dis; CN=apiserver.istioinaction.io
Hello,
I created the gateway and the virtualservice as described in the book.
It worked fine for the first time with gateway routing with virtual service.
The below command showed the response as describe in the book.
istioctl proxy-config route deploy/istio-ingressgateway -o json --name http.8080 -n istio-system
After I changed the host to another value. And making sure that is consistent in Gateway & VirtualService.
the above command did not had the entry for virtual host & route. It shows only the output as described in book for "listener is bound to a blackhole"
I am not sure the "eventually consistent" is not happening for after changing the hosts. I made sure that namespace is correct. And recreated the GW.yaml & VS.yaml.
Could you please sight where could the issue be.
Thank you
I followed the steps for Jaeger UI, however when I open the browser Jaeger only showed "jaeger-all-in-one".
Probable Solution
istio-config.yaml
with the following content:apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
spec:
meshConfig:
defaultConfig:
tracing:
zipkin:
address: jaeger-collector.istio-system:9411
components:
base:
enabled: true
egressGateways:
- enabled: false
name: istio-egressgateway
ingressGateways:
- enabled: true
name: istio-ingressgateway
pilot:
enabled: true
hub: docker.io/istio
profile: default
tag: 1.22.2
values:
defaultRevision: ""
gateways:
istio-egressgateway: {}
istio-ingressgateway: {}
global:
configValidation: true
istioNamespace: istio-system
This content can be generated with ìstioctl profile dump
, you must add the meshConfig property.
istioctl install -f istio-config.yaml -y
kubectl rollout restart deploy webapp
kubectl rollout restart deploy catalog
Hi there!
This is a great book! Thanks for writing it! 🙏
Context:
I'd assume something changed in the naming part since for both catalog
and webapp
cases I get a timed out result:
❯ kubectl run -i --rm --restart=Never dummy --image=curlimages/curl --command -- \
sh -c 'curl -s http://catalog.istioinaction/items/1'
pod "dummy" deleted
error: timed out waiting for the condition
❯
Everything else works fine:
kubectl port-forward deploy/webapp 8080:8080
) I get the UI with the same state and details as in the book, figure 2.6.And I tested this on two different (Pop!_OS 22.04 LTS) Linux systems.
I couldn't find any reference about it in the existing (open or closed) issues, so I wanted to ask about it.
Meanwhile, I'll try to find the answer myself and get back here to post it, without any feedback in between.
Thanks.
Hi there,
I was going to recommend after #26 that you change the images to have a pull policy of Always
, that way as you fix bugs users don't have to do a whole bunch of jumping around to get the new versions.
The caching semantics of the underlying image provider make even imagePullPolicy: Always efficient, as long as the registry is reliably accessible. Your container runtime can notice that the image layers already exist on the node so that they don't need to be downloaded again.
Hi:
Env: minikube 1.13.2, istio 1.0.6 (tried in istio 1.0.0 as well)
After I follow the example in the chapter 3,
$ kubectl get pods
NAME READY STATUS RESTARTS AGE
catalog-8459b4f9cf-tfblj 1/2 Running 6 22m
$ kubectl logs catalog-8459b4f9cf-tfblj -c spring-boot
2019-03-15 08:02:48.214 WARN 1 --- [ main] o.s.cloud.kubernetes.StandardPodUtils : Failed to get pod with name:[catalog-8459b4f9cf-tfblj]. You should look into this if things aren't working as you expect. Are you missing serviceaccount permissions?
io.fabric8.kubernetes.client.KubernetesClientException: Failure executing: GET at: https://kubernetes.default.svc/api/v1/namespaces/istioinaction/pods/catalog-8459b4f9cf-tfblj. Message: Forbidden!Configured service account doesn't have access. Service account may have been revoked. pods "catalog-8459b4f9cf-tfblj" is forbidden: User "system:serviceaccount:istioinaction:default" cannot get resource "pods" in API group "" in the namespace "istioinaction".
Is it due to we miss some serviceaccount setup before this step in new istio?
BTW: I leave the comment in liveBook discussion in manning as well, try to fix this issue to continue reading
In chapter 5.2.5, there is a command: kubectl apply -f ch5/catalog-vs-v2-request-mesh.yaml
where is gateway: -mesh created in ch5/catalog-vs-v2-request-mesh.yaml?
Is mesh a reserved gateway name by istio ?
Thx.
When trying one of the examples mentioned by the book about telemetry, I get the following error
$ kubectl apply -f book-source-code/ch4/enable-ingress-gw-access-logs.yaml
error: unable to recognize "book-source-code/ch4/enable-ingress-gw-access-logs.yaml": no matches for kind "Telemetry" in version "telemetry.istio.io/v1alpha1"
What could be the reason?
Improve the image size for the Catalog service, currently at 350 MB when compressed.
All changes are in:
https://github.com/istioinaction/book-source-code/blob/master/services/catalog/Dockerfile
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.