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的解决方法