本机IP, 192.168.31.140
1,http-svc.yaml
---
#1.创建namespace
apiVersion: v1
kind: Namespace
metadata:
name: test
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: http-svc
namespace: test
spec:
replicas: 1
selector:
matchLabels:
app: http-svc
template:
metadata:
labels:
app: http-svc
spec:
containers:
- name: http-svc
image: registry.cn-hangzhou.aliyuncs.com/zhangyouliang/echoserver:1.8
ports:
- containerPort: 8080
env:
- name: NODE_NAME
valueFrom:
fieldRef:
fieldPath: spec.nodeName
- name: POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
- name: POD_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- name: POD_IP
valueFrom:
fieldRef:
fieldPath: status.podIP
---
apiVersion: v1
kind: Service
metadata:
name: http-svc
namespace: test
labels:
app: http-svc
spec:
ports:
- port: 80
targetPort: 8080
protocol: TCP
name: http
selector:
app: http-svc
2,ingress.yaml
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: http-svc
namespace: test
annotations:
nginx.ingress.kubernetes.io/ssl-redirect: "false"
spec:
rules:
- host: http-svc.frognew.com
http:
paths:
- path: /
backend:
serviceName: http-svc
servicePort: 80
3, 修改host文件
192.168.31.140 http-svc.frognew.com
4,运行情况:
kubectl get po,svc,ing -n test
NAME READY STATUS RESTARTS AGE
pod/http-svc-598594b7-9hrnl 1/1 Running 0 1h
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/http-svc ClusterIP 10.99.63.229 <none> 80/TCP 1h
NAME HOSTS ADDRESS PORTS AGE
ingress.extensions/http-svc http-svc.frognew.com 192.168.31.140 80 10m
5,在集群pod内,访问内网IP
curl 10.1.0.116:8080
Hostname: http-svc-598594b7-9hrnl
Pod Information:
node name: docker-for-desktop
pod name: http-svc-598594b7-9hrnl
pod namespace: test
pod IP: 10.1.0.116
Server values:
server_version=nginx: 1.13.3 - lua: 10008
6,在集群pod内,通过svc访问
curl 10.99.63.229
Hostname: http-svc-598594b7-9hrnl
Pod Information:
node name: docker-for-desktop
pod name: http-svc-598594b7-9hrnl
pod namespace: test
pod IP: 10.1.0.116
Server values:
server_version=nginx: 1.13.3 - lua: 10008
Request Information:
client_address=10.1.0.1
7,但是,通过 ingress配置后, 在宿主机上,访问不了
curl http-svc.frognew.com
curl: (7) Failed to connect to http-svc.frognew.com port 80: Connection refused
这是什么原因呢???