1。nodeport和ClusterIP
<代码> apiVersion: v1 类型:服务 # apiVersion: v1 #:服务 元数据: 名称:nginx-svc 名称空间:默认 规范: 类型:NodePort #定义类型为NodePort 选择器: #标签选择,把需要转发的后端的标签写在下面 应用:nginx 港口: 端口:80 #服务端口 发送:80 #容器端口 nodePort: 30080 #节点端口,如果是ClusterIP的这段不需要,也可以不填会随机 --- apiVersion: v1 :豆荚 元数据: 名称:ng1 标签: 应用:网络 规范: 容器: ——名称:ng1 图片:hub.c.163.com/library/nginx imagePullPolicy: IfNotPresent 代码>
nodeport和ClusterIP用法差不多就类型填的不一样,还有ClusterIP不用填nodeport
部署控制器
<代码> apiVersion: v1 类型:服务 元数据: 名称:nginx-svc 名称空间:默认 规范: 类型:NodePort #定义类型为NodePort 选择器: #标签选择,把需要转发的后端的标签写在下面 应用:网络 港口: 端口:90 #服务端口 发送:80 #容器端口 nodePort: 30080 #节点端口,如果是ClusterIP的这段不需要,也可以不填会随机 --- apiVersion:应用程序/v1 :部署 元数据: 名称:nginx 规范: 副本:2 #表示启动两个容器 选择器: matchLabels: 应用:nginx #匹配标签 模板: #这下面的和pod写法一样 元数据: 标签: 应用:nginx 规范: 容器: ——名称:ng1 图片:hub.c.163.com/library/nginx imagePullPolicy: IfNotPresent 代码>
2. daemonset控制器和服务无头服务
<代码> apiVersion:应用程序/v1 :DaemonSet #控制器类型dae…,这种控制器会把每一个节点的节点都启动一个下面标签匹配的容器,有污点的除外 元数据: 名称:nginx-daemonset 名称空间:默认 规范: 选择器: matchLabels: 应用:nginx 模板: 元数据: 标签: 应用:nginx 规范: 容器: ——名称:nginx 图片:“ikubernetes/myapp: v1” --- apiVersion: v1 类型:服务 元数据: 名称:nginx-service 名称空间:默认 规范: 选择器: 应用:nginx clusterIP:没有 港口: 端口:80 发送:80 代码>
服务的无头服务适用于有些服务直接要和后端的容器建立连接场景使用的
<代码> [root@cs25 ~] # kubectl得到应用pod - l=myapp - o宽 姓名就绪状态重启年龄IP节点节点准备盖茨提名 myapp-deploy-6c7db749dd-4kjdh 1/1运行0 31 m 192.168.94.170 cs27 & lt; none>& lt; none> myapp-deploy-6c7db749dd-x95d6 1/1运行0 31 m 192.168.100.2 cs25 & lt; none>& lt; none> #查看两个后端容器的ip root@cs25 ~ # nginx-service.default.svc.cluster.local挖 ;& lt; & lt;在祝辞挖9.9.4-RedHat-9.9.4-72。el7 & lt; & lt;在祝辞nginx-service.default.svc.cluster.local ;;全局选项:+ cmd ;;得到的答案: ;;→祝辞HEADER<& lt -操作码:查询、状态:NOERROR,身份证:16814 ;;国旗:qr aa rd;查询:1,回答:2、权威:0,额外的:1 ;;警告:递归要求但不是可用的 ;;选择假剖面: ;经济日报:版本:0,旗帜:;udp: 4096 ;;问题部分: nginx-service.default.svc.cluster.local。在一个 ;;回答部分: nginx-service.default.svc.cluster.local。30在192.168.100.47 nginx-service.default.svc.cluster.local。30在192.168.94.168 ;;查询时间:4毫秒 ;;服务器:192.168.100.37 # 53 (192.168.100.37) ;;时间:一2019年12月23日14:03:19 CST ;;味精接到大小:178 #解析域名nginx-service.default.svc.cluster.local看是不是解析的容器ip、上面可以看到两个容器的ip都被解析到了, #如果这边是服务带ip就会解析成服务ip由服务代理至后端容器,无头服务就是直接解析后端容器ip直接和容器建立连接。 代码>