K8S-概念-service-deployment

网友投稿 266 2022-09-10

K8S-概念-service-deployment

K8S-概念-service-deployment

其中

service: 一个网络下的pod集合。service 使用labels标签来选择代理的pod。

Deployment:deployment 作用于一组pods的创建和运行

所以service 和deployment的区别,就是一个是从网络角度的抽象概念service,类型nginx做负载均衡提供的统一网络入口。而pod是最终的应用部署实体。 deoplyment 负责创建和保持pod运行状态

service 可以独立于deployment工作,但是需要一个个去创建pod,而不是像deployment那样一次性创建。

deployment也可以独立于service工作。

虽然service和deployment是有区别的,但不影响他们一同协同工作

service

service:相对于是的网络pod集合 service ,endpoint, ingress 为服务类型service:NodePort, ClusterIp, LoadBalancer

kind: ServiceapiVersion: v1metadata: name: hostname-servicespec: type: NodePort # service的类型 selector: app: echo-hostname # pods的lable ports: - nodePort: 30163 # node的ip port: 8080 # 暴露的service的端口 targetPort: 80 # 标签的端口

解释一下 NodePort, ClusterIp, LoadBalancer

ClusterIp: 此服务仅能在k8s集群内访问

NodePort: 节点端口,可以让service接收来自k8s集群外的请求,被ingress访问

LoadBalancer:负载均衡

Port: k8s 集群内部访问service端口, 通过clusterip:port 请求某个service

nodePort: 使用nodeIp:nodePort 从外部访问请求某个service

targetPort:是pod的端口,从port和nodePort来的流量经过kube-proxy流入到后端pod的targetPort上,最后进入容器

containerPort:是pod内部容器的端口,targetPort映射到containerPort

这样配置的话 culr 10.170.11.11:99 -> 访问redis

yaml

apiVersion: apps/v1kind: Deploymentmetadata: name: mysql-appspec: replicas: 2 selector: matchLabels: app: mysql-app template: metadata: labels: app: mysql-app spec: containers: - name: mysql-app image: mysql:5.7.24 ports: - containerPort: 3306 volumeMounts: - name: mysql-data mountPath: /opt/mysql-data readOnly: true command: [ "/bin/bash", "-c", "--" ] args: [ "while true; do sleep 30; done;" ] volumes: - name: mysql-data hostPath: path: /opt/mysql-data---apiVersion: v1kind: Servicemetadata: name: mysql-servicespec: type: NodePort ports: - protocol: TCP port: 13306 targetPort: 3306 nodePort: 30001 selector: app: mysql-app

kubectl apply -f 此文件.yml

我们定义一个 mysql-service 类型使用nodeport,

暴露对外端口为 nodePort: 30001, 指向 container 3306

注意,这里的nodePort 指的是 master节点的 端口

Deployment

工作负载,对应的是应用

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Calico 生产网络选型
下一篇:k8s_概念解析
相关文章

 发表评论

暂时没有评论,来抢沙发吧~