Solucionado (ver solução)
Solucionado
(ver solução)
8
respostas

A página do portal não atualiza as notícias cadastradas

Olá Daniel, td blz?

Após cadastrar a notícia eu carrego a página na porta 30000 do node, mas a noticia não aparece. Esses são os códigos do portal e do configmap:

Portal

apiVersion: v1
kind: Pod
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

configmap

apiVersion: v1
kind: ConfigMap
metadata:
    name: portal-configmap
data:
    IP_SISTEMA: 192.168.99.106:30001
8 respostas

Oi Gustavo, tudo bem?

Qual é a saída do seu comando kubectl get nodes -o wide?

NAME       STATUS   ROLES    AGE   VERSION   INTERNAL-IP      EXTERNAL-IP   OS-IMAGE               KERNEL-VERSION   CONTAINER-RUNTIME
minikube   Ready    master   17d   v1.19.0   192.168.99.106   <none>        Buildroot 2019.02.11   4.19.114         docker://19.3.12

As notícias estão sendo cadastradas sem problemas no sistema de notícias? Tem como você me enviar os arquivos dos pods do sistema e banco, assim como seus configmaps?

db-noticias.yaml

apiVersion: v1
kind: Pod
metadata:
    name: db-noticias
    labels:
        app: db-noticias
spec:
    containers:
        - name: db-noticias-container
          image: aluracursos/mysql-db:1
          ports:
            - containerPort: 3306
          envFrom:
            - configMapRef:
                name: db-configmap

db-configmap.yaml

apiVersion: v1
kind: ConfigMap
metadata:
    name: db-configmap
data:
    MYSQL_ROOT_PASSWORD: q1w2e3r4
    MYSQL_DATABASE: empresa
    MYSQL_PASSWORD: q1w2e3r4

sistema-noticias.yaml

apiVersion: v1
kind: Pod
metadata:
    name: sistema-noticias
    labels:
        app: sistema-noticias
spec:
    containers:
        - name: sistema-noticias-containers
          image: aluracursos/sistema-noticias:1
          ports:
            - containerPort: 80
          envFrom:
            - configMapRef:
                name: sistema-configmap

sistema-configmap.yaml

apiVersion: v1
kind: ConfigMap
metadata:
    name: sistema-configmap
data:
    HOST_DB: svc-db-noticias:3306 
    USER_DB: root
    PASS_DB: q1w2e3r4
    DATABASE_DB: empresa

Pode me enviar todos os seus services também? :)

svc-db-noticias.yaml

apiVersion: v1
kind: Service
metadata:
    name: svc-db-noticias
spec:
    type: ClusterIP
    ports:
      - port: 3306
    selector:
        app: db-noticias 

svc-portal-noticias.yaml

apiVersion: v1
kind: Service
metadata:
    name: svc-portal-noticias
spec:
    type: NodePort
    ports:
        - port: 80
          nodePort: 30000 
    selector:
        app: portal-noticias

svc-sistema-noticias.yaml

apiVersion: v1
kind: Service
metadata:
    name: svc-sistema-noticias
spec:
    type: NodePort
    ports:
        - port: 80
          nodePort: 30001 
    selector:
        app: sistema-noticias
solução!

No ConfigMap do seu portal-noticias, coloque o http:// antes do seu IP. Aplique as mudanças no arquivo com o kubectl apply -f e depois delete e recrie o seu Pod.

apiVersion: v1
kind: ConfigMap
metadata:
    name: portal-configmap
data:
    IP_SISTEMA: http://192.168.99.106:30001

Não sei pq mas achei que só seria necessário o http:// no caso do Windows por utilizar "localhost" ao invés do número de IP, o que não tinha nada a ver pelo visto kkkk

Obrigado pela ajuda. :)