k8s基础使用--使用k8s部署nginx服务


前言

首先我们要先理解k8s中的几个比较核心的概念
他们分别是Deployment、POD、Service

简单理解
deployment: 控制Pod副本数量
pod:管理容器
service:对外发布服务

详细解释
pod(容器组)
是 Kubernetes 中最小的调度单元,它可以包含一个或多个容器,并共享相同的网络命名空间和存储卷。Pod 提供了部署应用程序所需的环境,并且可以被创建、删除或替换。

Deployment
是用来定义和管理 Pod 的高级控制器。它描述了应用程序的期望状态,例如需要运行的 Pod 数量、使用的镜像版本等信息。Deployment 会负责根据这些描述来创建、删除或更新 Pod,以确保实际运行的 Pod 符合期望状态。

Service
是用来暴露 Pod 提供的服务给其他应用程序或用户的方式。Service 定义了一组 Pod 的访问策略,通过标签选择器将请求路由到匹配的 Pod 上。Service 可以提供负载均衡、服务发现、内部集群通信等功能。

应用

环境

Ip主机名cpu内存硬盘
192.168.10.11master012cpu双核4G100G
192.168.10.12worker012cpu双核4G100G
192.168.10.13worker022cpu双核4G100G

已部署k8s-1.27

步骤

创建资源控制器deployment(created就是创建好了)
注:deployment会自动创建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
创建service

kubectl expose deployment nginx --name=nginx-svc --port=80 --type=NodePort

–name 服务名称
–port 容器内暴露的端口
type=BodePort 表示对外暴露端口,端口号随机,外部主机通过这个端口可以访问

查看

kubectl get service nginx-svc 

在这里插入图片描述
可以看到对外暴露的端口为32639
访问
在这里插入图片描述
访问到了

实验完成

  • 6
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值