12
respostas

Não exibe imagem criada no portal

Oi Daniel, eu estou com o mesmo problema, anteriormente. Não exibe a imagem e a notícia no portal. Eu estou acessando normalmente, criei todos arquivos yaml de deployment, services e fulstateset. Você tem alguma dica para eu resolver esse problema? Eu já alterei o arquivo portal-configmap-yaml, eu fiz 2 testes: o primeiro coloquei o Internal IP e o segundo eu alterei e coloquei o IP da minha máquina, mas desta vez não funcionou.

12 respostas

Oi Jackson, como está a saída do comando kubectl get pods?

jackson@ubuntu:~/kubernetes-alura$ kubectl get pods
NAME                                          READY   STATUS    RESTARTS   AGE
db-noticias-deployment-bd5476446-k9sfc        1/1     Running   0          29m
portal-noticias-deployment-5876ffc4f6-f7n8m   1/1     Running   0          26m
portal-noticias-deployment-5876ffc4f6-ff4fl   1/1     Running   0          26m
portal-noticias-deployment-5876ffc4f6-w7jr6   1/1     Running   0          26m
sistema-noticias-statefulset-0                1/1     Running   0          25m

Como está o seu config map do portal de notícias?

Describe portal-noticias-deployment - eu removi os endereços de ip dessa descrição, mas estão preenchidos nos campos Node: minikube/(está com o meu Internal IP) e o de Status: IP.

jackson@ubuntu:~/kubernetes-alura$ kubectl describe pod portal-noticias-deployment
Name:         portal-noticias-deployment-5876ffc4f6-pmjdw
Namespace:    default
Priority:     0
Node:         minikube/
Start Time:   Thu, 03 Sep 2020 18:44:42 -0300
Labels:       app=portal-noticias
              pod-template-hash=5876ffc4f6
Annotations:  <none>
Status:       Running
IP:           
IPs:
  IP:           
Controlled By:  ReplicaSet/portal-noticias-deployment-5876ffc4f6
Containers:
  portal-noticias-container:
    Container ID:   docker://d715bb63a5b5241da10d0bd2410d01d94d5c181aacaa292bfc092e6
fbd1783c5
    Image:          aluracursos/portal-noticias:1
    Image ID:       docker-pullable://aluracursos/portal-noticias@sha256:c1f4e01ee56e948ea9b420ded272d3440b9d45afb5d7ba1c389e79487edfeec0
    Port:           80/TCP
    Host Port:      0/TCP
    State:          Running
      Started:      Thu, 03 Sep 2020 18:44:59 -0300
    Ready:          True
    Restart Count:  0
    Requests:
      cpu:      10m
    Liveness:   http-get http://:80/ delay=20s timeout=1s period=10s #success=1 #failure=3
    Readiness:  http-get http://:80/ delay=3s timeout=1s period=10s #success=1 #failure=5
    Environment Variables from:
      portal-configmap  ConfigMap  Optional: false
    Environment:        <none>
    Mounts:
      /var/run/secrets/kubernetes.io/serviceaccount from default-token-nf5xw (ro)
Conditions:
  Type              Status
  Initialized       True 
  Ready             True 
  ContainersReady   True 
  PodScheduled      True 
Volumes:
  default-token-nf5xw:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  default-token-nf5xw
    Optional:    false
QoS Class:       Burstable
Node-Selectors:  <none>
Tolerations:     node.kubernetes.io/not-ready:NoExecute for 300s
                 node.kubernetes.io/unreachable:NoExecute for 300s
Events:
  Type     Reason     Age                From               Message
  ----     ------     ----               ----               -------
  Normal   Scheduled  14m                default-scheduler  Successfully assigned default/portal-noticias-deployment-5876ffc4f6-pmjdw to minikube
  Warning  Failed     14m (x3 over 14m)  kubelet, minikube  Error: configmap "portal-configmap" not found
  Normal   Pulled     14m (x4 over 14m)  kubelet, minikube  Container image "aluracursos/portal-noticias:1" already present on machine
  Normal   Created    14m                kubelet, minikube  Created container portal-noticias-container
  Normal   Started    14m                kubelet, minikube  Started container portal-noticias-container

*Eu já deletei e criei novamente o o arquivo yaml portal-configmap, portal-noticias-deployment.yaml e o svc-portal-noticias.yaml, mas não resolveu.

portal-configmap.yaml

apiVersion: v1
kind: ConfigMap
metadata:
  name: portal-configmap
data:
  IP_SISTEMA: 111.167.12.8:30001

