随笔分类 - Kubernetes
摘要:随着containerd应用越来越广泛,我们必须紧跟官网的节奏。 之前配置https私有镜像仓库的方法比较繁琐,并且不易梳理,下边介绍一下目前最新的配置方法。 配置https私有镜像仓库 我假设你现在已经有私有仓库并且是https 再假设你的harbor域名是harbor.example.cn 你只
阅读全文
摘要:k8s中为什么要用CPU Manager? 默认情况下,kubelet 使用CFS配额来执行 Pod 的 CPU 约束。Kubernetes的Node节点会运行多个Pod,其中会有部分的Pod属于CPU密集型的工作负载。在这种情况下,Pod之间会争抢节点的CPU资源。当争抢剧烈的时候,Pod会在不同
阅读全文
摘要:GlusterFS在Kubernetes中的应用 GlusterFS服务简介 GlusterFS是一个可扩展,分布式文件系统,集成来自多台服务器上的磁盘存储资源到单一全局命名空间,以提供共享文件存储。 特点: 可以扩展到几PB容量 支持处理数千个客户端 兼容POSIX接口 使用通用硬件,普通服务器即
阅读全文
摘要:关于hostPath的权限说明 最近项目中经常遇到pod中container挂载主机hostPath报错无权限问题: httpd@hostpath-volume:/test-volume$ touch 123 touch: cannot touch '123': Permission denied
阅读全文
摘要:为什么要驱逐pod? 在可用计算资源较少时,kubelet为保证节点稳定性,会主动地结束一个或多个pod以回收短缺地资源,这在处理内存和磁盘这种不可压缩资源时,驱逐pod回收资源的策略,显得尤为重要。 可压缩资源 —— cpu,可压缩资源不会导致pod驱逐,因为在资源紧缺时系统内核会重新分配权重 不
阅读全文
摘要:etcd集群搭建 环境介绍 基于CentOS Linux release 7.9.2009 (Core) iphostnamerole 172.17.0.4 cd782d0a790b etcd1 172.17.0.3 83d43a1203f6 etcd2 172.17.0.2 99dac45f202
阅读全文
摘要:kubespray安装高可用k8s集群 环境介绍 系统环境主机名 / IP地址角色内核版本 CentOS 7.6.1810 master1 / 192.168.181.252 master && node 5.4 CentOS 7.6.1810 master2 / 192.168.181.253 m
阅读全文
摘要:Flannel和Calico网络插件对比 Calico简介 Calico是一个纯三层的网络插件,calico的bgp模式类似于flannel的host-gw Calico方便集成 OpenStack这种 IaaS云架构,为openstack虚拟机、容器、裸机提供多主机间通信。 calico 架构 c
阅读全文
摘要:高可用Harbor搭建 思路及介绍 Harbor官方有推出主从架构和双主架构来实现Harbor的高可用及数据备份。 一、主从架构: 说白了,就是往一台Harbor仓库中push镜像,然后再通过这台Harbor分散下发至所有的从Harbor,类似下图: 这个方法保证了数据的冗余性,但是仍然解决不了Ha
阅读全文
摘要:Kubernetes证书使用年限修改方法 Kubernetes的apiservice.crt证书默认只有一年的使用期限,查看方法: cd /etc/kubernetes/pki [root@Centos8 pki]# openssl x509 -in apiserver.crt -text -noo
阅读全文
摘要:日志聚合分析系统——Loki 什么是Loki? Loki 是 Grafana Labs 团队最新的开源项目,是一个水平可扩展,高可用性,多租户的日志聚合系统。它的设计非常经济高效且易于操作,因为它不会为日志内容编制索引,而是为每个日志流编制一组标签,专门为 Prometheus 和 Kubernet
阅读全文
摘要:Prometheus-operator集群监控 github地址:https://github.com/prometheus-operator/kube-prometheus 具体的Prometheus是什么,为什么要用,什么时候用,还请移步本人其他随笔详细查看:https://www.cnblog
阅读全文
摘要:Helm安装Dashboard 简介 Dashboard 是 kubernetes 的图形化管理工具,可直观的看到k8s中各个类型控制器的当前运行情况,以及Pod的日志,另外也可直接在 dashboard 中对已有的资源进行资源清单的修改。 安装 注意:前提是已经安装好helm工具,如未安装还可请参
阅读全文
摘要:Kubernets包管理工具—>Helm 什么是Helm? 我们都知道,Linux系统各发行版都有自己的包管理工具,比如Centos的YUM,再如Ubuntu的APT。 Kubernetes也有自己的集群包管理工具,那就是Helm。 Helm本质就是让K8S的应用管理(Deployment,Serv
阅读全文
摘要:一、ServiceAccount 1.ServiceAccount 介绍 首先Kubernetes中账户区分为:User Accounts(用户账户) 和 Service Accounts(服务账户) 两种,它们的设计及用途如下: UserAccount是给kubernetes集群外部用户使用的,例
阅读全文
摘要:Kubernetes Pod调度说明 简介 Scheduler 是 Kubernetes 的调度器,主要任务是把定义的Pod分配到集群的节点上,听起来非常简单,但要考虑需要方面的问题: 公平:如何保证每个节点都能被分配到资源 资源高效利用:集群所有资源最大化被使用 效率:调度性能要好,能够尽快的对大
阅读全文
摘要:PV、PVC简介 PersistentVolume(PV) 是由管理员设置的存储,它是集群的一部分,就像节点是集群中的资源一样,PV也是集群中的资源、PV是Volume之类的卷插件,但具有独立于使用PV的Pod的生命周期,此API对象包含存储实现的细节,即NFS、iSCSI或特定于云供应商的存储系统
阅读全文
摘要:Volume介绍 Volume存在的意义 容器磁盘上的文件的生命周期是短暂的,这就使得在容器中运行重要应用时会出现一些问题,首先,当容器崩溃时,kubelet会重启它,但是容器中的文件将丢失——容器以干净的状态(镜像最初的状态)重新启动。其次,在Pod中运行多个容器时,这些容器之间通常需要共享文件。
阅读全文
摘要:Secret介绍 Secret存在的意义 Secret解决了密码、token、密钥等敏感数据的配置问题,而不需要把这些敏感数据暴露到镜像或者Pod Spec中,可以以Volume或者环境变量的方式使用 Secret有三种类型 Service Account:用来访问Kubernetes API,由K
阅读全文
摘要:ConfigMap存在的意义 ConfigMap 功能在 Kubernetes1.2版本引入,许多应用程序会从配置文件、命令行参数或环境变量中读取配置信息,ConfigMap API 给我们提供了向容器中注入配置信息的机制,ConfigMap 可以用来保存单个属性,也可以用来保存整个配置文件或者JS
阅读全文