k8s——通过暴漏端口实现外部访问服务
通过nodeport暴漏端口
-
修改nginx-service.yaml文件
apiVersion: v1
kind: Service
metadata:
name: nginxdeploy
spec:
type: NodePort
ports:
- port: 82
protocol: TCP
targetPort: 80
name: http
nodePort: 30055
selector:
name: nginxdeploy
创建service
kubectl create -f nginx-service.yaml
查看
kubectl get svc
访问
-
任意节点IP+端口号
通过ingress暴露端口
安装ingress
-
编写ingress.yaml
创建ingress
kubectl create -f ingress.yaml
解析一个域名到任意node节点,访问域名将得到一个404页面
创建nginx-service.yanl
apiVersion: v1
kind: Service
metadata:
name: nginx
labels:
app: nginx
spec:
selector:
app: nginx
ports:
- name: nginx
protocol: TCP
port: 80
targetPort: 80
kubectl create -f nginx-service.yaml
创建nginx-ingress.yaml
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: my-ingress-for-nginx # Ingress 的名字,仅用于标识
spec:
rules: # Ingress 中定义 L7 路由规则
- host: node # 根据 virtual hostname 进行路由(使用自己的域名)
http:
paths: # 按路径进行路由
- path: /
backend:
serviceName: nginx # 指定后端的 Service 为之前创建的 nginx-service
servicePort: 80
kubectl create -f nginx-ingress.yaml
-
配置dns解析,在浏览器输入域名即可
下一篇:
springboot 404的解决方法
