首页 > 编程语言 >『中级篇』k8s的NodePort类型Service以及Label的简单实用(68)

『中级篇』k8s的NodePort类型Service以及Label的简单实用(68)

时间:2023-01-06 11:32:41浏览次数:60  
标签:容器 service Service Label nginx 68 docker Docker pod

型,clusterIp,这次说下NodePort。源码:​​https://github.com/limingios/docker/tree/master/No.10​

通过pod创建service

  • 进入labs目录下的service
cd deployk8s-master
cd labs
cd services

『中级篇』k8s的NodePort类型Service以及Label的简单实用(68)_nginx

  • 查看nginx-pod
apiVersion: v1
kind: Pod
metadata:
name: nginx-pod
labels:
app: nginx
spec:
containers:
- name: nginx-container
image: nginx
ports:
- name: nginx-port
containerPort: 8
kubectl create -f pod_nginx.yml 
kubectl get pods

『中级篇』k8s的NodePort类型Service以及Label的简单实用(68)_Docker_02

『中级篇』k8s的NodePort类型Service以及Label的简单实用(68)_Docker_03

  • 创建service类型是nodePort

默认的type clusterIP的形式

kubectl expose pods nginx-pod -h
expose pods nginx-pod --type=NodePort
kubectl describe node

『中级篇』k8s的NodePort类型Service以及Label的简单实用(68)_docker_04

『中级篇』k8s的NodePort类型Service以及Label的简单实用(68)_docker_05

『中级篇』k8s的NodePort类型Service以及Label的简单实用(68)_nginx_06

『中级篇』k8s的NodePort类型Service以及Label的简单实用(68)_Docker_07

明白了啥了没?其实nodePort就是直接暴露出来一个端口,直接就可以访问了,爽是爽但是不安全。

通过pod 根据yml文件的形式创建service

  • 删除service

pod还在,service已经成功删除了,app必须对应。

kubectl delete service nginx-pod
kubectl get pods
kubectl get svc
get pods --show-labels
more service_nginx.yml

『中级篇』k8s的NodePort类型Service以及Label的简单实用(68)_nginx_08

『中级篇』k8s的NodePort类型Service以及Label的简单实用(68)_nginx_09

  • 创建service
kubectl create -f service_nginx.yml
vim service_nginx.yml

『中级篇』k8s的NodePort类型Service以及Label的简单实用(68)_Docker_10

『中级篇』k8s的NodePort类型Service以及Label的简单实用(68)_nginx_11

『中级篇』k8s的NodePort类型Service以及Label的简单实用(68)_docker_12

『中级篇』k8s的NodePort类型Service以及Label的简单实用(68)_nginx_13

  • label的理解

Label机制是K8S中一个重要设计,通过Label进行对象弱关联,灵活地分类和选择不同服务或业务,让用户根据自己特定的组织结构以松耦合方式进行服务部署。
Label是一对KV,对用户而言非常有意义的,但对K8S本身而言没有直接意义的。Label可以在创建对象时指定,也可以在后期修改,每个对象可以拥有多个标签,但key值必须是唯一的。
Label可随意定义,但建议可读性,比如设置Pod的应用名称和版本号等。另外Lable是不具有唯一性的,为了更准确标识资源对象,应为资源对象设置多维度的label。

nodePort是所有的pod都可以使用,如果使用nodePort的话,占用了很多端口,是不是很占用资源呢!label就把看成别名就可以了,方便操作指定的pod。


