随笔分类 - k8s
摘要:ReplicaSet 的介绍 ReplicaSet 的作用是维持在任何给定时间运行的一组稳定的副本 Pod。 通常,你会定义一个 Deployment,并用这个 Deployment 自动管理 ReplicaSet。 ReplicaSet 的目的是维护一组在任何时候都处于运行状态的 Pod 副本的稳
阅读全文
摘要:名称空间资源限制;对名称空间使用资源的总限额,不是单个pod [root@master pod]# cat ../nsrq.yaml apiVersion: v1 kind: ResourceQuota metadata: name: mem-cpu-quota namespace: test sp
阅读全文
摘要:Prometheus介绍 Prometheus是一个开源的系统监控和报警系统,现在已经加入到CNCF基金会,成为继k8s之后第二个在CNCF托管的项目,在kubernetes容器管理系统中,通常会搭配prometheus进行监控,同时也支持多种exporter采集数据,还支持pushgateway进
阅读全文
摘要:1.1 认证 认证基本介绍 kubernetes主要通过APIserver对外提供服务,那么就需要对访问apiserver的用户做认证,如果任何人都能访问apiserver,那么就可以随意在k8s集群部署资源,这是非常危险的,也容易被黑客攻击渗透,所以需要我们对访问k8s系统的apiserver的用
阅读全文
摘要:ResourceQuota准入控制器 ResourceQuota准入控制器是k8s上内置的准入控制器,默认该控制器是启用的状态,它主要作用是用来限制一个名称空间下的资源的使用,它能防止在一个名称空间下的pod被过多创建时,导致过多占用k8s资源,简单讲它是用来在名称空间级别限制用户的资源使用。 1、
阅读全文
摘要:环境初始化 yum install bash-completion vim ntpdate iptables lrzsz epel-release -y && exec bash systemctl stop firewalld systemctl disabled firewalld setenf
阅读全文
摘要:StatefulSet 由以下几个部分组成: 1. Headless Service:用来定义 pod 网路标识,生成可解析的 DNS 记录 2. volumeClaimTemplates:存储卷申请模板,创建 pvc,指定 pvc 名称大小,自动创建 pvc,且 pvc 由存储类供应。 3. St
阅读全文
摘要:1.storageclass(存储类)概念 storageclass是一个存储类,k8s集群管理员通过创建storageclass可以动态生成一个存储卷供k8s用户使用。 2.storageclass资源定义 每个StorageClass都包含字段provisioner,parameters和rec
阅读全文
摘要:k8s 对我们整个系统的认证,授权,访问控制做了精密的设置;对于 k8s 集群来说,apiserver 是整个集群访问控制的唯一入口,我们在 k8s 集群之上部署应用程序的时候,也可以通过宿主机的NodePort 暴露的端口访问里面的程序,用户访问 kubernetes 集群需要经历如下认证过程:认
阅读全文
摘要:污点和容忍度是相互匹配的关系,在node上定义一个污点,pod上定义容忍度,如果pod能容忍这个污点,就会被调度到拥有这个污点的节点上,不能容忍这个污点就不会调度到拥有这个污点的节点上,如果node节点上没有定义污点,那么任何pod都会调度到这个节点上 给节点添加污点 [root@master-1
阅读全文
摘要:DaemonSet 控制器:概念、原理解读 DaemonSet 控制器能够确保 k8s 集群所有的节点都运行一个相同的 pod 副本,当向k8s 集群中增加 node 节点时,这个 node 节点也会自动创建一个 pod 副本,当 node 节点从集群移除,这些 pod 也会自动删除;删除 Daem
阅读全文
摘要:在 k8s 中部署的应用都是以 pod 容器的形式运行的,假如我们部署 MySQL、Redis 等数据库,需要对这些数据库产生的数据做备份。因为 Pod 是有生命周期的,如果 pod 不挂载数据卷,那 pod 被删除或重启后这些数据会随之消失,如果想要长久的保留这些数据就要用到 pod 数据持久化存
阅读全文
摘要:Service概念: Kubernetes中的 Pod是有生命周期的,它们可以被创建,也可以被销毁,然而一旦被销毁pod生命就永远结束,这个pod就不存在了,通过ReplicaSets能够动态地创建和销毁Pod(例如,需要进行扩缩容,或者执行滚动升级),每个Pod都会获取它自己的 IP 地址,这些I
阅读全文
摘要:1.Replicaset概念 Kubernetes中的ReplicaSet主要的作用是维持一组Pod副本的运行,它的主要作用就是保证一定数量的 Pod 能够在集群中正常运行,它会持续监听这些 Pod 的运行状态,在 Pod 发生故障时重启pod,pod数量减少时重新运行新的 Pod 副本,因此,它通
阅读全文
摘要:容器探测详解 所谓容器探测就是我们在里面设置了一些探针,或者传感器来获取相应的数据用来判断容器存活与否或者就绪与否的标准; 目前k8s支持的存活性探测方式和就绪性探测方式都是一样的,探针类型有三种: ExecAction: TCPSocketAction: HTTPGetAction: 如果探针是针
阅读全文
摘要:pod的持久性 一般来说,用户不需要直接创建 Pod。他们几乎都是使用控制器进行创建,即使对于单例的 Pod 创建也一样使用控制器,例如Deployments控制器提供集群范围的自修复以及副本数和滚动管理。 像StatefulSet这样的控制器还可以提供支持有状态的Pod。 pod生命周期 同一个p
阅读全文
摘要:Pod是Kubernetes应用程序的最基本执行单元—是你创建或部署Kubernetes对象模型中的最小和最简单的单元。 Pod表示在集群上运行的进程。Pod封装了应用程序的容器(或者在某些情况下是多个容器)、存储资源、唯一的网络标识(IP地址)以及控制容器应该如何运行的选项。 Pod表示一个部署单
阅读全文
摘要:kubectl是操作k8s集群的命令行工具,安装在k8s的master节点,kubectl在$HOME/.kube目录中查找一个名为config的文件, 你可以通过设置Kubeconfig环境变量或设置--kubeconfig来指定其他的kubeconfig文件。kubectl通过与apiserve
阅读全文
摘要:部署coredns [root@master-1 ~]# cat coredns.yaml apiVersion: v1 kind: ServiceAccount metadata: name: coredns namespace: kube-system apiVersion: rbac.auth
阅读全文
摘要:创建证书请求文件 [root@master-1 work]# vim kube-proxy-csr.json { "CN": "system:kube-proxy", "key": { "algo": "rsa", "size": 2048 }, "names": [ { "C": "CN", "S
阅读全文