简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
ClusterlP:默认值,k8s系统给service自动分配的虚拟IP,只能在集群内部访问。NodePort: 将Service通过指定的Node上的端口暴露给外部,访问任意一个NodelP:nodePort都将路由到ClusterIP.LoadBalancer:在 NodePort 的基础上,借助 cloud provider 创建一个外部的负载均衡器,并将请求转发到 <NodelP>:Nod
Flanneld: flannel在每个主机中运行flanneld作为agent,它会为所在主机从集群的网络地址空间中,获取一个小的网段subnet,本主机内所有容器的IP地址都将从中分配。如果一个容器要访问另一个容器:很明显要跨主机,数据包通过flannel(其实就是隧道) 知道另一边的mac地址,就可以拿到另一边的ip地址,然后构建常规的以太网数据包,然后承载内部数据帧出去,另一边在封装常规的
API Server 提供了资源操作的唯一入口,并提供认证、授权、访问控制、API 注册和发现等机制;Kubelet 负责维护容器的生命周期,同时也负责 Volume(CVI)和网络(CNI)的管理;Controller Manager 负责维护集群的状态,比如故障检测、自动扩展、滚动更新等;Scheduler 负责资源的调度,按照预定的调度策略将 Pod 调度到相应的机器上;所有节点禁用swap
k8s从1.24版本开始移除了dockershim,所以需要安装cri-docker插件才能使用docker。腾空节点需要在 master 节点执行。修改节点套接字 需要在 master 上执行。配置kubelet使用cri-docker。配置kubelet使用cri-docker。解除节点保护 需在 master 节点执行。在所有集群节点 部署cri-docker。上传镜像到 harbor仓库。
官网:https://kubernetes.io/zh-cn/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough/hpa可通过metrics-server所提供pod的cpu 或者内存的负载情况,从而动态拉伸控制器的副本数,从而达到后端的自动弹缩。结束压测后,默认等待5分钟冷却时间,pod会被自动回收。触发hpa扩容pod
Ingress Controller 会根据你定义的 ingress 对象,提供对应的代理能力。业界常用的各种反向代理项目,比如 Nginx、HAProxy、Envoy、Traefik 等,都已经为Kubernetes 专门维护了对应的 Ingress Controller。一种全局的、为了代理不同后端 Service 而设置的负载均衡服务,就是 Kubernetes 里的Ingress 服务。当
创建的ResourceQuota对象将在default名字空间中添力头下限制:每个容器必须设置内存请求(memory request),内存限额(memorylimit) ,cpu请求 (cpu request) 和cpu限额 (cpu limit)所有容器的内存请求总额不得超过1 GiB。所有容器的CPU请求总额不得超过1CPU所有容器的CPU限额总额不得超过2 CPU。通过node或pod的亲
官网:https://v1-25.docs.kubernetes.io/zh-cn/docs/tasks/run-application/run-replicated-stateful-application/Pod被删除后重建,重建Pod的网络标识也不会改变,Pod的拓扑状态按照Pod的“名字+编号”的方式固定下来,并且为每个Pod提供了一个固定且唯一的访问入口,即Pod对应的DNS记录。新创建
服务账户创建的目的是为了更轻量,允许集群用户为了具体的任务创建服务账户(即权限最小化原则 )。Subject: 被作用者,它表示k8s中的三类主体,user, group,serviceAccountRole:角色,它其实是一组规则,定义了一组对 Kubernetes API 对象的操作权限RoleBinding:定义了被作用者”和“角色的绑定关系。Admission Control (准入控制)
在每个节点上运行集群存储 DaemonSet,在每个节点上运行日志收集 DaemonSet,例如 fluentd、logstash。当有节点DaemonSet 确保全部 (或者某些) 节点上运行一个 Pod 的副本。一个 CronJob 对象就像 crontab (cron table)文件中的一行,它用 Cron 格式进行编写,并周期性地在给定的调度时间执行 Job。一个简单的用法是在所有的节点