部署方案比较
k8s master slave 集群架构 模型
k8s master slave 集群架构 物理模型
集群安装
master 是不会跑任务的,任务都是跑在node的节点上
deployment方式 创建pod,通过标签label关联
工作用常用命令
将pod 调度到指定的节点node 去运行
调度到磁盘类型是ssd的
工作负载的分类 deployment,statefulset,daemonset,job&cronjob
现存的问题,每次只能访问一个pod,没有负载均衡自动转发到不同的pod
没有负载均衡
访问需要端口转发
pod 重建 ip地址变了,名字也变了
service
通过label关联对应的pod
ports:
port 本service 本身对外暴露的端口
targetPort: 容器端口 服务service 通过此端口去服务容器
查看service的endPoints
会把流量转发到这些节点上
descirbe svc svc_name
本service 转发到这些pod
svc默认类型是ClusterIP,
对外直接暴露服务
SVC 类型设置为 NodePort 和 LB
svc 类型 该为nodePort
自动负载均衡
SVC 类型设置为LB
后面更高端的ingress代替LB
StatefuSet 有状态的应用,会固定每个pod的名字
clusterIP 设置为none,变为headless,这样只能通过名字来访问pod,不可以通过ip
stateSet特性
pod 重建之后,数据库内容丢失
数据持久化
目录挂载 mount
更高级的抽象
ConfigMap和Secret
数据库连接地址,会变化,应该方便配置
Helm 类似NPM PIP ,软件库,快速帮我们为集群安装第三方软件
namespace 划分空间用的
如果一个集群部署多个应用,所有的应用都在一起,就不太好管理,也可以导致名字冲突
使用namespace 把应用划分到不同的命名空间
划分空间用的
如果
ingress