三、核心实战-服务Service-Ingress

Service

将一组Pods公开为网络服务的抽象方法。

暴露deployment只能在集群内访问是ClusterIP,可以集群外访问是NodePort,默认端口分配是30000-32767之间
kubectl expose deployment my-dep --port=8000 --target-port=80 --type=ClusterIP
kubectl expose pod redis --port=8001 --target-port=6379 --type=NodePort
查看deployment访问的ip与端口10.96.18.168:8000
kubectl get service
也可以使用域名访问但是仅限于容器与容器之间节点服务器是不通的
服务名.名称空间.service:8000 使用标签检索Pod kubectl get pod
-l app=my-dep
查看pod的标签
kubectl get pod --show-labels

使用yaml文件

apiVersion: v1
kind: Service
metadata:
labels:
app: my-dep name: my
-dep spec: selector: app: MyApp ports: - protocol: TCP port: 80 targetPort: 9376

Ingress (service的统一网关入口)

还有更强大的ingreess-haproxy可以做4层代理,搞定mysql对外访问

 https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v0.47.0/deploy/static/provider/baremetal/deploy.yaml(墙外网下载此yaml文件)

#修改镜像
vi deploy.yaml
#将image的值改为如下值:
registry.cn-hangzhou.aliyuncs.com/lfy_k8s_images/ingress-nginx-controller:v0.46.0

1.先创建app的应用

2.再创建service端口映射

3.再将ingress域名分流

 

posted @ 2023-02-28 10:27  good-good-luck  阅读(34)  评论(0)    收藏  举报