云原生---基础
undefinedundefined
最大化的利用“云”的能力、发挥“云”的价值的最佳路径
云原生思想的两个理论基础
不可变基础设施 云应用编排理论
云原生关键技术点
1.自包含、可定制的应用镜像
2.应用快速部署与隔离能力
3.应用基础设施创建和销毁的自动化管理
4.可复制的管控系统与支撑组件
容器就是一个视图隔离、资源可限制、独立文件系统的进程集合。
提供容器所需的二进制文件、配置文件以及依赖的文件集合称为 容器镜像
Kubernetes
核心功能 1.调度 2.自动修复 3.水平伸缩
- 首先需要安装一个虚拟机,来在虚拟机中启动 Kubernetes。我们会推荐大家利用 virtualbox 来作为虚拟机的运行环境;
安装 VirtualBox: https://www.virtualbox.org/wiki/Downloads
- 其次我们需要在虚拟机中启动 Kubernetes,Kubernetes 有一个非常有意思的项目,叫 minikube,也就是启动一个最小的 local 的 Kubernetes 的一个环境。
minikube 我们推荐使用下面写到的阿里云的版本,它和官方 minikube 的主要区别就是把 minikube 中所需要的 Google 上的依赖换成国内访问比较快的一些镜像,这样就方便了大家的安装工作;
安装 MiniKube(中国版): https://yq.aliyun.com/articles/221687
- 最后在安装完 virtualbox 和 minikube 之后,大家可以对 minikube 进行启动,也就是下面这个命令。
启动命令:minikube start —vm-driver virtualbox
如果大家不是 Mac 系统,其他操作系统请访问下面这个链接,查看其它操作系统如何安装 minikube 沙箱环境。
https://kubernetes.io/docs/tasks/tools/install-minikube/
pod 共享网络 共享存储
Pod 是 Kubernetes 项目里实现“容器设计模式”的核心机制
# 查看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,使Pod拥有多副本,自愈,扩缩容等能力
kubectl create deployment my-dep --image=nginx --replicas=3 多副本
kubectl scale --replicas=5 deployment/my-dep 扩缩容
kubectl set image deployment/my-dep nginx=nginx:1.16.1 --record 滚动更新
kubectl rollout status deployment/my-dep
#历史记录
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
#暴露Deploy
kubectl expose deployment my-dep --port=8000 --target-port=80
#使用标签检索Pod
kubectl get pod -l app=my-dep
1.ClusterIP
# 等同于没有--type的
kubectl expose deployment my-dep --port=8000 --target-port=80 --type=ClusterIP
2.NodePort
NodePort范围在 30000-32767 之间
kubectl expose deployment my-dep --port=8000 --target-port=80 --type=NodePort
Ingress
1.域名访问
2 路径重写
3.流量限制
容器设计模式:Sidecar#
1.应用与日志收集 2.代理容器 3.适配器容器
所有“设计模式”的本质都是:解耦和重用
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· AI与.NET技术实操系列(六):基于图像分类模型对图像进行分类