Как отобразить имя модуля kubernetes в приложении vue.js

У меня есть интерфейс vue.js, подключенный к серверу Express node.js. И интерфейс, и бэкэнд работают в отдельных контейнерах Docker в Kubernetes. Я создал маршрут на бэкэнде для отображения имени Kubernetes Pod, когда я вызываю URL-адрес через Postman:

app.get('/api/probe1', (req, res) => {
    res.send("Hello from: " + process.env.HOSTNAME)
})

Выше показано имя модуля, на котором запущен контейнер BACKEND.

Теперь я хочу создать страницу в моем приложении vue.js, которая будет отображать имя модуля, на котором запущен контейнер FRONTEND edit: (согласно комментарию ниже vue.js на самом деле не Бег на модуле, а скорее nginx, обслуживающий статический html / js, запущенный на модуле).

Когда я использую process.env.HOSTNAME в приложении vue.js, я получаю «undefined», когда консолью его в журнале. изменить: (теперь я понимаю, почему это не сработает)

<template>
<div>{{displayPodName}}
  <p>Hello from the Pod</p>
</div>
</template>
<script>
export default {  
        data(){
            return{
                displayPodName:""
        }
    },
    mounted(){
        this.displayPodName=process.env.HOSTNAME
        console.log(process.env.HOSTNAME)
     }
}
</script>

Я явно подхожу к этому не с той точки зрения. Как я могу отобразить имя Pod edit: где-то в моем приложении Vue.js работает Frontend, с которого конкретный сервер nginx обслуживает html / js моему браузеру для любого данного сеанса, пожалуйста?

Вы вроде как лаете не на то дерево. Помните - Vue не входит в состав модуля Бег; это просто служил оттуда. Он работает в вашем браузере.

Sebastian Lenartowicz 31.10.2018 14:06

Это помогает спасибо @SebastianLenartowicz, так что то, что работает в этом модуле FE, на самом деле nginx, на котором размещается куча статических html и js, верно? Как бы вы тогда взялись за задачу отображения имени модуля, из которого сервер nginx обслуживает html / js? Другими словами ... Я хочу видеть имя модуля FE, участвующего в отображении веб-страницы в моем браузере для любого конкретного сеанса. Я обновлю свой вопрос выше.

Johann 31.10.2018 16:17

Это правильно. Хотя мне действительно нужно спросить Почему, что вы это делаете. K8s не предназначен для использования таким образом - если вы увеличиваете развертывание с использованием клиентских или серверных модулей, вы будете получать разные значения каждый раз, когда делаете запрос. Половина смысла абстракции Pod состоит в том, что Pod'ы должны быть взаимозаменяемыми - любой Pod точно такой же, как и любой другой.

Sebastian Lenartowicz 31.10.2018 16:45

Хороший вопрос. Это была скорее теоретическая задача, которую я хотел решить в рамках моего путешествия по vue и k8s, но вы убедили меня, что это бессмысленно и не нужно. Спасибо.

Johann 31.10.2018 18:36
0
4
526
0

Другие вопросы по теме