K8S
文章平均质量分 68
k8s
茅坤宝骏氹
语言:Java、C/C++、C#、Python、Linux Shell。
框架:Spring、Spring MVC、Spring Boot、Spring Cloud、Hibernate、Mybatis、Freemarker、Velocity。
前端:HTML5、CSS3、JavaScript、Bootstrap、JQuery、Vue、React。
数据库:oracle、mysql、MongoDB、HBase。
缓存:Memcache、Redis。
消息队列:kafka。
大数据:Hadoop、Hive、Sqoop、Flume、Spark、Strom、OpenTSDB、Druid。
展开
-
K8S Learning(12)——Pod调度
一、Pod调度在默认情况下,一个Pod在哪个Node节点上运行,是由Scheduler组件采用相应的算法计算出来的,这个过程是不受人工控制的。但是在实际使用中,这并不满足的需求,因为很多情况下,我们想控制某些Pod到达某些节点上,那么应该怎么做呢?这就要求了解kubernetes对Pod的调度规则,kubernetes提供了四大类调度方式: 自动调度:运行在哪个节点上完全由Scheduler经过一系列的算法计算得出 定向调度:NodeName、NodeSelector 亲和性调原创 2022-02-02 12:49:29 · 1851 阅读 · 0 评论 -
K8S Learning(11)——Pod生命周期
一、Pod生命周期一般将pod对象从创建至终的这段时间范围称为pod的生命周期,它主要包含下面的过程: pod创建过程 运行初始化容器(init container)过程 运行主容器(main container) 容器启动后钩子(post start)、容器终止前钩子(pre stop) 容器的存活性探测(liveness probe)、就绪性探测(readiness probe) pod终止过程 在整个生命周期中,Pod会出原创 2022-02-02 11:05:43 · 408 阅读 · 0 评论 -
K8S Learning(10)——Pod配置
pod.spec.containers属性是pod配置中最为关键的一项配置。kubectl explain pod.spec.containersKIND: PodVERSION: v1RESOURCE: containers <[]Object> # 数组,代表可以有多个容器FIELDS: name <string> # 容器名称 image <string> # 容器需要的镜像地址 imagePul...原创 2022-02-01 12:26:53 · 3324 阅读 · 0 评论 -
K8S Learning(9)——Pod介绍
一、 Pod结构每个Pod中都可以包含一个或者多个容器,这些容器分为两类: 用户程序所在的容器,数量没有限制 Pause容器,这是每个Pod都会有的一个根容器,它的作用有两个: 可以以它为依据,评估整个Pod的健康状态 可以在根容器上设置Ip地址,其它容器都此Ip(Pod IP),以实现Pod内部的网路通信 这里是Pod内部的通讯,Pod的之间的通讯采用虚拟二层网络技术来实现,当前环境用的是Flannel 二、Pod定义Pod的资源清单原创 2022-02-01 11:45:55 · 866 阅读 · 0 评论 -
K8S Learning(8)—— Service
一、Service简介利用Deployment来创建一组Pod来提供具有高可用性的服务,每个Pod都会分配一个单独的Pod IP,却存在以下两个问题: Pod IP 会随着Pod的重建产生变化 Pod IP 仅仅是集群内可见的虚拟IP,外部无法访问 对于访问这个服务带来了难度。kubernetes设计了Service来解决这个问题。Service可以看作是一组同类Pod对外的访问接口。借助Service,应用可以方便地实现服务发现和负载均衡。二、Service配置原创 2022-01-31 19:12:20 · 1041 阅读 · 0 评论 -
K8S Learning(7)—— Deployment
一、Deployment简介在kubernetes中,Pod是最小的控制单元,但是kubernetes很少直接控制Pod,一般都是通过Pod控制器来完成的。Pod控制器用于pod的管理,确保pod资源符合预期的状态,当pod的资源出现故障时,会尝试进行重启或重建pod。在kubernetes中Pod控制器的种类有很多,如:Deployment、ReplicaSet、DaemonSet、Job、CronJob。二、Deployment操作(1) 命令操作# 命令格式: kubectl原创 2022-01-31 19:00:15 · 826 阅读 · 0 评论 -
K8S Learning(6)——Label
一、Label简介Label是kubernetes系统中的一个重要概念。它的作用就是在资源上添加标识,用来对它们进行区分和选择。Label的特点: 一个Label会以key/value键值对的形式附加到各种对象上,如Node、Pod、Service等等 一个资源对象可以定义任意数量的Label ,同一个Label也可以被添加到任意数量的资源对象上去 Label通常在资源对象定义时确定,当然也可以在对象创建后动态添加或者删除 可以通过Label实现资源的多维度分组,以便灵原创 2022-01-31 18:47:05 · 772 阅读 · 0 评论 -
K8S Learning(5)——Pod
一、Pod简介Pod是kubernetes集群进行管理的最小单元,程序要运行必须部署在容器中,而容器必须存在于Pod中。Pod可以认为是容器的封装,一个Pod中可以存在一个或者多个容器。kubernetes在集群启动之后,集群中的各个组件也都是以Pod方式运行的。通过命令查看kube-system命名空间下的组件pod: kubectl get pod -n kube-system二、命令式管理pod(1)创建并运行kubernetes没有提供单独运行Pod的命令,都...原创 2022-01-03 22:25:37 · 1248 阅读 · 0 评论 -
K8S Learning(4)——Namespace
一、Namespace简介Namespace是kubernetes系统中的一种非常重要资源,它的主要作用是用来实现多套环境的资源隔离或者多租户的资源隔离。默认情况下,kubernetes集群中的所有的Pod都是可以相互访问的。但是在实际中,可能不想让两个Pod之间进行互相的访问,那此时就可以将两个Pod划分到不同的namespace下。kubernetes通过将集群内部的资源分配到不同的Namespace中,可以形成逻辑上的"组",以方便不同的组的资源进行隔离使用和管理。可以通过kubernet原创 2022-01-03 22:03:12 · 373 阅读 · 0 评论 -
K8S Learning(3)——资源管理
一、资源在kubernetes中,所有的内容都抽象为资源,用户需要通过操作资源来管理kubernetes。kubernetes的本质上就是一个集群系统,用户可以在集群中部署各种服务,所谓的部署服务,其实就是在kubernetes集群中运行一个个的容器,并将指定的程序跑在容器中。kubernetes的最小管理单元是pod而不是容器,所以只能将容器放在Pod中,而kubernetes一般也不会直接管理Pod,而是通过Pod控制器来管理Pod的。Pod可以提供服务之后,就要考虑如何访问Pod中服原创 2022-01-03 15:51:52 · 300 阅读 · 0 评论 -
K8S Learning(2)——集群环境搭建
一、部署Kubernetes 集群有两种方式:(1)kubeadmKubeadm 是一个K8s 部署工具,提供kubeadm init 和kubeadm join,用于快速部署Kubernetes 集群。官方地址:Kubeadm | Kubernetes(2)二进制包从github 下载发行版的二进制包,手动部署每个组件,组成Kubernetes 集群。Kubeadm 降低部署门槛,但屏蔽了很多细节,遇到问题很难排查。如果想更容易可控,推荐使用二进制包部署Kubernetes 集原创 2022-01-03 15:14:45 · 273 阅读 · 0 评论 -
K8S Learning(1)——简介
一、Kuberneteskubernetes,是一个全新的基于容器技术的分布式架构领先方案,是谷歌严格保密十几年的秘密武器——Borg系统的一个开源版本,于2014年9月发布第一个版本,2015年7月发布第一个正式版本。kubernetes的本质是一组服务器集群,它可以在集群的每个节点上运行特定的程序,来对节点中的容器进行管理。目的是实现资源管理的自动化,主要提供了如下的主要功能: 自我修复:一旦某一个容器崩溃,能够在1秒中左右迅速启动新的容器 弹性伸缩:可以根据需要,自动对集群中正原创 2022-01-03 15:07:09 · 588 阅读 · 0 评论