您现在的位置是:首页 >学无止境 >Kubernetes(K8s)各组件白话解释网站首页学无止境

Kubernetes(K8s)各组件白话解释

易柏州Innovation 2024-09-01 00:01:04
简介Kubernetes(K8s)各组件白话解释

在这里插入图片描述

个人笔记,仅供参考。 来源于尚硅谷视频

转载请评论。


NameSpace

名称空间,在K8s中用于隔离资源。对不同资源进行划分。
例如:pro(生产环境), dev(开发环境)
在这里插入图片描述
在这里插入图片描述

kubectl create ns hello
kubectl delete ns hello


Pod

运行中的一组容器,Pod是K8s中最小的单位。
在这里插入图片描述

K8s直接操作Pod,由Pod来操作其体内的多个容器(docker容器)。

kubectl run mynginx --image=nginx

# 查看default名称空间的Pod
kubectl get pod 
# 描述
kubectl describe pod 你自己的Pod名字
# 删除
kubectl delete pod Pod名字
# 查看Pod的运行日志
kubectl logs Pod名字

# 每个Pod - k8s都会分配一个ip
kubectl get pod -owide
# 使用Pod的ip+pod里面运行容器的端口
curl 192.168.169.136

# 集群中的任意一个机器以及任意的应用都能通过Pod分配的ip来访问这个Pod


Deployment

控制Pod,使用Deployment启动Pod可以指定Pod拥有多个副本,自愈,扩容等能力。

kubectl create deployment mytomcat --image=tomcat:8.5.68

1. 创建多个副本
kubectl create deployment my-dep --image=nginx --replicas=3

2. 扩容/缩容

在这里插入图片描述
my-dep是已经创建过的一个Deployment名

kubectl scale --replicas=5 deployment/my-dep

3. 滚动更新

在这里插入图片描述

kubectl set image deployment/my-dep nginx=nginx:1.16.1 --record

4. 版本回退
#历史记录
kubectl rollout history deployment/my-dep


#查看某个历史详情
kubectl rollout history deployment/my-dep --revision=2

#回滚(回到上次)
kubectl rollout undo deployment/my-dep

#回滚(回到指定版本)
kubectl rollout undo deployment/my-dep --to-revision=2


Service

Pod的服务发现与负载均衡。
将一组Pod作为集合,公开为网络服务的抽象。 类似Nginx的作用。
在这里插入图片描述

#暴露Deploy
kubectl expose deployment my-dep --port=8000 --target-port=80

#使用标签检索Pod
kubectl get pod -l app=my-dep
ClusterIp

ClusterIp表示本次创建的Service,只能在K8s集群内部访问。

NodePort

公网可以访问
在这里插入图片描述


Ingress

Service的统一网关入口。
在这里插入图片描述



风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。