往期精彩
  1. ​docker导学(一)​
  2. ​容器的技术概述(二)​
  3. ​docker的魅力初体验-5分钟安装wordpress不走弯路(三)​
  4. ​docker官网介绍(四)​
  5. ​如何在mac上安装docker(五)​
  6. ​如何在window上安装docker(六)​
  7. ​如何在mac上通过vagrant安装虚拟机(七)​
  8. ​如何在window上通过vagrant安装虚拟机(八)​
  9. ​docker-Machine的本地使用(九)​
  10. ​docker-Machine的本地使用(十)​
  11. ​在linux/mac下通过Docker-Machine在阿里云上的使用(11)​
  12. ​docker架构和底层技术(12)​
  13. ​docker Image概述(13)​
  14. ​手动建立一个base Image(14)​
  15. ​什么是Container(15)​
  16. ​构建自己的Docker镜像(16)​
  17. ​Dockerfile详解(17)​
  18. ​镜像的发布(18)​
  19. ​Dockerfile实战(19)​
  20. ​容器的操作(20)​
  21. ​Dockerfile实战CMD和ENTRTYPOINT的配合(21)​
  22. ​容器的资源限制(22)​
  23. ​docker网络(23)​
  24. ​docker学习必会网络基础(24)​
  25. ​Linux网络命名空间(25)​
  26. ​Docker Bridge详解(26)​
  27. ​容器之间的Link(27)​
  28. ​容器的端口映射(28)​
  29. ​容器网络之host和none(29)​
  30. ​多容器复杂应用的部署(30)​
  31. ​overlay网络和etcd实现多机的容器通信(31)​
  32. ​docker的数据持久化存储和数据共享(32)​
  33. ​windows下vagrant 通过SecureCRT连接centos7(33)​
  34. ​数据持久化之Data Volume(34)​
  35. ​数据持久化之bind Mounting(35)​
  36. ​docker 使用bind Mounting实战(36)​
  37. ​docker容器安装wordpress(37)​
  38. ​docker Compose到底是什么(38)​
  39. ​Docker Compose的安装和基本使用(39)​
  40. ​Docker 水平扩展和负载均衡(40)​
  41. ​Docker compose 部署一个复杂的应用(41)​
  42. ​容器编排Docker Swarm介绍(42)​
  43. ​docker-swarm创建一个多节点集群(43)​
  44. ​play with docker 的使用(44)​
  45. ​docker-swarm中的Service创建维护和水平扩展(45)​
  46. ​在docker-swarm集群里通过serivce部署wordpress(46)​
  47. ​集群服务间通信之RoutingMesh(47)​
  48. ​RoutingMesh之Ingress负载均衡(48)​
  49. ​Docker-Stack部署wordpress(49)​
  50. ​Docker-Stack部署投票应用(50)​
  51. ​Docker-Secret管理和使用(51)​
  52. ​Docker service更新(52)​
  53. ​Docker的收费模式(53)​
  54. ​Docker-cloud介绍(54)​
  55. ​Docker Cloud自动构建 Docker image(55)​
  56. ​Docker企业版的在线免费体验(56)​
  57. ​docker企业版本地安装之UCP(57)​
  58. ​docker体验阿里云的容器服务(58)​
  59. ​阿里云安装Docker企业版UCP和DTR(59)​
  60. ​Kubenetes简介(60)​
  61. ​Minikube快速搭建K8S单节点环境(61)​
  62. ​K8S最小调度单位Pod(62)​
  63. ​K8S横向扩展功能ReplicaSet和ReplicationController(63)​
  64. ​k8s重要的Deployment(64)​
  65. ​Vagrant在本地搭建多节点K8S集群(65)​
  66. ​k8s基础网络Cluster Network(66)​
  67. ​k8s的Service简介和演示(67)​

标签:容器,service,Service,Label,nginx,68,docker,Docker,pod
From: https://blog.51cto.com/u_12040702/5992904

相关文章

  • 『中级篇』Docker service更新(52)
    ​serive更新其实并不是简单的更新,在swarm模式下的service都是在运行的,正在运行的进行更新,swarm是生产环境,我们不想因为更新中断咱们的业务,想的是不影响正常的业务开展。在......
  • 如何跳出springboot的service层中某一个方法?
    有一个需求,就是中断某个方法中的for循环目前的做法是:for循环中,增加if判断,如果满足条件就return,会中断这个方法for(inti=0;i<totalIndex;i++){............
  • android之调用webservice实现图片上传
    最近boss要求做android客户端的图片上传和下载,就是调用服务器的webservice接口,实现从android上传图片到服务器,然后从服务器下载图片到android客户端。需求下来......
  • NC20684 wpy的请求
    题目链接题目题目描述“题目名称只是吸引你来做题的啦,其实和题目没什么卵关系:o(* ̄▽ ̄*)o”——历史——殿堂wpy移情别恋啦,他不喜欢spfa了,现在他喜欢使用dij,但是他又发......
  • NC20568 [SCOI2012]滑雪与时间胶囊
    题目链接题目题目描述a180285非常喜欢滑雪。他来到一座雪山,这里分布着M条供滑行的轨道和N个轨道之间的交点(同时也是景点),而且每个景点都有一编号i(1≤i≤N)和一高度Hi......
  • javaFX中Label如何设置居中
    Labellabel=newLabel("居中");HBoxhBox=newHBox();hBox.getChildren().addAll(label);hBox.setPrefHeight(35);hBox.setPrefWidth(410);hBox.setLayoutX(125);//hBo......
  • javaFX中Label如何设置居中
    Labellabel=newLabel("居中");HBoxhBox=newHBox();hBox.getChildren().addAll(label);hBox.setPrefHeight(35);hBox.setPrefWidth(410);hBox.setLayoutX(125);//hBo......
  • javaFX中Label如何设置居中
    Labellabel=newLabel("居中");HBoxhBox=newHBox();hBox.getChildren().addAll(label);hBox.setPrefHeight(35);hBox.setPrefWidth(410);hBox.setLayoutX(125);//hBo......
  • 新品《XY6877ZA 5G AI核心板》参数详情介绍!
        深圳市新移科技有限公司推出的《XY6877ZA5GAI核心板》是基于联发科MT6877(天玑900)平台所研发出的5G全网通核心板。高端5G芯片,并拥有旗舰级大核的它,采用沉金生产......
  • android Service 的简单使用
    androidService的简单使用1、要使用Service,首先就是在配置文件里吗添加Service,如果不填加,你的Service是不能够使用的。目前学到的方法有两种  方法一:<serviceandroi......