Deploying Spring Boot Microservice to Kubernetes Issue - Failed to pull image [closed] - java

Closed. This question is not about programming or software development. It is not currently accepting answers.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Closed 17 days ago.
Improve this question
I have a problem about deploying all spring boot microservices to Kubernetes.
I use minikube to open kubernetes dashboard through all these commands shown below.
1 ) minikube start
2 ) minikube dashboard
Next, I run kubectl apply -f k8s to deploy all services to Kubernetes.
I get errors shown below.
Auth Service -> Failed to pull image "noyandocker/authservice": rpc error: code = Unknown desc = context deadline exceeded
Api gateway -> Failed to pull image "noyandocker/apigateway": rpc error: code = Unknown desc = context deadline exceeded
Config server -> Failed to pull image "noyandocker/configserver": rpc error: code = Unknown desc = context deadline exceeded
Order Service -> Failed to pull image "noyandocker/orderservice": rpc error: code = Unknown desc = context deadline exceeded
Payment Service -> Failed to pull image "noyandocker/paymentservice": rpc error: code = Unknown desc = context deadline exceeded
Product Service -> Failed to pull image "noyandocker/productservice": rpc error: code = Unknown desc = Error response from daemon: Get "https://registry-1.docker.io/v2/": dial tcp: lookup registry-1.docker.io on 192.168.65.2:53: read udp 192.168.49.2:59506->192.168.65.2:53: i/o timeout
Mysql -> Show always "Pending" -> The selected container has not logged any messages yet.
Eureka -> container "eureka" in pod "eureka-0" is waiting to start: trying and failing to pull image
Here is the screenshot folder :Link
Here is the docker hub : Link
Here is the repo : Link
Here is the minikube running on docker.
How can I fix all these issues?

Did you try from inside a clusternode if you can reach the internet. Ping google.com for example?
minikube ssh to access the minikube node.
Most likely it is network problem.
If so you need to specify a driver, according to your OS and Virtualizzation. (HyperV, VirtualBox ecc.)
You can found a complete list here

Here is the answer.
After I changed the line shown below, the issue disappeared.
imagePullPolicy: IfNotPresent

Related

Spark Cassandra Connector with java WARN message for ConnectionInitException

I keep getting this WARN messages for spark project when i run the cassandra job
WARN ChannelPool: [s0|/172.17.0.3:9042] Error while opening new channel (ConnectionInitException: [s0|connecting...] Protocol initialization request, step 1 (STARTUP {CQL_VERSION=3.0.0, DRIVER_NAME=DataStax Java driver for Apache Cassandra(R), DRIVER_VERSION=4.5.0, CLIENT_ID=ef6bf95c-e93f-4f59-860a-829ae07e80cb, APPLICATION_NAME=Spark-Cassandra-Connector-local-1593841648738}): failed to send request (java.nio.channels.ClosedChannelException))
i dont see any data loss but i'm not also sure why this happens
i have 3 node cassandra docker running in my pc
cassandra version :- 3.11.6
spark version :- 2.4.6
java : jdk8
keyspace info :
keyspace_name durable_writes replication
mykeyspace true {class=org.apache.cassandra.locator.NetworkTopologyStrategy, datacenter1=1, datacenter2=1}
Answering my own question!
So to solve this we need to get into the docker networking, And map your containers IP to broadcast from eth0 to external world.
Below link could be of some help
https://docs.docker.com/network/network-tutorial-standalone/
To be frank, I haven't explored the whole docker networking myself as we eneded up not using docker for Cassandra in our case.

Error when connecting to DAX in AWS

we're having trouble connecting to DAX from a java application in our test environment. The DAX cluster and configuration are done in our cloudformation template for our test env.
These are the errors in the trace:
[ERROR] DaxClient-39: caught exception during cluster refresh:
java.io.IOException: failed to configure cluster endpoints from hosts
Suppressed: com.amazon.dax.client.exceptions.DaxServiceException: [X.X.XX.XX]
Connection requires authentication (Service: null; Status Code: -1;
Error Code: null; Request ID: null)
We use the same template in our dev environment and are able to connect to DAX in that environment from ec2 instances in that env.
We have verified connectivity to the cluster using:
nc -z v-dax-test.3fxxxx.clustercfg.dax.usw2.cache.amazonaws.com 8111
and can run
aws dax describe-clusters --r us-west-2
on the ec2 instance that is trying to connect to DAX and get back results that seem sane.
The instance is running a java application using the aws java sdk and the dax client lib.
We've verified that DAX's security group allows incoming connections from 8111 from the security group the ec2 instance is in.
The dax subnet group specifies the subnets which the ec2 instance is in.
Can anyone tell me what this error means, and how to resolve it?
Thank you!
This could be occurring if you haven't specified the region when instantiating the DAX ClientConfig and accessing a DAX cluster in in a region other than us-east-1 (the clients default region). To specify the region try:
ClientConfig daxConfig = new ClientConfig()
.withEndpoints(daxEndpoint).withRegion("us-west-2");
AmazonDaxClient client = new ClusterDaxClient(daxConfig);

