我目前正在学习以下 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 来运行外部服务有关。
这些是我的文件:
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 文档,但无济于事。
看起来一切都已正确设置并正在运行,我只是不知道为什么它要求授权。
您需要输入 mongo-express 容器的 Web 登录凭据。
首次登录的默认用户名是“admin”,密码是“pass”。您可以在 mongo-express 文档中阅读它这里。