『中級篇』k8s的NodePort類型Service以及Label的簡單實用(68)

原創(chuàng)文章,歡迎轉(zhuǎn)載。轉(zhuǎn)載請注明:轉(zhuǎn)載自IT人故事會,謝謝!
原文鏈接地址:『中級篇』k8s的NodePort類型Service以及Label的簡單實用(68)

上次主要說了service的一種類型,clusterIp,這次說下NodePort。源碼:https://github.com/limingios/docker/tree/master/No.10

通過pod創(chuàng)建service

  • 進(jìn)入labs目錄下的service
 cd deployk8s-master
 cd labs
 cd services
  • 查看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
  • 創(chuàng)建service類型是nodePort

默認(rèn)的type clusterIP的形式

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

明白了啥了沒?其實nodePort就是直接暴露出來一個端口,直接就可以訪問了,爽是爽但是不安全。

通過pod 根據(jù)yml文件的形式創(chuàng)建service

  • 刪除service

pod還在,service已經(jīng)成功刪除了,app必須對應(yīng)。

kubectl delete service nginx-pod
kubectl get pods
kubectl get svc
get pods --show-labels
more service_nginx.yml 
image.png
  • 創(chuàng)建service
kubectl create -f service_nginx.yml
vim service_nginx.yml 

  • label的理解

Label機(jī)制是K8S中一個重要設(shè)計,通過Label進(jìn)行對象弱關(guān)聯(lián),靈活地分類和選擇不同服務(wù)或業(yè)務(wù),讓用戶根據(jù)自己特定的組織結(jié)構(gòu)以松耦合方式進(jìn)行服務(wù)部署。
Label是一對KV,對用戶而言非常有意義的,但對K8S本身而言沒有直接意義的。Label可以在創(chuàng)建對象時指定,也可以在后期修改,每個對象可以擁有多個標(biāo)簽,但key值必須是唯一的。
Label可隨意定義,但建議可讀性,比如設(shè)置Pod的應(yīng)用名稱和版本號等。另外Lable是不具有唯一性的,為了更準(zhǔn)確標(biāo)識資源對象,應(yīng)為資源對象設(shè)置多維度的label。

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


往期精彩
  1. docker導(dǎo)學(xué)(一)
  2. 容器的技術(shù)概述(二)
  3. docker的魅力初體驗-5分鐘安裝wordpress不走彎路(三)
  4. docker官網(wǎng)介紹(四)
  5. 如何在mac上安裝docker(五)
  6. 如何在window上安裝docker(六)
  7. 如何在mac上通過vagrant安裝虛擬機(jī)(七)
  8. 如何在window上通過vagrant安裝虛擬機(jī)(八)
  9. docker-Machine的本地使用(九)
  10. docker-Machine的本地使用(十)
  11. 在linux/mac下通過Docker-Machine在阿里云上的使用(11)
  12. docker架構(gòu)和底層技術(shù)(12)
  13. docker Image概述(13)
  14. 手動建立一個base Image(14)
  15. 什么是Container(15)
  16. 構(gòu)建自己的Docker鏡像(16)
  17. Dockerfile詳解(17)
  18. 鏡像的發(fā)布(18)
  19. Dockerfile實戰(zhàn)(19)
  20. 容器的操作(20)
  21. Dockerfile實戰(zhàn)CMD和ENTRTYPOINT的配合(21)
  22. 容器的資源限制(22)
  23. docker網(wǎng)絡(luò)(23)
  24. docker學(xué)習(xí)必會網(wǎng)絡(luò)基礎(chǔ)(24)
  25. Linux網(wǎng)絡(luò)命名空間(25)
  26. Docker Bridge詳解(26)
  27. 容器之間的Link(27)
  28. 容器的端口映射(28)
  29. 容器網(wǎng)絡(luò)之host和none(29)
  30. 多容器復(fù)雜應(yīng)用的部署(30)
  31. overlay網(wǎng)絡(luò)和etcd實現(xiàn)多機(jī)的容器通信(31)
  32. docker的數(shù)據(jù)持久化存儲和數(shù)據(jù)共享(32)
  33. windows下vagrant 通過SecureCRT連接centos7(33)
  34. 數(shù)據(jù)持久化之Data Volume(34)
  35. 數(shù)據(jù)持久化之bind Mounting(35)
  36. docker 使用bind Mounting實戰(zhàn)(36)
  37. docker容器安裝wordpress(37)
  38. docker Compose到底是什么(38)
  39. Docker Compose的安裝和基本使用(39)
  40. Docker 水平擴(kuò)展和負(fù)載均衡(40)
  41. Docker compose 部署一個復(fù)雜的應(yīng)用(41)
  42. 容器編排Docker Swarm介紹(42)
  43. docker-swarm創(chuàng)建一個多節(jié)點集群(43)
  44. play with docker 的使用(44)
  45. docker-swarm中的Service創(chuàng)建維護(hù)和水平擴(kuò)展(45)
  46. 在docker-swarm集群里通過serivce部署wordpress(46)
  47. 集群服務(wù)間通信之RoutingMesh(47)
  48. RoutingMesh之Ingress負(fù)載均衡(48)
  49. Docker-Stack部署wordpress(49)
  50. Docker-Stack部署投票應(yīng)用(50)
  51. Docker-Secret管理和使用(51)
  52. Docker service更新(52)
  53. Docker的收費(fèi)模式(53)
  54. Docker-cloud介紹(54)
  55. Docker Cloud自動構(gòu)建 Docker image(55)
  56. Docker企業(yè)版的在線免費(fèi)體驗(56)
  57. docker企業(yè)版本地安裝之UCP(57)
  58. docker體驗阿里云的容器服務(wù)(58)
  59. 阿里云安裝Docker企業(yè)版UCP和DTR(59)
  60. Kubenetes簡介(60)
  61. Minikube快速搭建K8S單節(jié)點環(huán)境(61)
  62. K8S最小調(diào)度單位Pod(62)
  63. K8S橫向擴(kuò)展功能ReplicaSet和ReplicationController(63)
  64. k8s重要的Deployment(64)
  65. Vagrant在本地搭建多節(jié)點K8S集群(65)
  66. k8s基礎(chǔ)網(wǎng)絡(luò)Cluster Network(66)
  67. k8s的Service簡介和演示(67)
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容