ERROR: Running application failed - Spring boot + Boxfuse/AWS

I am trying to run my Spring boot application on AWS using boxfuse.
I have followed the following tutorial from Spring (section 54.4) and the Get Started from Boxfuse aswell.
When i run the following command
boxfuse run target\digigram-0.1.0.jar -env=prod
i get the following lines
Waiting for AWS to boot Instance i-74fe7fc8 and Payload to start at http://52.28.94.159:8080/ ...
WARNING: Healthcheck (http://52.28.94.159:8080/) returned 404 instead of 200. Retrying for the next 120 seconds ...
Terminating instance i-74fe7fc8 ...
And it ends with
Destroying Security Group sg-0ed6f667 ...
ERROR: Deployment of pantera160/digigram:0.0.0.1453900589995 failed in prod:Payload of Instance i-74fe7fc8 came up at http://52.28.94.159:8080/
with HTTP 404 (expected 200) => ensure your application responds with an HTTP 200 at http://52.28.94.159:8080/ or adjust the healthcheck configuration (healthcheck.path, healthcheck.timeout, ...) to fit your application
ERROR: Running pantera160/digigram:0.0.0.1453900589995 failed!
I don't understand where the problem lies. Do I have to change something in AWS or in my application or...
Any help would be greatly appreciated.
NOTE:
I am running on a free plan for AWS, might this be the problem?
Boxfuse ensures that a correct version of your app stays up and running and does not get replaced by a bad one. Only when a new version does pass Boxfuse's health check, does Boxfuse reassign it the application's Elastic IP. Once that is complete Boxfuse terminates the instance of the old version.
To verify that a new version of your app comes up correctly Boxfuse expects the new version's instance's healthcheck path to return HTTP 200.
The default healthcheck path for a regular Spring Boot application without the actuator is /. Your app currently answers 404 there instead of 200.
You have a number of options to fix this:
Add a controller to your app mapped to / that returns HTTP 200 when your app comes up correctly.
Change Boxfuse's healthcheck.path to a different path that does indeed answer HTTP 200 when your app comes up correctly.
Disable Boxfuse's health checks by setting healthcheck to false (not recommended as this effectively prevents Boxfuse from checking whether your application came up correctly)
Pick either one of these options and your app will come up correctly as you would expect.

Migration failure: Aborting migration: Timeout to receive migration response has expired

I am novice to JADE ,while trying to send mobile agent to remote side i am getting an error MIGRATION FAILURE .Even after searching on web i couldn't figure out what is causing such an error .Please sort this out .
This is how i am trying to send mobile agent
AID remoteAMS = new AID("ams#192.168.2.7:12345/JADE", AID.ISGUID);
remoteAMS.addAddresses("http://vishnu-PC:7778/acc");
PlatformID destination = new PlatformID(remoteAMS);
agent.doMove(destination);
Hey after searching out myself as community didn't help i found out myself the following way:-
IPMS version required was 1.2 for JADE 4.3.2
And the the following command was to be set using cmd for the platform where i wanted to send the mobile agent
-services jade.core.mobility.AgentMobilityService;jade.core.migration.InterPlatformMobilityService -accept-foreign-agents true

IWAB0014E Unexpected exception occurred while creating web service

I'm trying to create a web service, as I am new to web service development I followed the following post.
I am using Ecplise Helios,Windows 7 32 bit,Tomcat v6.0
There are three steps:
1.Create Dynamic Web project.
2. Create Web Service Provider Java Class.
3.Create a Web Service.
At point 3.create a Web service I am getting two error:
1.Several ports (8080, 8009) required by Tomcat v6.0 Server at localhost are already in use. The server may already be running in another process, or a system process may be using the port. To start this server you will need to stop the other process or change the port number(s).
This error has been resolved using one of the community post.
2.IWAB0014E Unexpected exception occurred.
The char '0x0' after 'return code: 400
Cycle Detected
Cycle Detected
Description: Your request is prohibited because it would cause a cycle.
' is not a valid XML character.
java.lang.IllegalArgumentException: The char '0x0' after 'return code: 400
<HEAD><TITLE>Cycle Detected</TITLE></HEAD>
<BODY BGCOLOR="white" FGCOLOR="black"><H1>Cycle Detected</H1><HR>
<FONT FACE="Helvetica,Arial"><B>
Description: Your request is prohibited because it would cause a cycle.</B></FONT>
This error is some what similar to this post but the error code returned is different in my case it is "400"
Any tips on how to resolve this would be greatly appreciated.
This is happening because of improper setup of Axis2.
Steps:
Download Axis2 : Link--> http://ws.apache.org/axis2/download.cgi
Point the Axis2 runtime dir in eclipse : Menu--> Windows--> Preference --> Web Services--> Axis2 Preferences
Follow this link for more details: http://www.eclipse.org/webtools/community/tutorials/BottomUpAxis2WebService/bu_tutorial.html

Categories