理解Kubernetes驱逐Pod Kubernetes Pods被驱逐是什么意思?它们被终止了,通常是由于没有足够的资源,但是为什么会发生这种情况呢? 驱逐是一个过程,分配给一个节点的Pod被要求终止。Kubernetes中最常见的情况之一是抢占,为了在资源有限的节点上安排一个新的Pod,通常需要终止另外一个Pod。 另外,Kubernetes会…
银河麒麟V10服务器系统快速利用RKE部署K8S 前言 因为后续服务器使用的操作系统是国产银河麒麟V10,那也需要预研一下。就各种踩坑 国产银河麒麟V10我初步看了下也是基于Centos8进行自己的魔改的 运行环境 服务器整体规划 名称 IP 组件 k8s-188 192.168.100.188 controlplane,etcd、rancher(…
监控运维告警工具之PrometheusAlert 自己肯定有疑问Prometheus外加alertmanager可以做告警推送,为什么我还要使用Prometheus Alert做第三方推送呢?-->其实就是不想自己再去部署多个Webhook吧 最近在折腾Rancher自带的监控,也是整合了Prometheus-operator,但为了整合告警推送到…
rke/rancher离线安装需要的镜像 因公司环境无法下载docker镜像,所以需要提前下载镜像,然后推送到公司的私有harbor仓库 获取rke支持k8s版本的镜像 官方只提供了https://docs.rancher.cn/docs/rke/config-options/system-images/_index解释,但具体需要进一步查找,下面…
Rancher2.5.17 Prometheus持久化的小坑 最近使用Rancher2.5.17-通过应用市场的monitoring快速部署监控模块~已经t提前建好了PersistentVolume apiVersion: v1 kind: PersistentVolume metadata: name: prometheus-pv-data na…
这篇文章受密码保护,输入密码才能阅读
K8S搭建SonarQube并集成到Jenkins 前提:已经搭建好k8s环境 搭建postgres数据库 存储类是使用nfs,下面是yaml内容 apiVersion: v1 kind: PersistentVolume metadata: name: postgres-pv namespace: devops labels: app: post…
Ingress获取真实IP 一般情况下,经过ingress的请求会携带headerX-Real-IP,用户可根据header解析出真实访问IP 但是有一种情况,用户请求可能经过多个nginx才达到ingress, 通过上述方法得到的并不是用户的真实IP了(比如现在我模拟云平台nginx->ingress,就无法获取到真实IP) user->requ…
Jenkins集成Kubernetes集群(Master-Slave分布式构建方案) 1.Kubernetes 环境安装 Jenkins --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: jenkins-admin rules: - apiG…
Jenkins Config File Provider 插件 创建kubeconfig文件 说明 Jenkins的Config File Provider其实就是存储kubectl用于连接k8s集群的kubeconfig配置文件,其实就是/root/.kube/config [root@k8s-master1 .kube]# pwd &&…
k8s部署gitlab并初始化和登录 准备环境 创建nfs共享目录 在nfs服务器创建共享目录,部署的gitlib使用共享目录来进行持久化,这样不管在哪个节点运行gitlib都没有关系 mkdir -p /data/nfs_data/gitlab/{logs,etc,opt} 添加到共享 [root@k8s-node2 nfs_data]# cat…
Jenkins-K8s动态部署Slave过程踩过坑 最近基于K8S集群部署jenkins,想着都已经上K8S了,为啥不基于Kubernetes实现动态Agent构建机制呢?部署过程的文档后面有空再补吧~ 于是乎,在部署过程中,遇到一个大坑吧,就记录一下。 问题1:mvn 找不到 JAVA_HOME 出现的错误 [Pipeline] sh + mvn…
ReplicationController 与 ReplicaSet 与 Deployment 关联 RC (ReplicationController )主要的作用就是用来确保容器应用的副本数始终保持在用户定义的副本数 。即如果有容器异常退出,会自动创建新的Pod来替代;而如果异常多出来的容器也会自动回收 Kubernetes 官方建议使用 RS…
K8S中iptables和ipvs区别比较 从k8s的1.8版本开始,并在v1.9中进入了beta,kube-proxy引入了IPVS模式,IPVS模式与iptables同样基于Netfilter,但是ipvs采用的hash表,iptables采用一条条的规则列表。 iptables又是为了防火墙设计的,集群数量越多iptables规则就越多,而i…
RKE搭建k8s集群&Helm3部署Rancher高可用 此次是:RKE的方式快速部署K8S集群(https://199604.com/2400)的进一步文章 运行环境 机器需要满足以下几个条件: 一台或多台机器,操作系统CentOS7.x-86_64(个人选择CentOS7.9) 硬件配置:2GB或更多RAM,2个CPU或更多CPU,硬盘…
Kubectl命令自动补全 yum -y install bash-completion source /usr/share/bash-completion/bash_completion source <(kubectl completion bash) echo "source <(kubectl completion bash)"…
k8s中Cgroup:systemd和cgroupfs的区别 什么是Cgroup Cgroup是control group的简写,属于Linux内核提供的一个特性,用于限制和隔离一组进程对系统资源的使用,也就是做资源QoS,这些资源主要包括CPU、内存、block I/O和网络带宽。Cgroup从2.6.24开始进入内核主线,目前各大发行版都默认打…
RKE的方式快速部署K8S集群 使用RKE的方式部署K8S的高可用集群。RKE是一款经过CNCF认证的开源Kubernetes发行版,可以在Docker容器内运行。它通过删除大部分主机依赖项,并为部署、升级和回滚提供一个稳定的路径,从而解决了Kubernetes最常见的安装复杂性问题。 借助RKE,Kubernetes可以完全独立于正在运行的操作系…
使用二进制方式搭建k8s集群 安装要求 在开始之前,部署Kubernetes集群机器需要满足以下几个条件: 一台或多台机器,操作系统CentOS7.x-86_64(个人选择CentOS7.9) 硬件配置:2GB或更多RAM,2个CPU或更多CPU,硬盘50GB或更多 集群中所有机器之间网络互通 可以访问外网,需要拉取镜像,如果服务器不能上网,需要提…
k8s-kubectl命令自动补全 Centos yum install -y bash-completion source /usr/share/bash-completion/bash_completion source <(kubectl completion bash) echo "source <(kubectl comple…