我的公司有一个kubernetes平台,在这个平台上运行着一个名称空间ingress my_namespace。
apiVersion: v1
kind: Pod
metadata:
name: ingress
labels:
app: ingress
spec:
containers:
- name: ingress
image: docker:5000/mma/neurotec-ingress
imagePullPolicy: Alwayskubectl get pods -n my_namespace
NAME READY STATUS RESTARTS AGE
ingress 1/1 Running 1 11dpod是一个监听端口8080的服务器。
我还定义了一种将豆荚出口到外部的服务:
apiVersion: v1
kind: Service
metadata:
name: ingress
labels:
app: ingress
spec:
ports:
- port: 8080
protocol: TCP
selector:
app: ingress
type: LoadBalancerkubectl describe service -n my_namespace ingress
Name: ingress
Namespace: my_namespace
Labels: app=ingress
Selector: app=ingress
Type: LoadBalancer
IP: 10.104.95.96
Port: <unset> 8080/TCP
TargetPort: 8080/TCP
Endpoints: 10.16.1.232:8080现在我想从本地计算机向服务器发送消息。我要做的第一件事是确保它的IP地址是可访问的。但是,一个简单的host command返回错误:
host 10.16.1.232
Host 10.16.1.232 not found: 3(NXDOMAIN)
host ingress.my_namespace.nt // .nt is company's prefix
Host ingress.my_namespace not found: 3(NXDOMAIN)如果我尝试运行telepresence,它还会返回一个错误:
Looks like there's a bug in our code. Sorry about that!
Traceback (most recent call last):
File "/usr/bin/telepresence/telepresence/cli.py", line 135, in crash_reporting
yield
File "/usr/bin/telepresence/telepresence/main.py", line 65, in main
remote_info = start_proxy(runner)
File "/usr/bin/telepresence/telepresence/proxy/__init__.py", line 138, in start_proxy
run_id=run_id,
File "/usr/bin/telepresence/telepresence/proxy/remote.py", line 144, in get_remote_info
runner, deployment_name, deployment_type, run_id=run_id
File "/usr/bin/telepresence/telepresence/proxy/remote.py", line 91, in get_deployment_json
return json.loads(output)["items"][0]
IndexError: list index out of range问题:如何从本地机器到达kubernetes上的服务器
发布于 2020-04-03 10:46:28
我认为你应该使用服务type: LoadBalancer。(不是ClusterIP)
下面是我的样本装载机服务文件。我将端口80暴露在互联网上,并将端口80映射到带有标签run: my-web-portal端口8000的pod。
apiVersion: v1
kind: Service
metadata:
name: my-web-portal-svc
labels:
run: my-web-portal-svc
spec:
ports:
- port: 80
targetPort: 8000
protocol: TCP
name: port-80
selector:
run: my-web-portal
type: LoadBalancer这是我的部署yml文件
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-web-portal
spec:
selector:
matchLabels:
run: my-web-portal
replicas: 1
template:
metadata:
labels:
run: my-web-portal
spec:
containers:
- name: backend
image: xxxxxx-backend要获取端点,我运行命令
kubectl describe service my-web-portal-svc命令将打印用于连接到豆荚的端点。
Type: LoadBalancer
IP: 10.100.108.141
LoadBalancer Ingress: xxxxxxxxxxxxxx.us-west-2.elb.amazonaws.com如果您有任何问题,请留下评论。
https://stackoverflow.com/questions/61009615
复制相似问题