![](https://img-blog.csdnimg.cn/20201208205258167.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Kubernetes
文章平均质量分 71
Kubernetes
Jaaavvvaaa
这个作者很懒,什么都没留下…
展开
-
十七、kubernetes 高可用集群搭建 v1.19
1、概述Kubernetes 作为容器集群系统,通过健康检查+重启策略实现了 Pod 故障自我修复能力, 通过调度算法实现将 Pod 分布式部署,监控其预期副本数,并根据 Node 失效状态自动在正 常 Node 启动 Pod,实现了应用层的高可用性。针对 Kubernetes 集群,高可用性还应包含以下两个层面的考虑:Etcd 数据库的高可用性 和 Kubernetes Master 组件的高可用性。 而 Etcd 我们已经采用 3 个节点组建集群实现高 可用,本节将对 Master 节点高可用进行说原创 2021-05-27 17:47:10 · 672 阅读 · 1 评论 -
十六、kubernetes-部署性能监控平台
1. 概述开源软件 cAdvisor(Container Advisor)用于监控所在节点的容器运行状态,当前已经 被默认集成到 kubelet 组件内,默认使用 tcp 4194 端口。在大规模容器集群,一般使用 prometheus+Granfana 平台实现集群性能数据的采集,存储与展示。2. 监控平台搭建方案prometheus+Granfanaprometheus:一套开源可以做到监控、报警、数据库以http协议周期性抓取被监控的组件的状态。不需要复杂的集成过程,使用http接口接入就可以原创 2021-05-22 16:20:38 · 341 阅读 · 0 评论 -
十五、kubernetes 核心技术-Helm
helm引入之前方式部署应用基本过程使用helm可以解决哪些问题?使用helm可以把这些yaml作为一个整体管理实现yaml高效复用使用helm应用级别的版本管理Helm介绍Helm是一个Kubernetes的包管理工具,就像Linux中的yum/apt等,可以很方便的将之前打包好的yaml文件部署到kubernetes上Helm三个重要概念helm:是一个命令行客户端工具Chart:把yaml打包,yaml集合Release:基于chart部署实体,应用级别的版本管理原创 2021-05-22 16:07:11 · 373 阅读 · 0 评论 -
十四、kubernetes 核心技术-Ingress
1. Ingress 介绍Ingress能把Service(Kubernetes的服务)配置成外网能够访问的URL,流量负载均衡,终止SSL,提供于域名访问的虚拟主机等,用户通过访问URL(API资源服务的形式,例如:caas.one/kibana)进入和请求Service,一个Ingress控制器负责处理所有Ingress的请求流量,它通常是一个负载均衡器,它也可以设置在边界路由器上,或者由额外的前端来帮助处理HA方式的流量。Kubernetes暴露服务的方式目前只有三种:1.LoadBlanc原创 2021-05-22 16:03:52 · 1206 阅读 · 1 评论 -
十三、kubernetes 核心技术Service
1. service存在意义Service是Kubernetes里最核心的资源对象之一,Service定义了一个服务的访问入口地址,前端的应用(Pod)通过这个入口地址访问其背后的一组由Pod副本组成的集群实力。 Service与其后端Pod副本集群之间则是通过Label Selector来实现"无缝对接"。而RC的作用实际上是保证Service 的服务能力和服务质量处于预期的标准。防止Pod失联(服务发现)定义一组Pod访问策略(负载均衡)2. Pod和Service关系(虚拟I原创 2021-05-22 15:57:28 · 258 阅读 · 0 评论 -
十二、kubernetes 核心技术configMap
1. ConfigMap 介绍在Kubernetes 1.2中新添加了功能ConfigMap,主要功能是为了解决应用程序会从配置文件、环境变量中获取配置信息。注意: ConfigMap不是属性配置文件的代替品,ConfigMap只是作为多个properties文件的引用。场景: 配置文件2. ConfigMap 项目演示(配置文件)configmap主要还是方便处理非敏感的数据,比如注册中心地址、数据库地址、nginx地址等。像密码之类需要加密的还是需要使用secrets来进行管理下方y原创 2021-05-22 15:52:07 · 148 阅读 · 0 评论 -
十一、kubernetes 核心技术-Secret
1. Secret 存在意义Secret 解决了密码、token、密钥等敏感数据的配置问题,而不需要把这些敏感数据暴露 到镜像或者 Pod Spec 中。Secret 可以以 Volume 或者环境变量的方式使用2. Secret 有三种类型Service Account :用来访问 Kubernetes API,由 Kubernetes 自动创建,并且会自动挂 载到Pod的/run/secrets/kubernetes.io/serviceaccount 目录中Opaque : base6原创 2021-05-22 15:49:42 · 197 阅读 · 0 评论 -
十、kubernetes Job和CronJob
1、首先介绍一下job和cronjob在Kubernetes集群提供了Job和CronJob两种资源对象Job负责处理任务,即仅执行一次的任务,它保障批处理任务的一个或多个Pod成功结束CronJob则就是在Job上加上了时间调度1、Job演示# 这里使用job资源对象创建一个任务,用于倒计时apiVersion: batch/v1kind: Jobmetadata: name: job-demospec: template: metadata: name:原创 2021-05-16 23:56:50 · 241 阅读 · 0 评论 -
九、kubernetes 核心技术-DaemonSet(守护进程)
1、 DaemonSet特点在每个node上运行一个Pod,新加入的node也同2、适用场景集群存储守护程序,如glusterd、ceph要部署在每个节点上提供持久性存储节点监视守护进程,如prometheus监控集群,可以在每个节点上运行一个node-exporter进程来收集监控节点的信息日志收集守护程序,如fluentd或logstash,在每个节点运行容器3、DaemonSet Pods调度特性默认情况下,Pod被分配到具体哪一台Node节点运行是由Scheduler (它通过监听原创 2021-05-16 23:54:31 · 236 阅读 · 0 评论 -
八、kubernetes 核心技术-Controller(StatefulSet)
1、无状态和有状态区别无状态:认为Pod都是一样的部署没有顺序要求不用考虑在哪个node运行随意进行伸缩和扩展(StatefulSet)有状态:无状态的因素有需要考虑到让每个Pod独立,保持Pod启动顺序和唯一性唯一的网络标识符,持久存续有序部署,比如Mysql主从2、 部署有状态应用无头ServiceClusterIP: none(1) 实例演示apiVersion: v1kind: Servicemetadata: name: web01原创 2021-05-16 23:52:26 · 190 阅读 · 0 评论 -
七、 kubernetes 核心技术-PVC 和 PV
数据卷emptydir,是本地存储,Pod重启,数据不存在了,需要对数据持久化存储1、基本概念管理存储是管理计算的一个明显问题。该 PersistentVolume 子系统为用户和管理员提供了 一个 API,用于抽象如何根据消费方式提供存储的详细信息。为此,我们引入了两个新的 API 资源:PersistentVolume 和 PersistentVolumeClaimPersistentVolume(PV):持久化存储,存储资源进行抽象,对外提供可以调用的地方(生产者)。 此 API 对象捕获存储实原创 2021-05-16 23:45:06 · 170 阅读 · 0 评论 -
六、kubernetes 核心技术-Controller(Deployment)
1、Deployment控制器应用场景部署无状态应用管理Pod和ReplicaSet部署,滚动升级弹性伸缩等功能2、Deployment控制器部署应用2.1 应用部署(1) 导出yaml文件kubectl create deployment web01 --image=nginx --dry-run -o yaml > web01.yaml (2) 使用yaml部署应用kubectl apply -f web01.yaml(3) 查看容器是否为runningkubect原创 2021-05-16 23:38:37 · 199 阅读 · 0 评论 -
五、kubernetes 核心技术-Controller 控制器介绍
1、Replication ControllerReplication Controller(RC)是 Kubernetes 系统中核心概念之一,当我们定义了一个 RC 并提交到 Kubernetes 集群中以后,Master 节点上的 Controller Manager 组件就得到通知, 定期检查系统中存活的 Pod,并确保目标 Pod 实例的数量刚好等于 RC 的预期值,如果有过 多或过少的 Pod 运行,系统就会停掉或创建一些 Pod.此外我们也可以通过修改 RC 的副本 数量,来实现 Pod 的原创 2021-05-16 23:29:51 · 268 阅读 · 0 评论 -
四、kubernetes 核心技术-Pod
1、Pod 概述最小部署的单元包含多个容器(一组容器的集合)一个pod中的容器共享网络命名空间pod是短暂的2、Pod 特性(1)资源共享一个 Pod 里的多个容器可以共享存储和网络,可以看作一个逻辑的主机。共享的如 namespace,cgroups 或者其他的隔离资源。多个容器共享同一 network namespace,由此在一个 Pod 里的多个容器共享 Pod 的 IP 和 端口 namespace,所以一个 Pod 内的多个容器之间可以通过 localhost 来进行通信,所原创 2021-05-16 23:24:39 · 261 阅读 · 0 评论 -
三、kubernetes 集群 YAML 文件详解
1. 简单说明是一个可读性高,用来表大数据列的格式。Yaml的意思其实是:仍是一种标记语言,但是为了强调这种语言以数据为中心。而不是以标记语言为重点。2. 基本语法缩进时不允许使用Tab键,只允许使用空格缩进时空格数目不重要,只要相同层级的元素左侧对齐即可#标识注释,从这个字节一直到行尾,都会被解释器忽略使用—表示新的yaml文件开始3. YAML支持的数据结构对象:键值对的集合,又称为映射(mapping)、哈希(hashes)/字典(dictionary)数组:一组按次序排列原创 2021-05-16 22:52:39 · 863 阅读 · 0 评论 -
二、kubernetes 集群搭建v1.18(kubeadm 方式)
1. 准备环境本次部署采用Centos 7.9系统,cpu最小>2核主机名IPmemk8s-master01192.168.10.33Gk8s-node01192.168.10.44Gk8s-node02192.168.10.54G1.1 修改hostname主机名并添加hosts解析hostnamectl set-hostname k8s-master01hostnamectl set-hostname k8s-node01hostnam原创 2021-05-16 22:45:24 · 279 阅读 · 1 评论 -
一、kubernetes 概念
1. k8s 概述k8s是谷歌在2014年开业的容器集群化管理系统使用k8s进行容器应用部署使用k8s利用应用扩展k8s目标实施让部署容器化应用更加简洁和高效2. k8s 特性自动装箱基于容器对应用环境的资源配置要求自动部署应用容器自我修复(自愈修复)水平扩展(弹性伸缩)服务发现滚动升级版本回退密钥和配置管理存储编排批处理3. k8s集群架构组件master组件apiserver:集群统一入口,以restful方式,交给etcd存储seheduler原创 2021-05-16 22:18:33 · 146 阅读 · 0 评论 -
Kubernetes 解决Terminating 状态的pod无法删除问题
解决Kubernetes Terminating 状态的pod无法删除问题解决办法 添加 –grace-period=0 --force 强制删除参数强制删除kubectl -n test delete pod <podName> –grace-period=0 --force**原创 2020-12-27 23:24:13 · 779 阅读 · 0 评论 -
Kubernetes nginx-ingress 上传文件大小限制问题
Kubernetes nginx-ingress 上传文件大小限制问题解决方法 在 pod Ingress YAML 中加入 nginx.org/client-max-body-size: "20m" 即可解决 此方法只在kuboard中亲测过。kind: Ingressmetadata: annotations: nginx.org/client-max-body-size: "4096m" ##设置最大上传4096M...原创 2020-12-27 23:17:14 · 1600 阅读 · 1 评论 -
Kubernetes之scert-manager证书控制器(证书自动颁发)
cert-manager证书控制器cert-manager作为一系列部署资源在Kubernetes集群中运行。它 CustomResourceDefinitions 用于配置证书颁发机构和请求证书。它使用常规的YAML清单进行部署,就像Kubernetes上的任何其他应用程序一样。部署证书管理器后,您必须配置Issuer或ClusterIssuer 代表证书颁发机构的资源。有关配置不同Issuer类型的更多信息,请参见各自的配置指南。注意:从cert-managerv0.14.0开始,Kubern原创 2020-12-14 23:21:19 · 1174 阅读 · 0 评论 -
K8S YAML详细解释
目录1.glusterfs.yaml1.1 endpoint. yaml1.2 glusterfs server. yaml2.PV.yaml3.PVC.yaml4.Deployment.yaml5.Pod.yaml6.Service.yaml1.glusterfs.yaml1.1 endpoint. yamlapiVersion: v1kind: Endpointsmetadata: ------------------------------------#元数据 name: gluster原创 2020-07-28 21:28:10 · 9088 阅读 · 1 评论 -
kubectl命令: 无法使用tab 键补全命令
使用kubeadm 安装K8S 集群后 发现使用kubectl无法使用tab 键补全命令解决方法:k8s 命令自动补全yum install -y bash-completionvim root/.bash_profilesource /usr/share/bash-completion/bash_completionsource <(kubectl completion bash)echo "source <(kubectl completion bash)" >>原创 2020-08-16 21:35:04 · 1165 阅读 · 0 评论 -
Kubernetes之kuboard仪表板服务安装 (二)
前提安装 Kuboard 时,假设您已经有一个 Kubernetes 集群,以下任何形式安装的集群都可以:kubeadm 安装(或者基于 kubeadm 的衍生工具,如 Sealos 等);二进制安装;阿里云、腾讯云等公有云托管集群;其他。兼容性Kubernetes 版本Kuboard 版本兼容性说明v1.19v2.0.x????已验证v1.18v1.0.x, v2.0.x????已验证v1.17v1.0.x, v2.0.x????已验原创 2020-11-04 10:59:59 · 525 阅读 · 0 评论 -
Kubernetes高可用集群V1.19.2安装 (一)
安装Kubernetes高可用V1.19.2本文将介绍k8s集群中安装多个master节点。配置要求对于 Kubernetes 初学者,在搭建K8S集群时,推荐在阿里云或腾讯云采购如下配置:(您也可以使用自己的虚拟机、私有云等您最容易获得的 Linux 环境)至少2台 2核4G 的服务器Cent OS 7.6 / 7.7 / 7.8安装后的软件版本为Kubernetes v1.19.2calico 3.13.1nginx-ingress 1.5.5Docker 19.03.1原创 2020-11-03 17:14:38 · 674 阅读 · 0 评论 -
Kubernetes 私有集群 LoadBalancer 解决方案
Kubernetes 私有集群 LoadBalancer 解决方案前言一般在机房或者云上使用ECS自建Kubernetes集群是无法使用 LoadBalancer 类型的 Service 。因为 Kubernetes 本身没有为裸机群集提供网络负载均衡器的实现。自建的 Kubernetes 集群暴露让外网访问,目前只能使用 NodePort 或 Ingress 等的方法进行服务暴露。NodePort 缺点是每个暴露的服务需要占用所有节点的某个端口。Ingress 是一个不错的解方法。有没有方法,让自原创 2020-10-13 17:41:12 · 2288 阅读 · 0 评论 -
k8s容器编排 (旧版)
k8s容器编排文章目录k8s容器编排1:k8s集群的安装1.1 k8s的架构1.2:修改IP地址、主机和host解析1.3:master节点安装etcd1.4:master节点安装kubernetes1.5:node节点安装kubernetes6:所有节点配置flannel网络7:配置master为镜像仓库2:什么是k8s,k8s有什么功能?2.1 k8s的核心功能2.2 k8s的历史2.3 k8s的安装2.4 k8s的应用场景3:k8s常用的资源3.1 创建pod资源3.2 ReplicationCon原创 2020-07-09 17:25:20 · 7568 阅读 · 0 评论