首先,我在本地使用 kubernetes 设置集群。
如https://metallb.universe.tf/installation/所示,我按照以下方式安装了 MetalLB 并配置了 configmap、deployment 和 service。
kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/v0.9.3/manifests/namespace.yaml
kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/v0.9.3/manifests/metallb.yaml
# On first install only
kubectl create secret generic -n metallb-system memberlist --from-literal=secretkey="$(openssl rand -base64 128)"
configmap.yaml
apiVersion: v1
kind: ConfigMap
metadata:
namespace: metallb-system
name: config
data:
config: |
address-pools:
- name: default
protocol: layer2
addresses:
- 192.168.1.240-192.168.1.250
教程.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx
spec:
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1
ports:
- name: http
containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
name: nginx
spec:
ports:
- name: http
port: 80
protocol: TCP
targetPort: 80
selector:
app: nginx
type: LoadBalancer
配置后,当我使用命令检查服务时kubectl get svc
,有一个带有EXTERNAL-IP的nginx服务。
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 8d
nginx LoadBalancer 10.101.179.72 192.168.143.230 80:32190/TCP 22s
当我输入“192.168.143.230”时,我无法访问该页面并显示消息“无法访问此站点 192.168.143.230 响应时间太长”。
我应该怎么做才能使用 EXTERNAL-IP 访问该页面?