k8s
文章平均质量分 84
张一不二
喜欢摸鱼的懒癌晚期患者
展开
-
企业项目实战k8s篇(二十)持续集成与持续交付
持续集成与持续交付一.git工具使用1.git2.git命令使用3.上传gitee(网络仓库)4.gitlab代码仓库二.jenkins持续集成一.git工具使用1.gitGit特点:• 速度• 简单的设计• 对非线性开发模式的强力支持(允许成千上万个并行开发的分支)• 完全分布式• 有能力高效管理类似 Linux 内核一样的超大规模项目(速度和数据量)• 自诞生于 2005 年以来,Git 日臻成熟完善,在高度易用的同时,仍然保留着初期设定的目标。 它的速度飞快,极其适合管理大项目,有原创 2021-08-11 20:40:59 · 638 阅读 · 0 评论 -
企业项目实战k8s篇(十九)K8s高可用+负载均衡集群
K8s高可用+负载均衡集群一.K8s高可用+负载均衡集群概述二.K8s高可用集群部署1.pacemaker+haproxy的高可用+负载均衡部署2.k8s高可用集群部署一.K8s高可用+负载均衡集群概述配置高可用(HA)Kubernetes集群,有以下两种可选的etcd拓扑:集群master节点与etcd节点共存,etcd也运行在控制平面节点上使用外部etcd节点,etcd节点与master在不同节点上运行堆叠的etcd拓扑外部etcd拓扑二.K8s高可用集群部署使用5台虚拟机se原创 2021-08-07 16:49:34 · 1088 阅读 · 0 评论 -
普罗米修斯Prometheus安装
支持软件 go、Prometheus、grafana安装go环境[root@server9 ~]# tar -C /usr/local/ -xvf go1.8.3.linux-amd64.tar.gz 添加环境变量[root@server9 ~]# vim /etc/profileexport PATH=$PATH:/usr/local/go/bin[root@server9 ~]# source /etc/profile查看版本[root@server9 ~]# go versio原创 2021-08-06 22:38:59 · 186 阅读 · 0 评论 -
企业项目实战k8s篇(十八)Helm部署metrics-server
Helm部署metrics-server由于之前已经手动部署过metrics-server,所以不会再遇到初次部署时遇到的问题,具体前置操作可查看之前博客的操作企业项目实战k8s篇(十四)kubernetes资源监控拉取bitnami/metrics-server:0.5.0-debian-10-r59,修改tag并上传本地harbor[root@server3 ~]# docker pull bitnami/metrics-server:0.5.0-debian-10-r590.5.0-debi原创 2021-08-05 12:31:07 · 532 阅读 · 0 评论 -
企业项目实战k8s篇(十七)Helm部署nfs-client-provisioner
Helm部署nfs-client-provisioner预先配置好外部的NFS服务器共享目录路径 /mnt/nfs拉取nfs-provisioner-v4.0.2镜像,上传至harbor[root@server3 ~]# docker load -i nfs-provisioner-v4.0.2.tar 1a5ede0c966b: Loading layer [==================================================>] 3.052MB/3.0原创 2021-08-05 12:09:00 · 624 阅读 · 0 评论 -
企业项目实战k8s篇(十六)Helm部署使用及chart仓库搭建
Helm部署使用及chart仓库搭建一.helm概述二.helm安装部署1.helm安装2.helm部署应用补充:删除之前部署pvc三.chart仓库及应用发布1.应用创建2.本地chart仓库及push插件3.应用上传4.应用安装5.应用升级一.helm概述Helm是Kubernetes 应用的包管理工具,主要用来管理 Charts,类似Linux系统的yum。Helm Chart 是用来封装 Kubernetes 原生应用程序的一系列 YAML 文件。可以在你部署应用的时候自定义应用程序的一些 M原创 2021-08-05 11:22:33 · 1481 阅读 · 0 评论 -
企业项目实战k8s篇(十五)HPA(pod水平伸缩)实例
HPA实例一.HPA简介二.HPA实时调度pod(CPU)三.HPA实时调度pod(CPU+MEM)官网:https://kubernetes.io/zh/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough/一.HPA简介HAP,全称 Horizontal Pod Autoscaler, 可以基于 CPU 利用率自动扩缩 ReplicationController、Deployment 和 ReplicaSet 中的 Pod原创 2021-08-04 22:20:19 · 472 阅读 · 0 评论 -
企业项目实战k8s篇(十四)kubernetes资源监控
kubernetes资源监控一.Metrics-Server简介二.Metrics-Server部署三.图形工具Dashboard部署一.Metrics-Server简介Metrics-Server是集群核心监控数据的聚合器,用来替换之前的heapster。容器相关的 Metrics 主要来自于 kubelet 内置的 cAdvisor 服务,有了Metrics-Server之后,用户就可以通过标准的 Kubernetes API 来访问到这些监控数据。Metrics API 只可以查询当前的度量原创 2021-08-04 21:45:42 · 804 阅读 · 0 评论 -
企业项目实战k8s篇(十三)k8s容器资源限制
k8s容器资源限制一.k8s容器资源限制二.内存限制三.cpu限制四.namespace限制1.为namespace设置资源限制2.为namespace设置资源配额3. Namespace 配置Pod配额一.k8s容器资源限制Kubernetes采用request和limit两种限制类型来对资源进行分配。request(资源需求):即运行Pod的节点必须满足运行Pod的最基本需求才能运行Pod。limit(资源限额):即运行Pod期间,可能内存使用量会增加,那最多能使用多少内存,这就是资源限额。资原创 2021-08-04 20:45:45 · 1016 阅读 · 0 评论 -
企业项目实战k8s篇(十二)kubernetes控制
kubernetes控制一.访问控制原理二.serviceaccount三.UserAccount四.RBAC(Role Based Access Control)五.服务账户的自动化一.访问控制原理kubernetes API 访问控制Authentication(认证)认证方式现共有8种,可以启用一种或多种认证方式,只要有一种认证方式通过,就不再进行其它方式的认证。通常启用X509 Client Certs和Service Accout Tokens两种认证方式。Kubernetes集原创 2021-08-03 13:40:38 · 263 阅读 · 0 评论 -
企业项目实战k8s篇(十一)kubernetes调度
kubernetes调度一.kubernetes调度概述二.nodename节点选择约束三.nodeSelector节点选择约束四.亲和与反亲和1.节点亲和节点反亲和节点亲和2.pod亲和与反亲和pod亲和pod反亲和五.Taints(污点)1.Taints(污点)简介2.Nodename可以无视任何污点3.标签方式选择node4.容忍标签NoScheduleNoExecute5.cordon、drain、deletecordon 停止调度drain 驱逐节点delete 删除节点一.kubernetes原创 2021-08-01 16:33:48 · 332 阅读 · 0 评论 -
企业项目实战k8s篇(十)Volumes配置管理
Volumes配置管理一.Volumes概述二.emptyDir卷三.hostPath 卷1.查看pod调度节点是否创建相关目录2.nfs四.PersistentVolume持久卷1.PersistentVolume简介2.PersistentVolume原理使用释放回收访问模式回收策略状态3.NFS持久化存储部署(静态pv)一.Volumes概述容器中的文件在磁盘上是临时存放的,这给容器中运行的特殊应用程序带来一些问题。首先,当容器崩溃时,kubelet 将重新启动容器,容器中的文件将会丢失,因为原创 2021-07-30 22:48:31 · 339 阅读 · 0 评论 -
企业项目实战k8s篇(九)Secret配置管理
Secret配置管理一.Secret概述二.Service Account三.Opaque Secret四.secret应用1.创建secret2.将Secret挂载到Volume中3.向指定路径映射 secret 密钥4.将Secret设置为环境变量五.docker registry一.Secret概述Secret 对象类型用来保存敏感信息,例如密码、OAuth 令牌和 ssh key。敏感信息放在 secret 中比放在 Pod 的定义或者容器镜像中来说更加安全和灵活。Pod 可以用两种方式使用原创 2021-07-30 21:54:00 · 196 阅读 · 0 评论 -
企业项目实战k8s篇(八)ConfigMap配置管理
ConfigMap配置管理一.ConfigMap简介二.ConfigMap创建1.使用字面值创建2.文件创建3.使用目录创建4.编写configmap的yaml文件三.ConfigMap使用1.通过环境变量的方式直接传递给pod2.通过在pod的命令行下运行的方式3.作为volume的方式挂载到pod内一.ConfigMap简介Configmap用于保存配置数据,以键值对形式存储。configMap 资源提供了向 Pod 注入配置数据的方法。旨在让镜像和配置文件解耦,以便实现镜像的可移植性和可复用性原创 2021-07-30 20:56:53 · 229 阅读 · 0 评论 -
企业项目实战k8s篇(七)Ingress服务
Ingress服务一.Ingress服务简介二.ingress部署三.域名访问+ingeress-nginx一.Ingress服务简介一种全局的、为了代理不同后端 Service 而设置的负载均衡服务,就是 Kubernetes 里的Ingress 服务。Ingress由两部分组成:Ingress controller和Ingress服务。Ingress Controller 会根据你定义的 Ingress 对象,提供对应的代理能力。业界常用的各种反向代理项目,比如 Nginx、HAPr原创 2021-07-29 12:12:26 · 1501 阅读 · 0 评论 -
企业项目实战k8s篇(六)k8s网络通信(flannel、calico)
三.vxlan模式k8s通过CNI接口接入其他插件来实现网络通讯。目前比较流行的插件有flannel,calico等。CNI插件存放位置:# cat /etc/cni/net.d/10-flannel.conflist插件使用的解决方案如下:虚拟网桥,虚拟网卡,多个容器共用一个虚拟网卡进行通信。多路复用:MacVLAN,多个容器共用一个物理网卡进行通信。硬件交换:SR-LOV,一个物理网卡可以虚拟出多个接口,这个性能最好。容器间通信:同一个pod内的多个容器间的通信,通过lo即可实现;原创 2021-07-28 22:46:53 · 708 阅读 · 0 评论 -
企业项目实战k8s篇(五)service
service一.service简述二.ipvs模式一.service简述Service可以看作是一组提供相同服务的Pod对外的访问接口。借助Service,应用可以方便地实现服务发现和负载均衡。service默认只支持4层负载均衡能力,没有7层功能。(可以通过Ingress实现)service的类型:ClusterIP:默认值,k8s系统给service自动分配的虚拟IP,只能在集群内部访问。NodePort:将Service通过指定的Node上的端口暴露给外部,访问任意一个NodeIP:原创 2021-07-27 22:47:42 · 793 阅读 · 0 评论 -
企业项目实战k8s篇(四)k8s控制器
k8s控制器一.控制器分类二.Replication Controller和ReplicaSet三.Deployment四.DaemonSet五.StatefulSet六.Job七.HPA一.控制器分类Pod 的分类:自主式 Pod:Pod 退出后不会被创建控制器管理的 Pod:在控制器的生命周期里,始终要维持 Pod 的副本数目控制器类型:Replication Controller和ReplicaSetDeploymentDaemonSetStatefulSetJobCron原创 2021-07-27 22:36:32 · 270 阅读 · 1 评论 -
企业项目实战k8s篇(三)pod生命周期
pod生命周期一.init容器(初始化容器)1.init容器简介2.init初始化二.探针1.探针概述2.livenessProbe存活探针3.readinessProbe就绪探针一.init容器(初始化容器)1.init容器简介Pod 可以包含多个容器,应用运行在这些容器里面,同时 Pod 也可以有一个或多个先于应用容器启动的 Init 容器。Init容器与普通的容器非常像,除了如下两点:它们总是运行到完成。Init 容器不支持 Readiness,因为它们必须在 Pod 就绪之前运行完成原创 2021-07-27 22:11:48 · 550 阅读 · 0 评论 -
企业项目实战k8s篇(二)pod管理与资源清单
pod管理与资源清单一.pod管理1.pod简介2.pod常用操作二.资源清单一.pod管理1.pod简介Pod是可以创建和管理Kubernetes计算的最小可部署单元,一个Pod代表着集群中运行的一个进程,每个pod都有一个唯一的ip。一个pod类似一个豌豆荚,包含一个或多个容器(通常是docker),多个容器间共享IPC、Network和UTC namespace。2.pod常用操作查看namespaces,default为默认kubectl get namespaces创建de原创 2021-07-27 20:53:47 · 338 阅读 · 0 评论 -
企业项目实战k8s篇(一)k8s集群部署
k8s集群部署一.k8s简介二.k8s部署一.k8s简介Kubernetes主要由以下几个核心组件组成:etcd:保存了整个集群的状态apiserver:提供了资源操作的唯一入口,并提供认证、授权、访问控制、API注册和发现等机制controller manager:负责维护集群的状态,比如故障检测、自动扩展、滚动更新等scheduler:负责资源的调度,按照预定的调度策略将Pod调度到相应的机器上kubelet:负责维护容器的生命周期,同时也负责Volume(CVI)和网络(CNI)的管理原创 2021-07-25 15:28:30 · 1913 阅读 · 3 评论