Kubernetes(K8s)学习笔记
Kubernetes(K8s)用于自动化部署、扩展和管理容器化应用程序。
基本概念
Container
一个独立的、轻量级的可运行的包,包含应用程序和它的所有依赖。
Pod
Pod是K8s中的最小部署单位,他可以包含一个或者多个容器。
Node
Node就是K8s集群中的一台机器,可以包含一个或者多个Pod。
Cluster
Cluster就是由多个Node组成的集群。
Service
Service为一组Pod提供持久的IP地址和负载均衡功能,使得Pod可以稳定的被外部访问。
Namespace
Namespace是K8s中的逻辑隔离单元,用于将集群中的资源划分到不同的虚拟子集。
Deployment
Deployment定义应用程序的部署方式和策略,支持滚动更新和回滚操作。
安装K8s
Minikube
Minikube是本地的K8s集群,用于开发和测试。
1 | # 安装Minikube |
kubectl
kubectl是用于管理集群的命令行工具。
1 | # 安装kubectl |
创建K8s部署(Deployment)
创建Deployment:
1 | # 创建一个nginx部署 |
暴露服务:
1 | # 对外暴露nginx部署 |
扩展和更新
扩展Pod副本数
1 | kubectl scale deployment nginx --replicas=3 |
更新容器镜像
1 | kubectl set image deployment/nginx nginx=nginx:1.19 |
回滚
1 | kubectl rollout undo deployment/nginx |
删除服务和部署
1 | kubectl delete service nginx |