kubernetes
文章平均质量分 68
kubernetes
一路向北North
这个作者很懒,什么都没留下…
展开
-
Kubernetes(31):kubeasz单主机模式
有时候,我们只需要k8s集群进行项目测试,能够使用的主机可能只有一台,那么如何构建一台单机的k8s集群?单机版的k8s集群可以用于本地测试,或者内部测试环境,或者个人电脑上的项目测试。那么我们可以使用all-in-one模式安装一个单机的k8s集群。原创 2022-11-01 00:52:02 · 375 阅读 · 0 评论 -
Kubernetes(31):kubeasz安装三主两从高可用集群
使用kubeadm或者二进制直接搭建k8s集群非常麻烦,如何简答而快速的搭建k8s高可用集群?原创 2022-10-31 23:52:52 · 526 阅读 · 0 评论 -
Kubernetes(30):为集群添加worker node节点
如何给k8s添加worker node?原创 2022-10-26 16:59:00 · 541 阅读 · 0 评论 -
The connection to the server localhost:8080 was refused - did you specify the right host or port?
【代码】The connection to the server localhost:8080 was refused - did you specify the right host or port?原创 2022-10-20 22:14:24 · 227 阅读 · 0 评论 -
k8s添加节点状态为NotReady
查看日志可以看到 cni config uninitialized,cni模块未初始化。原创 2022-10-20 18:45:18 · 439 阅读 · 0 评论 -
Kubernetes(29):Kubernetes Dashboard的使用
Kubernetes Dashboard如何使用?原创 2022-10-20 02:02:20 · 540 阅读 · 0 评论 -
Kubernetes(28):Kubernetes Dashboard的部署
在kubernetes中完成的所有操作都是通过命令工具kubectl完成的。其实,为了提供更丰富的用户体验,kubernetes还开发了一个基于web的用户界面(Dashboard)。用户可以使用Dashboard部署容器化的应用,还可以监控应用的状态,执行故障排查以及管理kubernetes中各种资源。原创 2022-10-20 01:05:27 · 370 阅读 · 0 评论 -
Kubernetes(27):安全认证
kubernetes 的安全认证机制。kubernetes作为一个分布式集群的管理工具,保证集群的安全性是其一个重要的任务。所谓的安全性其实就是保证对kubernetes的各种客户端进行认证和鉴权操作。客户端在kubernetes集群中,客户端通常有两类User Account:一般是独立于kubernetes之外的其他服务管理的用户账号Service Account: kubernetes管理的账号,用于为pod中的服务进程在访问kubernetes时提供身份标识。认证、授权与准入控制。原创 2022-10-20 00:35:14 · 208 阅读 · 0 评论 -
Kubernetes(26):配置存储-Secret
在kubernetes中,还存在一种和ConfigMap非常相似的对象,称为Secret对象。它主要用于存储敏感信息,例如密码、密钥、证书等。(3) 创建pod-secret.yaml,将上面创建的secret挂载进去。(2) 接下来编写secret.yaml,并创建secret。(1) 首先使用base64对数据进行编码。原创 2022-10-19 21:23:14 · 255 阅读 · 0 评论 -
Kubernetes(25):配置存储-configmap
存储配置信息。原创 2022-10-19 21:04:38 · 163 阅读 · 0 评论 -
Kubernetes(24):数据存储-高级存储PV和PVC
使用NFS提供存储,此时就要求用户会搭建NFS系统,并且会在yaml配置nfs。由于kubernetes支持的存储系统有很多,要求客户全都掌握,显然不现实。为了能够屏蔽底层存储实现的细节,方便用户使用,kubernetes引入了PV和PVC两种资源对象。PV(Persistent Volume) 是持久化卷的意思,是对底层的共享存储的一种抽象。一般情况下PV由kubernetes管理员进行创建和配置,它与具体的共享存储技术有关,并通过插件完成与共享存储的对接。原创 2022-10-19 17:25:33 · 465 阅读 · 0 评论 -
Kubernetes(23):数据存储-基本存储
容器的声明周期可能很短,会频繁地创建和销毁。那么容器在销毁时,保存在容器中的数据也会被清除。这种结果对于用户来说,在某些情况下是不可容忍的。为了持久化保存容器的数据,kubernetes引入了Volume的概念。Volume是Pod中能够被多个容器访问的共享目录,它被定义在Pod上,然后被一个Pod里的多个容器挂载到具体的文件目录下,kubernetes通过Volume实现同一个Pod中不同容器之间的数据共享以及数据的持久化存储。原创 2022-10-19 00:09:32 · 205 阅读 · 0 评论 -
Kubernetes(22):Ingress详解
NodePort方式的缺点是占用很多集群机器的端口,那么当集群服务变多的时候,这个缺点就会愈发明显LB方式的缺点是每个service需要一个LB,浪费、麻烦,并且需要kubernetes之外设备的支持。基于这种现状,kubernetes提供了Ingress资源对象,Ingress只需要一个NodePort或者一个LB就可以满足暴露多个service的需求。原创 2022-10-18 16:04:49 · 1457 阅读 · 2 评论 -
Kubernetes(21):Service详解
Kubernetes的流控负载组件:Service和Ingress。在kubenetes中,pod是应用程序的载体,我们可以通过pod的ip来访问应用程序,但是pod的ip地址不是固定的,这也就意味着不方便直接采用pod的ip对服务进行访问。为了解决这个问题,kubenetes提供了Service资源,Service会对提供同一个服务的多个pod进行聚合,并且提供一个统一的入口地址。通过访问Service的入口地址就能访问到后面的pod服务。原创 2022-10-18 01:01:29 · 832 阅读 · 0 评论 -
Kubernetes(20):Pod控制器CronJob(CJ)
CronJob控制器以Job控制器资源为其管控对象,并借助它股那里pod资源对象,Job控制器定义的作业在其控制器资源创建之后便立即执行,但CronJob可以以类似于linux操作系统的周期性任务作业计划的方式控制其运行时间点及重复运行的方式。也就是说,CronJob可以在特定的时间点(反复的)去运行Job任务。创建pc-cronjob.yaml。查看cronjob,job,pod。CronJob的资源清单文件。原创 2022-10-16 00:50:02 · 273 阅读 · 0 评论 -
Kubernetes(19):Pod控制器Job
如果指定为Never,则job会在pod出现故障时创建新的pod,并且故障pod不会消失,也不会重启,failed次数加1。如果指定为OnFailure,则job会在pod出现故障时重启容器,而不是创建pod,failed次数不变。如果指定为Always,就意味着一直重启,意味着job任务会重复执行了,所以不能设置为Always。Job,主要用于负责批量处理短暂的一次性任务。查看job和pod,注意先提前打开窗口查看。创建pc-job.yaml,内容如下。Job的资源清单文件。原创 2022-10-15 23:55:39 · 221 阅读 · 0 评论 -
Kubernetes(18):Pod控制器DaemonSet(DS)
DaemonSet类型的控制器可以保证集群中的每一台(或指定)节点都运行一个副本,一般适用于日志收集、节点监控等常见。也就是说,如果一个pod提供的功能是节点级别的(每个节点都需要且只需要一个),那么这类Pod就适合使用DaemonSet类型的控制器创建。node1和node2节点,事先对node2节点执行暂停调度,但是DS依然可以将pod部署到node2上面,DS可以无视cordon的暂停调度。同时执行drain驱逐pod,DS部署的pod依然可以无视驱逐,依然running在node2上面。原创 2022-10-15 01:29:49 · 1034 阅读 · 0 评论 -
Kubernetes(17):Pod控制器HPA
HPA可以获取每个pod利用率,然后和HPA中定义的指标进行对比,同时计算出需要伸缩的具体值,最后实现pod的数量的调整。其实HPA与之前的Deployment一样,也属于一种kubernetes资源对象,它通过追踪分析目标pod的负载变化情况,来确定是否针对性地调整目标pod的副本数。kubernetes期望可以通过监测Pod的使用情况,实现pod数量的自动化调整,于是就产生了HPA这种控制器。可以发现pod的数量在增加,最大到10,而当撤销压力测试后,等待一些时间pod数量又在减少了,慢慢减少到1。原创 2022-10-14 21:28:26 · 544 阅读 · 0 评论 -
Kubernetes(15):Pod控制器ReplicaSet和Deployment详解
pod控制器。原创 2022-10-14 15:29:37 · 1030 阅读 · 0 评论 -
Kubernetes(16):k8s金丝雀发布终止
金丝雀发布是什么,这里就不说了。我们肯定直到了金丝雀发布之后,有一个疑问,金丝雀发布后,中止,然后继续再完全发布。但是,此时发现了bug,怎么终止这次发布行动呢?我在网上找了许久,并没有找到如何取终止丝雀发布的内容。于是,靠自己摸索,记录这篇文章,补上如何终止金丝雀发布的操作。如何你还不知道或者不会金丝雀发布,建议先去学习相关知识。原创 2022-10-14 12:48:57 · 638 阅读 · 0 评论 -
Kubernetes(14):cordon暂停调度/uncordon恢复调度/drain驱逐
如果k8s集群某台node需要需要暂停服务怎么办?如何恢复?如何将pod调走?原创 2022-10-12 21:32:00 · 2149 阅读 · 0 评论 -
Kubernetes(13):Pod调度详解
Pod调度。原创 2022-10-12 18:18:38 · 553 阅读 · 0 评论 -
Kubernetes(12):Pod生命周期
pod的生命周期。原创 2022-10-11 18:57:14 · 756 阅读 · 0 评论 -
Kubernetes(11):Pod资源配额
容器中的程序要运行,肯定是要占用一定的资源的,比如cpu和内存等,如果不对某个容器的资源做限制,那么它肯定要消耗大量资源,导致其它容器无法运行。针对这种情况,kubernetes提供了对内存和cpu的资源进行配额的机制,这种机制主要通过resources选项实现,他有两个子选项。编写一个测试案例,创建pod-resources.yaml。可以通过上面两个选项设置资源的上下限。我们把内存调整为16G,看是否可以启动。很显然实际内存不够,不能够启动。原创 2022-10-11 15:02:14 · 156 阅读 · 0 评论 -
Kubernetes(10):Pod端口设置
访问容器中的程序需要使用的是podIp:containerPort。创建pod-ports.yaml文件,内容如下。ports支持的子选项。查看pod的详细信息。原创 2022-10-11 14:36:22 · 396 阅读 · 0 评论 -
Kubernetes(9):Pod环境变量
env 环境变量,用于在pod中的容器设置环境变量。创建pod-env.yaml文件,内容如下。原创 2022-10-11 14:13:55 · 631 阅读 · 0 评论 -
Kubernetes(8):Pod启动命令
while true;3 如果command没写,但args写了,那么Dockerfile中配置的ENTRYPOINT的命令会被执行,使用当前args的参数。在前面的案例中, 一直有一个问题没解决,就是busybox容器一直没有成功运行,那么到底是什么原因导致这个容器故障呢?4 如果command和args都写了,那么Dockerfile的配置被忽略,执行command并追加上args参数。2 如果command写了,但args没有写,那么Dockerfile默认的配置会被忽略,执行输入的command。原创 2022-10-11 13:08:10 · 1700 阅读 · 0 评论 -
Kubernetes(7):Pod镜像拉取策略
镜像拉取策略。原创 2022-10-11 12:43:45 · 163 阅读 · 0 评论 -
Kubernetes(6):Pod基本配置
Pid基本配置。原创 2022-10-11 12:25:47 · 722 阅读 · 0 评论 -
Kubernetes(5):Pod结构和定义
Pod解析下面是Pod的资源清单。原创 2022-10-11 11:58:31 · 113 阅读 · 0 评论 -
Kubernetes(4):实战入门
实战Kubernetes关于编写yaml文件,建议使用工具编写,避免对齐错误,网上工具供参考。原创 2022-10-11 01:25:34 · 225 阅读 · 0 评论 -
unknown field “name“ in io.k8s.api.core.v1.PodSpec
执行kubectl create -f xxx.yaml命令报错。原创 2022-10-11 00:33:32 · 3645 阅读 · 0 评论 -
Kubernetes(3):资源管理
什么是资源?资源管理是什么?创建/更新资源使用声明式对象配置kubectl apply -f xxx.yaml删除资源使用命令式对象配置 kubectl delete -f xxx.yaml查询资源使用命令式对象管理kubectl get/describe 资源名。原创 2022-10-09 16:38:47 · 139 阅读 · 0 评论 -
Kubernetes(2):k8s集群环境搭建
集群环境的搭建的全程。原创 2022-10-08 16:16:19 · 1194 阅读 · 1 评论 -
Kubernetes(1): kubernetes介绍
Kubernetes 是一个全新的基于容器技术的分布式架构方案,是谷歌严格保密十几年二点秘密武器—Borg系统的一个开源版本,于2014年9月发布第一个版本,2015年7月发布第一个正式版本。Kubernetes 本质是一组服务器集群,它可以在集群的每个节点上运行特定的程序,来对节点中的容器进行管理。它的目的就是实现资源管理的自动化,主要提供了如下的主要功能自我修复: 一旦某一容器崩溃,能够在1秒中左右迅速启动新的容器弹性伸缩: 可以根据需要,自动对集群中正在运行的容器数量进行调整。原创 2022-09-29 16:10:59 · 551 阅读 · 0 评论