Kubernetes:why my deployment lacks endpoint?

kubernetes deployment
kubectl delete deployment
kubernetes ingress
kubectl commands
kubernetes pod restart reason
kubectl exec
kubectl delete pod
kubectl describe pod

I am leaning Kubernetes,have applied secrets to my previously running deployments. Now, I have problem that I can not run my site

kubectl get ep -o wide
NAME                ENDPOINTS                                                      AGE
hello-node          172.17.0.8:8080                                                2d21h
kubernetes          192.168.99.101:8443                                            3d
tomcat-deployment   172.17.0.10:8080,172.17.0.6:8080,172.17.0.7:8080 + 1 more...   2d16h
wordpress                                                                          24h
wordpress-mysql     172.17.0.15:3306                                               24h

Describe output

Name:               wordpress
Namespace:          default
CreationTimestamp:  Tue, 12 Mar 2019 09:10:24 +0100
Labels:             app=wordpress
Annotations:        deployment.kubernetes.io/revision: 1
                    kubectl.kubernetes.io/last-applied-configuration:
                      {"apiVersion":"apps/v1beta2","kind":"Deployment","metadata":{"annotations":{},"labels":{"app":"wordpress"},"name":"wordpress","namespace":...
Selector:           app=wordpress,tier=frontend
Replicas:           1 desired | 1 updated | 1 total | 0 available | 1 unavailable
StrategyType:       Recreate
MinReadySeconds:    0
Pod Template:
  Labels:  app=wordpress
           tier=frontend
  Containers:
   wordpress:
    Image:      wordpress:4.8-apache
    Port:       80/TCP
    Host Port:  0/TCP
    Environment:
      WORDPRESS_DB_HOST:      wordpress-mysql
      WORDPRESS_DB_PASSWORD:  <set to the key 'password' in secret 'mysql-pass'>  Optional: false
    Mounts:
      /var/www/html from wordpress-persistent-storage (rw)
  Volumes:
   wordpress-persistent-storage:
    Type:       PersistentVolumeClaim (a reference to a PersistentVolumeClaim in the same namespace)
    ClaimName:  wp-pv-claim
    ReadOnly:   false
Conditions:
  Type           Status  Reason
  ----           ------  ------
  Progressing    True    NewReplicaSetAvailable
  Available      False   MinimumReplicasUnavailable
OldReplicaSets:  <none>
NewReplicaSet:   wordpress-dccb8668f (1/1 replicas created)
Events:
  Type    Reason             Age    From                   Message
  ----    ------             ----   ----                   -------
  Normal  ScalingReplicaSet  7m37s  deployment-controller  Scaled up replica set wordpress-dccb8668f to 1

I deleted previous deployment and have created the new one because some problems occur while running secrets cli. I do not understand this, why is end point missing? It also shows that my replica is unavailable,how to fix this? I created deployment with

apply -f ./deployment.yaml

Pods are running

wordpress-dccb8668f-4j6wg            1/1     Running            29         137m
wordpress-mysql-7d4fc77fdc-fmhdh     1/1     Running            0          141m

get svc -o wide

wordpress           LoadBalancer   10.102.29.45     <pending>     80:31262/TCP     26h     app=wordpress,tier=frontend
wordpress-mysql     ClusterIP      None             <none>        3306/TCP         26h     app=wordpress,tier=mysql

EDIT I changed deployment.yaml as suggested by S.Schenkel

apiVersion: v1
kind: Service
metadata:
  name: wordpress
  labels:
    app: wordpress
spec:
  ports:
    - port: 80
  selector:
    app: wordpress
    tier: frontend
  type: NodePort

I still have the same problem.

minikube service wordpress --url
http://192.168.99.101:31262
miki@miki:~$ curl http://192.168.99.101:31262
curl: (7) Failed to connect to 192.168.99.101 port 31262: Connection refused
miki@miki:~$ 

If someone wants to reproduce the example

https://github.com/LevelUpEducation/kubernetes-demo/tree/master/Advanced%20Kubernetes%20Usage/Secrets

NAME                TYPE           CLUSTER-IP       EXTERNAL-IP   PORT(S)          AGE     SELECTOR
hello-node          LoadBalancer   10.104.141.138   <pending>     8080:31321/TCP   3d3h    app=hello-node
kubernetes          ClusterIP      10.96.0.1        <none>        443/TCP          3d6h    <none>
tomcat-deployment   LoadBalancer   10.107.218.19    <pending>     8080:32688/TCP   2d22h   app=tomcat
wordpress           NodePort       10.102.29.45     <none>        80:31262/TCP     30h     app=wordpress,tier=frontend
wordpress-mysql     ClusterIP      None             <none>        3306/TCP         30h     app=wordpress,tier=mysql

Pods

wordpress-dccb8668f-gk2hn            0/1     CrashLoopBackOff   27         126m    172.17.0.8    minikube   <none>           <none>
wordpress-mysql-7d4fc77fdc-fmhdh     1/1     Running            1          6h23m   172.17.0.19   minikube   <none>           <none>

CrashLoopBackOff means what?

I've just reproduced your case within the minikube and was able to reach the wordpress service

Here is step-by-step instruction:

  1. Create a secret for MySQL deployment

kubectl create secret generic mysql-pass --from-literal=password=password

  1. Deploy MySQL first.
  2. Deploy wordpress
  3. Edit wordpress service type from type: LoadBalancer to type: NodePort

kubectl edit svc wordpress

  1. Make sure that all pods are running

kubectl get pods -o wide

  1. If no issue with pods, try to curl the service

curl -v $(minikube service --url wordpress)

You should have something like this

sukhoversha@minikube:~$ curl -v $(minikube service --url wordpress)
* Rebuilt URL to: http://192.168.99.100:32144/
*   Trying 192.168.99.100...
* Connected to 192.168.99.100 (192.168.99.100) port 32144 (#0)
> GET / HTTP/1.1
> Host: 192.168.99.100:32144
> User-Agent: curl/7.47.0
> Accept: */*
> 
< HTTP/1.1 302 Found
< Date: Tue, 12 Mar 2019 15:26:23 GMT
< Server: Apache/2.4.10 (Debian)
< X-Powered-By: PHP/5.6.32
< Expires: Wed, 11 Jan 1984 05:00:00 GMT
< Cache-Control: no-cache, must-revalidate, max-age=0
< Location: http://192.168.99.100:32144/wp-admin/install.php
< Content-Length: 0
< Content-Type: text/html; charset=UTF-8
< 
* Connection #0 to host 192.168.99.100 left intact

Troubleshoot Applications, This guide is to help users debug applications that are deployed into Kubernetes and not behaving correctly. My service is missing endpoints. Teams. Q&A for Work. Stack Overflow for Teams is a private, secure spot for you and your coworkers to find and share information.

I see you are using LoadBalancer type for your service wordpress. Are you using kubernetes on a cloud solution ? (like google cloud) Or are you using on-premise solution (with kubeadm or minikube) ? If it is on-premise you can't use LoadBalancer service type because this type uses external Load Balancer solution (for google cloud or amazon aws) You need to use ExternalIPs or NodePort.

Application Introspection and Debugging, Using kubectl describe pod to fetch details about pods For this example we'll use a Deployment to create two pods, similar to the earlier example. (In this case, the container does not have a readiness probe configured; the container is my- namespace ) you need to explicitly provide a namespace to the command:. Every Kubernetes installation has a service account called default that is associated with every running pod. Similarly, to enable pods to make calls to the internal API Server endpoint, there is a ClusterIP service called Kubernetes. This combination makes it possible for internal processes to call the API endpoint.

Check the service selector and POD labels. Service points to PODs based on labels defined in selector.

Service, Each Pod gets its own IP address, however in a Deployment, the set of Pods apiVersion: v1 kind: Service metadata: name: my-service spec: ports: Because this Service has no selector, the corresponding Endpoint object� ShinyProxy Helm Chart : easy ShinyProxy deployment on Kubernetes 13 mins ago Please guide on learning the in depth architecture of how Docker containers are implemented on Linux.

Deployment leaves service with no active endpoints � Issue #69563 , kubectl get ingress -n cms cms -o yaml apiVersion: The reason for the 'Service . .. does not have any active Endpoint' is to my behavior, please file an issue against the kubernetes/test-infra repository. Deployed pods missing workloadID label - no active endpoints - 503 error rancher/rancher#16052. Before Kubernetes, this wasn't very popular, but today almost all languages, all frameworks, all runtimes have health checking capabilities where you can easily start an endpoint.

How-to Guide: Debugging a Kubernetes Application, When it comes to debugging a Kubernetes application, it's usually a painful process, 5 Things That Can Go Wrong with Your Kubernetes Deployment for example, lack of permissions (RBAC roles) or exceeding resource limits. Before we start with debugging Service's endpoint, we have to make sure� I have a workstation at home where I have set up a multinode cluster using multipass vms and microk8s. Now I need to do the following: I would like to

Kubernetes Monitoring Guide, Kubernetes makes it easy to deploy and operate applications in a microservice You don't want new node deployments blocked by a lack of resources. system to pull multidimensional timeseries metrics from services over HTTP endpoints,� My first system administration language wasn’t — as you might guess from my Unix/Linux background — Borrne or C shell, but rather, IBM 360 mainframe Job Control Language (JCL). So, the notion that a DevOps system, such as Red Hat Ansible, could ever control a mainframe is a little mind-blowing.

Comments
  • Do you have active PODS created? It is hard to comment on this without knowing what all you have tried and the issues you are experiencing now.
  • Do you have service runing for your wordpress deployment? kubectl get svc -o wide
  • can you run and share output for following cmd kubectl get svc wordpress -oyaml?
  • Run kubectl expose deployment wordpress --type=LoadBalancer --port=8080 And what happens when you do minikube service wordpress afterwards ?
  • It doe not help,deployment already exists.
  • Yes,I am on minikube.
  • IT does not work,take a look at my edit please. I am working on premise.
  • after using NodePort, what does the "get svc -o wide" do ?
  • Added,I am worried because I can not reproduce the example.
  • you added the "get ep -o wide" not the "get svc -o wide" :p