Eu deixei um número fictício aqui, mas a variável IP_SISTEMA: está com o meu INTERNAL_IP:30001, a única vez que funcionou e exibiu na página do portal as informações que eu cadastrei foi quando eu troquei o INTERNAL_IP pelo IP da minha máquina. Você pode me ajudar Daniel?

Realmente estranho... Qual comando você utilizou para a criação do seu cluster?

Como está o seu arquivo do deployment?

Eu utilizei o comando kubectl apply -f portal-noticias-deployment.yaml

jackson@ubuntu:~/kubernetes-alura$ kubectl apply -f portal-noticias-deployment.yaml 
deployment.apps/portal-noticias-deployment created

portal-noticias-deployment.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  name: portal-noticias-deployment
spec:
  template:
    metadata:
      name: portal-noticias
      labels:
        app: portal-noticias
    spec:
      containers:
        - name: portal-noticias-container
          image: aluracursos/portal-noticias:1
          ports:
            - containerPort: 80
          envFrom:
            - configMapRef:
                name: portal-configmap
          livenessProbe:
            httpGet:
              path: /
              port: 80
            periodSeconds: 10
            failureThreshold: 3
            initialDelaySeconds: 20
          readinessProbe:
            httpGet:
              path: /
              port: 80
            periodSeconds: 10
            failureThreshold: 5
            initialDelaySeconds: 3
          resources:
            requests:
              cpu: 10m
  replicas: 3
  selector:
    matchLabels:
      app: portal-noticias

E o comando que utilizou para a criação do cluster? Aquele visto lá no primeiro curso.

Algo como minikube start --vm-driver....

Remova o seu deployment do portal de notícias e o config map. Depois, tente "reiniciar" a VM do seu cluster com o comando minikube start --vm-driver=virtualbox.

Espere uns 5 minutos e recrie o config map antes de recriar o deployment.

Oi Daniel, boa noite eu fiz o uso do comando:

jackson@ubuntu:~$ minikube start --driver=virtualbox
minikube v1.12.3 on Ubuntu 20.04
Using the virtualbox driver based on existing profile
Starting control plane node minikube in cluster minikube

Eu seguir exatamente as etapas que você orientou, mas persiste o mesmo erro, ele não exibe no portal o que foi cadastrado no Sistema (na outra página).

Me confirma uma coisa. Foi com esse comando minikube start --driver=virtualbox que você criou o seu cluster pela primeira vez?

E qual a saída do comando kubectl get nodes -o wide?

Sim, mas foi criado em aulas anteriores na qual você ensinou, eu usei esse comando minikube start --driver=virtualbox

jackson@ubuntu:~$ minikube start --driver=virtualbox
minikube v1.12.3 on Ubuntu 20.04
minikube 1.13.0 is available! Download it: https://github.com/kubernetes/minikube/releases/tag/v1.13.0
To disable this notice, run: 'minikube config set WantUpdateNotification false'

Using the virtualbox driver based on existing profile
Starting control plane node minikube in cluster minikube
Restarting existing virtualbox VM for "minikube" ...
Preparing Kubernetes v1.18.3 on Docker 19.03.12 ...
Verifying Kubernetes components...
Enabled addons: dashboard, default-storageclass, logviewer, metrics-server, storage-provisioner
Done! kubectl is now configured to use "minikube"
jackson@ubuntu:~$

Saída kubectl get nodes -o wide *(eu retirei deste post o número do INTERNAL-IP), mas foi exibido no meu terminal e eu usei ele no arquivo portal-configmap.yaml na variável IP_SISTEMA.

jackson@ubuntu:~/kubernetes-alura$ kubectl get nodes -o wide
NAME       STATUS   ROLES    AGE   VERSION   INTERNAL-IP      EXTERNAL-IP   OS-IMAGE               KERNEL-VERSION   CONTAINER-RUNTIME
minikube   Ready    master   20d   v1.18.3   (*retirado)   <none>        Buildroot 2019.02.11   4.19.114         docker://19.3.12
jackson@ubuntu:~/kubernetes-alura$ 

Oi Jackson. Realmente está meio estranho. Tente recriar o seu cluster:

1- Delete o seu cluster com o comando minikube delete.

2- Recrie o cluster com o comando minikube start --vm-driver=virtualbox.

3- Após recriar, confira o IP que será atribuído na coluna INTERNAL IP com o comando kubectl get nodes -o wide.

4- Nos arquivos que estiver usando o IP do cluster anterior, altere para o novo IP.

5- Com o comando kubectl apply, crie todos os Config Map antes.

6- Crie os Services, Deployments e Stateful Sets restantes.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software