博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
『中级篇』k8s的Service简介和演示(67)
阅读量:7054 次
发布时间:2019-06-28

本文共 1316 字,大约阅读时间需要 4 分钟。

原创文章,欢迎转载。转载请注明:转载自,谢谢!

原文链接地址:

我们在使用pod的时候,pod之前可以相互ping通的,机器本身也可以ping通pod和另外机器的pod,如果是一个serivce的话,我们通过端口号,就可以访问service。源码:

不要直接使用和管理Pods,为什么?

  • 当我们使用ReplicaSet 或者ReplicationController做水平扩展scale的时候,Pods可能被结束。
  • 当我们使用Deployment的时候,我们去更新Docker Image Version,旧的Pods会被结束,然后新的Pods创建,Ip地址发生了变化。

Service

  • kubectl expoese命令,会给我们的pod创建一个Service,供外部访问。
  • Service 主要有三种类型:
  1. ClsterIP
  2. NodePort
  3. LoadBalancer
  • 另外也可以使用DNS,但是需要DNS的add-on

Service的演示

  • 创建service。
get podkubectl get pod -o widekubectl expose pods nginx#查看到已经创建的servicekubectl get  svc复制代码
  • 访问service
ping 10.254.233.245复制代码
  • 创建deployment
cd deployk8s-master/ cd labs/ cd deployment/more deployment_nginx.yml复制代码
apiVersion: apps/v1kind: Deploymentmetadata:  name: nginx-deployment  labels:    app: nginxspec:  replicas: 3  selector:    matchLabels:      app: nginx  template:    metadata:      labels:        app: nginx    spec:      containers:      - name: nginx        image: nginx:1.12.2        ports:        - containerPort: 80复制代码
kubectl create -f deployment_nginx.ymlkubectl get pods -o wide 复制代码

我们进入node节点访问这些deployment

  • 创建deploy对应的service
kubectl get deploymentexpose deployment nginx-deploymentkubectl get svc复制代码

service内部的修改部署

kubectl edit deployment nginx-deployment复制代码

PS:根据你修改的文件内容,它就自动更新了,但是ip没有发生改变,这就是service的强大。但是目前这种直接改deloyment文件的形式,不是推荐的因为他不是滚动更新,下次说下滚动更新。

你可能感兴趣的文章
php栈数据结构和括号匹配算法
查看>>
Visual Studio 2013 的 Xamarin 安装教程
查看>>
Spring_Task初探(注解,XML配置)
查看>>
MyEclipse 2015优化技巧
查看>>
众推项目的最近讨论
查看>>
SD卡兼容性问题(转)
查看>>
解决ecshop登陆自动退出的莫名现象
查看>>
面试之求找两个数和为某个数、几个连续数等于某个数
查看>>
【LaTeX排版】LaTeX纸排版<两>
查看>>
C/C++函数调用方式
查看>>
Timer Swing
查看>>
Cassandra命令行CLI的基本使用
查看>>
Java String常见问题
查看>>
x264代码剖析(十五):核心算法之宏块编码中的变换编码
查看>>
Android仿微信进度弹出框的实现方法
查看>>
Spring事务管理
查看>>
[转]所有人都在渲染程序员的中年危机,我们却在劝你重新学会学习
查看>>
oom killer
查看>>
10.Django ModelForm
查看>>
MXNET:卷积神经网络基础
查看>>