
容器
文章平均质量分 85
文静小土豆
一步一个脚印!!!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
K8S 集群部署NFS共享存储
K8S 集群部署NFS共享存储。原创 2025-03-07 10:37:19 · 479 阅读 · 0 评论 -
容器 部署和 裸机 部署 Jenkins
本次所有操作都是在K8S 1.26.14 上面操作,安装方法使用K8S包管理工具(Helm)。Helm安装方法,直接安装最新版就可以,我这个可能稍微有点老了。Ceph 存储部署方法这个可能也有点老了,测试环境直接部署最新版本即可。Jenkins 官网:https://www.jenkins.io本次安装完以后就是就是Jenkins+slave模式,不需要配置。镜像下载不下来的私信我。原创 2024-12-13 10:18:47 · 997 阅读 · 0 评论 -
K8S集群部署Gitlab代码仓库
本次所有操作都是在K8S 1.26.14 上面操作。gitlab 安装包全部采用官方安装教程,需要用到的组件安装方法如下。ingress 控制器安装方法点击跳转ceph 存储安装方法点击跳转Helm 包管理工具安装方法点击跳转,这个估计是有最先版本,看自己需要就行。gitlab 官网点击跳转Gitlab 安装的是当前的最新版本 17.3.1。原创 2024-10-28 08:31:26 · 987 阅读 · 0 评论 -
Helm Chart文件介绍
Helm是Kubernetes的包管理器,类似于Ubuntu中的apt、CentOS中的yum或Python中的pip,可以快速查找、下载和安装软件包。Helm主要由客户端组件helm和服务端组件Tiller组成,能够将一组Kubernetes资源打包统一管理,是查找、共享和使用为Kubernetes构建的软件的最佳方式。原创 2024-10-28 08:30:52 · 433 阅读 · 0 评论 -
k8s1.27.2 kubeadm 高可用安装
某些情况下, 将 kubelet 和容器运行时配置为使用 cgroupfs、但为剩余的进程使用 systemd 的那些节点将在资源压力增大时变得不稳定。一台兼容的 Linux 主机。下载地址:https://github.com/projectcalico/calico/blob/v3.26.0/manifests/calico-etcd.yaml。下载地址:https://github.com/kubernetes-sigs/cri-tools/blob/master/docs/crictl.md。原创 2023-06-20 15:48:34 · 1863 阅读 · 0 评论 -
K8S Ingress 常用配置
本次所有操作都是在K8S 1.26.14 上面操作,太老的版本不知道会不会有问题。更多 Ingress 配置请查看ingress-nginx 官网定义服务托管页面后段程序(为了演示使用 nginx 部署)。部署自定义页面 配置文件。原创 2024-08-08 11:12:59 · 2268 阅读 · 0 评论 -
K8S 部署peometheus + grafana 监控
举例:以 grafana-networkPolicy.yaml 配置文件为例(ingress-nginx 方式暴露服务,所以添加ingress-nginx 命名空间的pod允许访问Grafana即可。默认这个是没有持久化存储的并且prometheus 监控数据只能保存24小时,下面这个是我修改过的,修改监控数据保存时间,添加动态存储。修改 Grafana yaml 文件 添加存储,默认的配置是没有存储的。正常按照默认的部署是不能访问这个监控的,需要修改配置,内核版本为 6.3.5-1.el7。原创 2024-07-22 10:41:01 · 1112 阅读 · 0 评论 -
K8S 部署 EFK 并设置中文
如果能打开这个网址的话直接用这个命令安装,打不开的话可能需要挂梯子。安装operator 和 RBAC 规则安装好以后查看。原创 2024-07-05 16:29:31 · 1456 阅读 · 3 评论 -
K8S 资源请求限制
metadata:name: high # name: 资源对象的名称,这里是 high,表示这个 PriorityClass 的名称。description: High priority # 描述信息value: 1000000 # value: 优先级的值,这个值越高,优先级越高。这里设置为 1000000,表示较高的优先级。globalDefault: false # globalDefault: 是否将这个 PriorityClass 设置为默认的全局优先级。原创 2024-05-20 10:53:07 · 1077 阅读 · 0 评论 -
Harbor容器化部署
K8S版本为v1.26.6Helm 版本:v3.12.1harbor版本:2.10.2。原创 2024-05-20 10:51:34 · 511 阅读 · 0 评论 -
K8S RBAC 鉴权
pods: Pod 是 Kubernetes 中最小的可部署对象,代表集群中的一个运行中的应用程序实例。services: Service 定义了一组Pod的逻辑集合以及访问这些Pod的策略,通常用于创建应用程序的网络端点。nodes: Node 是 Kubernetes 集群中的一个工作节点,可以是虚拟机或物理机器。namespaces: Namespace 是 Kubernetes 中用于多租户的虚拟集群的一种方式。原创 2024-05-07 16:16:57 · 1382 阅读 · 0 评论 -
K8S RBAC 命令行创建
【代码】K8S RBAC 命令行创建。原创 2024-05-07 16:04:19 · 641 阅读 · 0 评论 -
K8S 调试运行中报错的 Pod
这里就不再展示了,太长了。原创 2024-04-26 13:35:57 · 1093 阅读 · 0 评论 -
K8S Service 常见问题
如果 ENDPOINTS 列的值为 ,则应检查 Service 的 spec.selector 字段, 以及你实际想选择的 Pod 的 metadata.labels 的值。对于每个 Pod 末端,在那个 KUBE-SVC- 链中应该有一些规则与之对应,还应该 有一个 KUBE-SEP- 链与之对应,其中包含为数不多的几条规则。如果你的集群不使用 kube-proxy,则以下各节将不适用,你将必须检查你正在使用的 Service 的实现方式。我的是 ipvs 模式 这个事我在别的地方粘贴的。原创 2024-04-25 15:06:30 · 1175 阅读 · 1 评论 -
K8S Pod 常见问题
查看 Pod 的当前状态和最近的事件查看一下 Pod 中的容器所处的状态。这些容器的状态都是 Running 吗?最近有没有重启过?后面的调试都是要依靠 Pod 的状态的。原创 2024-04-22 10:45:22 · 1529 阅读 · 0 评论 -
K8S 亲和性与反亲和性
在 Kubernetes 中,亲和性(Affinity)是一种用于控制 Pod 调度的机制,它允许你指定 Pod 如何与节点进行互动,以便将 Pod 调度到合适的节点上。亲和性可以分为两种类型:节点亲和性(Node Affinity)和 Pod 亲和性(Pod Affinity)。原创 2024-04-19 09:26:50 · 2027 阅读 · 0 评论 -
K8S 污点和容忍度(Taint,Toleration)
在 Kubernetes 中,污点(Taints)和容忍度(Tolerations)是用于节点调度的一种机制,它们允许你控制哪些 Pod 能够调度到哪些节点上。原创 2024-04-17 16:09:56 · 2220 阅读 · 0 评论 -
K8S CronJob计划任务
CronJob 允许你在 Kubernetes 集群中按照指定的时间表定期运行作业。你可以使用类似于标准 Unix cron 表达式的语法来定义 CronJob 的执行时间表,还可以帮助自动执行重复性的任务,如定期备份、日志清理等。原创 2024-04-17 14:31:38 · 487 阅读 · 0 评论 -
K8S临时存储-本地存储-PV和PVC的使用-动态存储(StorageClass)
容器中的文件在磁盘上是临时存放的,当容器崩溃或停止时容器上面的数据未保存, 因此在容器生命周期内创建或修改的所有文件都将丢失。在崩溃期间,kubelet 会以干净的状态重新启动容器。当多个容器在一个 Pod 中运行并且需要共享文件时,会出现另一个问题,跨所有容器设置和访问共享文件系统具有一定的挑战性。K8S 卷(Volume) 这一抽象概念能够解决这两个问题。原创 2024-04-12 16:37:48 · 2727 阅读 · 1 评论 -
Secret 基本使用方法
在 Pod 规约中,将 Secret 中定义的值 backend-username 赋给 SECRET_USERNAME 环境变量。kind: Podmetadata:spec:env:valueFrom:在Pod 中使用kind: Podmetadata:spec:env:valueFrom:valueFrom:使用 envFrom 来将 Secret 中的所有数据定义为环境变量。原创 2024-04-09 11:12:02 · 1066 阅读 · 0 评论 -
ConfigMap 多种使用方法
kubectl create configmap game-config-3 --from-file== kubectl create configmap game-config-3 --from-file = game-special-key = configmap/game.properties查看创建的ConfigMaplives=3将 ConfigMap 中定义的 special.how 赋值给 Pod 规约中的 SPECIAL_LEVEL_KEY 环境变量。原创 2024-04-07 15:56:34 · 1530 阅读 · 0 评论 -
Ingress简单使用
Ingress 是 Kubernetes 中用于公开和管理集群内服务的一种 API 资源。它充当了集群入口的角色,可以将外部流量路由到集群内部的服务,同时提供了一些高级功能,如负载均衡、TLS 终止、虚拟主机路由等。下面是 Ingress 的一个简单示例,可将所有流量都发送到同一 Service:通过配置,Ingress 可为 Service 提供外部可访问的 URL、对其流量作负载均衡、 终止 SSL/TLS,以及基于名称的虚拟托管等能力。原创 2024-04-07 10:29:18 · 2686 阅读 · 0 评论 -
Service介绍-Service常用类型-Endpoints服务代理
Pod 中的端口定义是有名字的,你可以在 Service 的 targetPort 属性中引用这些名字。kind: Podmetadata:labels:spec:ports:---metadata:spec:selector:ports:port: 8080targetPort: http-web-svc # 后端 pod 端口的名字 也可以写80端口Service 的默认协议是 TCP;除此之外还有 UDP SCTP两种协议。原创 2024-04-02 14:47:05 · 1227 阅读 · 0 评论 -
标签和选择器(Label和 Selector)
在 K8S 中,标签(Labels)和选择器(Selectors)是两个不同但相关的概念,它们用于管理和操作资源,但具有不同的功能和作用。因此,区别在于标签是资源的元数据,而选择器是用于根据标签选择资源的规则。标签提供了一种灵活的方式来对资源进行分类和标识,而选择器允许根据这些标签对资源进行过滤和选择,以执行特定的操作。Service 选择了所有具有标签 app: nginx 和 environment: production 的 Pod。原创 2024-04-01 14:50:50 · 832 阅读 · 0 评论 -
StatefulSet介绍-更新-扩容缩容-HPA
StatefulSet 常用于部署有状态的且需要有序启动的应用程序。StatefulSet 用来管理某 Pod 集合的部署和扩缩, 并为这些 Pod 提供持久存储和持久标识符。和 Deployment 类似, StatefulSet 管理基于相同容器规约的一组 Pod。但和 Deployment 不同的是, StatefulSet 为它们的每个 Pod 维护了一个有粘性的 ID。这些 Pod 是基于相同的规约来创建的, 但是不能相互替换:无论怎么调度,每个 Pod 都有一个永久不变的 ID。原创 2024-04-01 09:44:23 · 1353 阅读 · 0 评论 -
Deployment 介绍-更新-回滚-扩缩容HPA
用于部署无状态的服务,如Web服务、API服务等。它提供了应用程序的副本管理、自动扩展、滚动升级等功能。具体来说,Deployment通过ReplicaSet实现副本管理,确保指定数量的Pod副本正在运行,并处理Pod的创建、删除和更新。此外,Deployment还可以实现无缝迁移、自动扩容缩容、自动灾难恢复以及一键回滚等功能。原创 2024-03-29 16:34:06 · 824 阅读 · 0 评论 -
K8S Pod 水平自动扩缩容 HPA
这些指标从某一方面描述了 Pod, 在不同 Pod 之间进行平均,并通过与一个目标值比对来确定副本的数量。它们的工作方式与资源度量指标非常相像,只是它们仅支持 target 类型为 AverageValue。原创 2024-03-29 16:08:24 · 1418 阅读 · 0 评论 -
DaemonSet介绍+更新回滚
DaemonSet 确保全部(或者某些)节点上运行一个 Pod 的副本。当有节点加入集群时, 也会为他们新增一个 Pod。当有节点从集群移除时,这些 Pod 也会被回收。删除 DaemonSet 将会删除它创建的所有 Pod。原创 2024-03-29 10:52:28 · 800 阅读 · 0 评论 -
K8S基本概念+pod生命周期+容器重启策略+Init容器和边车容器+pod探针+postStart和preStop
Pod可简单地理解为是一组、一个或多个容器,具有共享存储/网络及如何运行容器的规范。Pad包含一个或多个相对紧密耦合的应用程序容器,处于同一个Pod中的容器共享同样的存储空间(Volume,卷或存储卷)、IP地址和Port端口,容器之间使用localhost:port相互访问。根据Docker的构造,Pod可被建模为一组具有共享命令空间、卷、IP地址和Port端口的Docker容器。Pod包含的容器最好是一个容器只运行一个进程。原创 2024-03-27 09:28:43 · 1539 阅读 · 0 评论 -
k8s1.20二进制安装
一 安装说明本文章将演示CentOS 7二进制方式安装高可用k8s 1.20+,相对于其他版本,二进制安装方式并无太大区别,只需要区分每个组件版本的对应关系即可。二 集群安装机信息,服务器IP地址不能设置成dhcp,要配置成静态IP,VIP不要和公司内网重复。192.168.1.11 k8s-master01 # 2C2G 40G192.168.1.12 k8s-master02 # 2C2G 40G192.168.1.13 k8s-master03 # 2C2G 40G192.168.1.1原创 2022-03-14 10:01:41 · 16459 阅读 · 0 评论 -
k8s cgroup内存泄露问
cgroup内存泄露SLUB: Unable to allocate memory on node -1 No space left on deviceNo space left on device解决方法:重新编译runc、kubelet禁用kmem accounting内核禁用cgroup kmem(Kernel 3.10.0-1062.4.1.el7.x86_64支持)重编译runc、kubelet安装go环境# 下载gowget -c https://dl.goog原创 2021-10-11 10:59:31 · 144 阅读 · 0 评论