为什么我的浏览器中的 mongo-express-service 外部服务需要用户名和密码?

问题描述 投票:0回答:1

我目前正在学习以下 Kubernetes 教程:https://www.youtube.com/watch?v=X48VuDVv0do&t=2437s&ab_channel=TechWorldwithNana

我使用的是带有 M2 芯片的 2022 Macbook Air,因此 Hyperkit 不兼容,所以我使用 Qemu。我的问题是这样的:当我使用 Minikube 运行外部服务“mongo-express-service”时,浏览器打开,但系统要求我登录。请参阅上面视频的 1:44:40 以了解我正在进行哪一步。我使用的是 Nana 存储库中的确切文件,所以我认为这与我使用 Qemu 以及必须安装 socket_vmnet 来运行外部服务有关。 This is what I get in the browser when I run the external service. This is what I get in my terminal when I run the external service.

这些是我的文件:

mongo.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  name: mongodb-deployment
  labels:
    app: mongodb
spec:
  replicas: 1
  selector:
    matchLabels:
      app: mongodb
  template:
    metadata:
      labels:
        app: mongodb
    spec:
      containers:
      - name: mongodb
        image: mongo
        ports:
        - containerPort: 27017
        env:
        - name: MONGO_INITDB_ROOT_USERNAME
          valueFrom:
            secretKeyRef:
              name: mongodb-secret
              key: mongo-root-username
        - name: MONGO_INITDB_ROOT_PASSWORD
          valueFrom: 
            secretKeyRef:
              name: mongodb-secret
              key: mongo-root-password
---
apiVersion: v1
kind: Service
metadata:
  name: mongodb-service
spec:
  selector:
    app: mongodb
  ports:
    - protocol: TCP
      port: 27017
      targetPort: 27017

mongo-express.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  name: mongo-express
  labels:
    app: mongo-express
spec:
  replicas: 1
  selector:
    matchLabels:
      app: mongo-express
  template:
    metadata:
      labels:
        app: mongo-express
    spec:
      containers:
      - name: mongo-express
        image: mongo-express
        ports:
        - containerPort: 8081
        env:
        - name: ME_CONFIG_MONGODB_ADMINUSERNAME
          valueFrom:
            secretKeyRef:
              name: mongodb-secret
              key: mongo-root-username
        - name: ME_CONFIG_MONGODB_ADMINPASSWORD
          valueFrom: 
            secretKeyRef:
              name: mongodb-secret
              key: mongo-root-password
        - name: ME_CONFIG_MONGODB_SERVER
          valueFrom: 
            configMapKeyRef:
              name: mongodb-configmap
              key: database_url
---
apiVersion: v1
kind: Service
metadata:
  name: mongo-express-service
spec:
  selector:
    app: mongo-express
  type: LoadBalancer  
  ports:
    - protocol: TCP
      port: 8081
      targetPort: 8081
      nodePort: 30000

mongo-configmap.yaml

apiVersion: v1
kind: ConfigMap
metadata:
  name: mongodb-configmap
data:
  database_url: mongodb-service

mongo-secret.yaml

apiVersion: v1
kind: Secret
metadata:
    name: mongodb-secret
type: Opaque
data:
    mongo-root-username: dXNlcm5hbWU=
    mongo-root-password: cGFzc3dvcmQ=

我尝试过使用“用户名”和“密码”及其 Base64 编码版本,但这不起作用。我也尝试过查看 Qemu 文档,但无济于事。

看起来一切都已正确设置并正在运行,我只是不知道为什么它要求授权。

kubernetes qemu
1个回答
0
投票

您需要输入 mongo-express 容器的 Web 登录凭据。

首次登录的默认用户名是“admin”,密码是“pass”。您可以在 mongo-express 文档中阅读它这里

© www.soinside.com 2019 - 2024. All rights reserved.