Kubernetes Service 对外提供访问
Kubernetes About 1,568 words暴露服务
ClusterIP:仅用于集群内部访问
kubectl expose deploy nginx --name=svc-nginx1 --type=ClusterIP --port=80 --target-port=80 -n devNodePort:对外可提供访问
kubectl expose deploy nginx --name=svc-nginx2 --type=NodePort --port=80 --target-port=80 -n dev查看信息
ClusterIP类型输出的结果:
$ kubectl get svc -n dev
NAME         TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)   AGE
kubernetes   ClusterIP   10.96.0.1    <none>        443/TCP   8sNodePort类型输出的结果:对外提供30001(每次创建都不固定,但创建后整个Service生命周期都固定)
$ kubectl get svc -n dev
NAME         TYPE       CLUSTER-IP      EXTERNAL-IP   PORT(S)        AGE
svc-nginx2   NodePort   10.99.142.202   <none>        80:30001/TCP   8s删除服务
kubectl delete svc svc-nginx1 -n dev完整配置
kind: Service  # 资源类型
apiVersion: v1  # 资源版本
metadata: # 元数据
  name: service # 资源名称
  namespace: dev # 命名空间
spec: # 描述
  selector: # 标签选择器,用于确定当前 Service 代理哪些 Pod
    app: nginx
  type: # Service 类型,指定 Service 的访问方式
  clusterIP:  # 虚拟服务的 IP 地址
  sessionAffinity: # Session 亲和性,支持 ClientIP、None 两个选项
  ports: # 端口信息
    - protocol: TCP 
      port: 3017  # Service 端口
      targetPort: 5003 # Pod 端口
      nodePort: 31122 # 主机端口minikube
使用minikube还可使用如下命令,直接打开浏览器访问
minikube service svc-nginx2 -n dev输出:
| NAMESPACE |    NAME    | TARGET PORT |            URL            |
| dev       | svc-nginx2 |          80 | http://10.148.69.70:30001 |
🎉  Opening service dev/svc-nginx2 in default browser...端口转发
service/svc-nginx2:指定service名称
将本地7080端口映射到Kubernetes内部端口的80上(--port指定的端口)
kubectl port-forward service/svc-nginx2 7080:80 -n dev本地访问7080即可
http://localhost:7080
                Views: 2,368 · Posted: 2022-03-16
            
            ————        END        ————
Give me a Star, Thanks:)
https://github.com/fendoudebb/LiteNote扫描下方二维码关注公众号和小程序↓↓↓
 
        Loading...