aws-containers / appmeshworkshop Goto Github PK
View Code? Open in Web Editor NEWLicense: MIT No Attribution
License: MIT No Attribution
eksctl install was not present in initial config. Thus https://www.appmeshworkshop.com/prerequisites/bootstrapsh/ failed.
}
}
Creating the EKS Cluster
/home/ec2-user/environment/scripts/build-eks: line 17: eksctl: command not found
/home/ec2-user/environment/scripts/build-eks: line 43: eksctl: command not found
After deploying the Envoy container to the EC2 instances with State Manager, the frontend loses connectivity to the backend services. Curls to the Backends from the EC2 instances using SSM remote sessions are successful
kubectl describe pod nodejs-app-76555b7c6b-hhbhz -n appmesh-workshop-ns
Normal BackOff 99s (x5785 over 21h) kubelet, ip-10-0-102-209.us-west-2.compute.internal Back-off pulling image "aws-containers/ecsdemo-nodejs:latest"
https://www.appmeshworkshop.com/prerequisites/installtools/ affected page
user:~/environment $ curl --silent --location "https://github.com/weaveworks/eksctl/releases/download/latest_release/eksctl_$(uname -s)_amd64.tar.gz" | tar xz -C /tmp
gzip: stdin: not in gzip format
tar: Child returned status 1
tar: Error is not recoverable: exiting now
user:~/environment $ uname -s
Linux
Workaround:
curl --silent --location "https://github.com/eksctl-io/eksctl/releases/latest/download/eksctl_$(uname -s)_amd64.tar.gz" | tar xz -C /tmp
The command here: https://www.appmeshworkshop.com/mesh_nodejs/install_appmesh_controller/ right after the sentence "Now install App Mesh Controller into the appmesh-system namespace using the project’s Helm chart, specifying the service account you just created" does not work. it Returns:
Error: Kubernetes cluster unreachable: exec plugin: invalid apiVersion "client.authentication.k8s.io/v1alpha1"
Workaround - use helm v3.8.2
curl -L https://git.io/get_helm.sh | bash -s -- --version v3.8.2
And to make sure that this will work you need to use kubectl Client Version: v1.16.8
There are issues running the commands in: https://www.appmeshworkshop.com/policyrouting/curljson/
curl --location --header "canary_fleet: true" --silent $URL/json
gives 404 error as there is no /json
path
Even though header is set to canary_fleet: true
, Crystal service still randomly gives non-canary response back. This is probably because Ruby front-end does not forward the header to Crystal service. The only reliable way to get 100% canary response is to open a Session Manager session against the External EC2 instance and access the Virtual Gateway of the Crystal service (created in in https://www.appmeshworkshop.com/virtualgateway/crystal-ingress/) i.e.
for ((i=1;i<=15;i++)); do
curl --header "canary_fleet: true" $NLB_ENDPOINT/ecs/crystal
sleep 1s
done
Issue on Ruby-EC2Instance-appmesh-workshop
instances:
Successfully installed bundler-1.17.3
Parsing documentation for bundler-1.17.3
Done installing documentation for bundler after 3 seconds
38 gems installed
+ gem update --system
ERROR: Error installing rubygems-update:
There are no versions of rubygems-update (= 3.4.21) compatible with your Ruby & RubyGems
rubygems-update requires Ruby version >= 2.6.0. The current ruby version is 2.5.0.
ERROR: While executing gem ... (NoMethodError)
undefined method `version' for nil:NilClass
Updating rubygems-update
Workaround:
Commenting out the gem update --system
as it causes bootstrap failure
Where: https://www.appmeshworkshop.com/deployment/updatecrystal/
git -C ~/environment/ecsdemo-crystal apply add_time_ms.patch results in failure:
error: patch failed: code_hash.txt:1
error: code_hash.txt: patch does not apply
error: patch failed: src/server.cr:24
error: src/server.cr: patch does not apply
In page: https://www.appmeshworkshop.com/virtualgateway/nodejs-ingress/
In command Let’s now create our Virtual Gateway manifest file
missing at the end:
kubectl apply -f ~/environment/eks-scripts/app-mesh-virtual-gateway.yml
Moreover in following two command copyable boxes, command output is present.
The EC2 instances fail to start the Rails app due to the following error in the user data logs (/var/log/user-data.log):
/.rbenv/versions/2.5.1/lib/ruby/site_ruby/2.5.0/rubygems/resolver/conflict.rb:47:in `conflicting_dependencies': undefined method `request' for nil:Nil
Class (NoMethodError)
from /.rbenv/versions/2.5.1/lib/ruby/site_ruby/2.5.0/rubygems/exceptions.rb:61:in `conflicting_dependencies'
from /.rbenv/versions/2.5.1/lib/ruby/site_ruby/2.5.0/rubygems/exceptions.rb:55:in `initialize'
from /.rbenv/versions/2.5.1/lib/ruby/site_ruby/2.5.0/rubygems/resolver.rb:193:in `exception'
from /.rbenv/versions/2.5.1/lib/ruby/site_ruby/2.5.0/rubygems/resolver.rb:193:in `raise'
from /.rbenv/versions/2.5.1/lib/ruby/site_ruby/2.5.0/rubygems/resolver.rb:193:in `rescue in resolve'
from /.rbenv/versions/2.5.1/lib/ruby/site_ruby/2.5.0/rubygems/resolver.rb:189:in `resolve'
from /.rbenv/versions/2.5.1/lib/ruby/site_ruby/2.5.0/rubygems/request_set.rb:411:in `resolve'
from /.rbenv/versions/2.5.1/lib/ruby/site_ruby/2.5.0/rubygems/request_set.rb:423:in `resolve_current'
from /.rbenv/versions/2.5.1/lib/ruby/site_ruby/2.5.0/rubygems.rb:230:in `finish_resolve'
from /.rbenv/versions/2.5.1/lib/ruby/site_ruby/2.5.0/rubygems.rb:287:in `block in activate_bin_path'
from /.rbenv/versions/2.5.1/lib/ruby/site_ruby/2.5.0/rubygems.rb:285:in `synchronize'
from /.rbenv/versions/2.5.1/lib/ruby/site_ruby/2.5.0/rubygems.rb:285:in `activate_bin_path'
from /.rbenv/versions/2.5.1/bin/rails:25:in `<main>'
I manually ran the user data script as root and get the same error. Any attempt to run rails
produces the same error, even rails -v
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.