如何使用k8s部署nginx服務
前言
首先我們要先理解k8s中的幾個比較核心的概念
他們分別是Deployment、POD、Service
簡單理解
deployment: 控制Pod副本數量
pod:管理容器
service:對外發(fā)布服務
詳細解釋
pod(容器組)
是 Kubernetes 中最小的調度單元,它可以包含一個或多個容器,并共享相同的網絡命名空間和存儲卷。Pod 提供了部署應用程序所需的環(huán)境,并且可以被創(chuàng)建、刪除或替換。
Deployment
是用來定義和管理 Pod 的高級控制器。它描述了應用程序的期望狀態(tài),例如需要運行的 Pod 數量、使用的鏡像版本等信息。Deployment 會負責根據這些描述來創(chuàng)建、刪除或更新 Pod,以確保實際運行的 Pod 符合期望狀態(tài)。
Service
是用來暴露 Pod 提供的服務給其他應用程序或用戶的方式。Service 定義了一組 Pod 的訪問策略,通過標簽選擇器將請求路由到匹配的 Pod 上。Service 可以提供負載均衡、服務發(fā)現、內部集群通信等功能。
應用
環(huán)境
| Ip | 主機名 | cpu | 內存 | 硬盤 |
|---|---|---|---|---|
| 192.168.10.11 | master01 | 2cpu雙核 | 4G | 100G |
| 192.168.10.12 | worker01 | 2cpu雙核 | 4G | 100G |
| 192.168.10.13 | worker02 | 2cpu雙核 | 4G | 100G |
已部署k8s-1.27
步驟
創(chuàng)建資源控制器deployment(created就是創(chuàng)建好了)
注:deployment會自動創(chuàng)建pod
kubectl create deployment nginx --image=nginx:1.20
查看
kubectl get pod -o wide
-o wide 查看詳細信息
可以看到pod在worker01上成功運行

可以在集群內進行ip訪問
curl 10.244.5.2
可以看到訪問到了

而外界是訪問不到的
讓外界訪問則需要service
創(chuàng)建service
kubectl expose deployment nginx --name=nginx-svc --port=80 --type=NodePort
–name 服務名稱
–port 容器內暴露的端口
type=BodePort 表示對外暴露端口,端口號隨機,外部主機通過這個端口可以訪問
查看
kubectl get service nginx-svc

可以看到對外暴露的端口為32639
訪問

訪問到了
實驗完成
到此這篇關于如何使用k8s部署nginx服務的文章就介紹到這了,更多相關k8s部署nginx服務內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Nginx配置SSL證書部署HTTPS網站的方法(頒發(fā)證書)
這篇文章主要介紹了Nginx配置SSL證書部署HTTPS網站的方法(頒發(fā)證書),小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-06-06

