首页 > 其他分享 >k8s学习(先发布,可能会存不住草稿)

k8s学习(先发布,可能会存不住草稿)

时间:2023-05-12 09:23:29浏览次数:52  
标签:容器 负载 副本 草稿 编排 会存 docker k8s 节点

参考:https://zhuanlan.zhihu.com/p/382229383
k8s是容器编排工具,为什么还要编排工具呢,docker用的不是挺方便的吗,来看一个具体的例子吧。
容器技术的代表就是docker,关于docker可以参考之前的文章《都9102年了,还没听过docker?5分钟带你了解docker的前世今生!》,此处不再赘述,docker在单机上使用方便快捷,但在集群中表现如何呢?假设现在有5个节点,每个节点中都装有docker,现在要部署一个应用,要求要10个副本,有如下做法:

在5个节点上随机分配
平均分配,每台节点分配2个
根据不同节点的负载状态分配,负载低的优先分配
无论选择哪种方法都需要执行相同docker run命令10遍,如果是最后一种做法还需要挨个检查每个节点的负载,这种问题叫做不利于自动装箱

如果以后增加了1个副本还需要再重复上面的动作,如果增加10个呢?增加100个呢?人为去操作那就有点难受了,这种问题叫做不利于水平扩容与缩容,简称水平扩缩

如果现在要变更版本,更新或者回滚,需要停止容器,然后替换新版本镜像,再启动,这样的操作每个副本都要来一次,如果副本太多,简直是噩梦,这种问题叫做不利于自动化上线和回滚

如果现在一个容器停止运行了,docker的重启策略会将它拉起来继续运行,这没什么问题,如果节点宕机了呢?上面的所有容器都停止了,docker重启策略就没用了,这样副本的数量就会减少,这个问题叫做不能自我修复

假设需要负载均衡,那么得新增一个节点安装负载均衡器,并且配置5个节点的IP和端口,前提是容器的端口要映射到主机端口,而且容器之前网络是隔离的,不能相互访问,维护成本高,这个问题叫不利于服务发现与负载均衡

上面的这些操作,就是容器编排,既然存在如上问题,那么就需要一个技术进行自动化编排,这个技术就是K8S,K8S即kubernetes /kjubɚ’nɛtɪs/

Kubernetes,是一个工业级的容器编排平台。Kubernetes 这个单词是希腊语,它的中文翻译是“舵手”或者“飞行员”。在一些常见的资料中也会看到“ks”这个词,也就是“K8s”,它是通过将 8 个字母“ubernete ”替换为“8”而成为的一个缩写。

标签:容器,负载,副本,草稿,编排,会存,docker,k8s,节点
From: https://www.cnblogs.com/jianjiana/p/17392794.html

相关文章

  • openssl 生成k8s 证书
    生成一个2048位的ca.key文件opensslgenrsa-outca.key2048在ca.key文件的基础上,生成ca.crt文件(用参数 -days 设置证书有效期)opensslreq-x509-new-nodes-keyca.key-subj"/CN=${MASTER_IP}"-days10000-outca.crt生成一个2048位的serv......
  • k8s部署-二进制-1.26
    一、系统环境初始化1.1系统环境系统:Rockylinux8.7x64cat/etc/hosts----172.16.10.81flyfish81172.16.10.82flyfish82172.16.10.83flyfish83172.16.10.84flyfish84172.16.10.85flyfish85-----本次部署为前三台Rockylinux8.6x64flyfis......
  • k8s证书续签及异常:You must be logged in to the server
    1、证书续签(k8smaster节点执行):  #备份kubernetes配置sudocp-r/etc/kubernetes/etc/kubernetes_bak#更新证书sudokubeadmcertsrenewall#查看证书过期时间sudokubeadmcertscheck-expiration#删除conf文件sudorm-rf/etc/kubernetes/*.conf#重新生......
  • k8s中的Ingress
    虽然通过kube-proxy可以帮助实现集群内外的pod相互通信,对这些pod做负载均衡(用户态userspace轮询算法,性能低也不安全)和网络的流量代理,但是随着service的增多,nodeIP越来越多,并且kube-proxy生成的规则链也会越来越多,即使是iptables路由(内核态随机算法,性能高直接转给后端EndPoint)对Linu......
  • Ubuntu安装K8s
    Ubuntu安装K8s采用本地VM虚拟机方式安装,整体流程:安装一台Ubuntu修改可能需要的几个配置安装基本的环境克隆新的Node节点机器主从节点配置K8s主节点安装网络插件验证集群安装Ubuntu我比较懒,所以可以参考别人的博客安装,说明两点:CPU和内存我豆是选择的4,这个根......
  • K8S API资源对象NetworkPolicy
    NetworkPolicy用来控制Pod与Pod之间的网络通信,它也支持针对Namespace进行限制。基于白名单模式,符合规则的对象通过,不符合的拒绝。应用场景举例:PodA不能访问PodB;开发环境所有Pod不能访问测试命名空间;提供对外访问时,限制外部IP;官方NetworkPolicyYAML示例:apiVersion:netwo......
  • 第9周-elk-k8s网络
    一、日志收集案例-容器内置日志收集收集架构应用程序以tomcat为例1构建镜像DockerfileFROMharbor.jackedu.net/baseimage/tomcat-base:v8.5.43ADDcatalina.sh/apps/tomcat/bin/catalina.shADDserver.xml/apps/tomcat/conf/server.xml#ADDmyapp/*/data/tomcat/we......
  • k8s认证、授权与准入控制
    KubernetesAPIServer是Kubernetes集群的控制中心,提供了KubernetesAPI的访问入口。为了保证Kubernetes集群的安全性,Kubernetes提供了许多APIServer访问控制机制,如下所示:认证(Authentication):APIServer可以支持多种身份认证方式,如证书、静态令牌、动态令牌(Token)和......
  • k8s 部署 elasticsearch 单节点
    es.yaml#pv和pvcapiVersion:v1kind:PersistentVolumemetadata:name:es-pvspec:capacity:storage:5GiaccessModes:-ReadWriteManypersistentVolumeReclaimPolicy:RetainstorageClassName:es-hosthostPath:path:/data/es-data---......
  • k8s service资源
    在Kubernetes中,Service资源是一种抽象的逻辑概念,它定义了一组Pod的访问方式,为Pod提供稳定的DNS名称和IP地址,通过代理(Proxy)的方式向应用程序终端用户提供可靠的访问。Service资源对象提供了以下功能:为一组具有相同功能但可能在不同Pod或节点中的Pod提供一个稳定的虚拟IP地址和DN......