
kubernetes
搞起kubernetes
xiliangMa
时刻保持危机感!!!
展开
-
rancher 2.5X 证书过期处理方案
问题描述rancher ui 突然不能访问, 日志可以看出证书已经过期。time="2021-12-29T08:27:32.616638402Z" level=info msg="Waiting for master node startup: resource name may not be empty"2021-12-29 08:27:32.985756 I | http: TLS handshake error from 127.0.0.1:35568: remote error: tls:原创 2021-12-29 16:47:40 · 4240 阅读 · 1 评论 -
kubeadm 查看加入集群命令
kubeadm token create --print-join-command原创 2021-08-05 10:35:46 · 970 阅读 · 0 评论 -
client-go 无法删除 job 相关的pod 资源
描述本文通过client-go 读取yml 创建删除资源, 使用的是 dynamicClient 对象,当然用clientset 对象也是一样的。删除 job 无法删除 job 相关pod.this.DymaicClient.Interface.Resource(mapping.Resource).Namespace(namespace).Delete(unstruct.GetName(), &metav1.DeleteOptions{})解决方法删除job 时删除相关的pod资源原创 2021-05-08 10:53:59 · 382 阅读 · 0 评论 -
Kubernetes 创建 pvc error getting claim reference: selfLink was empty, can‘t make refere
描述kubernetes v1.20版本创建pvc 报错E0304 06:18:05.352939 1 controller.go:1004] provision "default/diss-db-pvc" class "managed-nfs-storage": unexpected error getting claim reference: selfLink was empty, can't make referenceI0304 06:18:06.365388 1 co原创 2021-03-04 16:30:26 · 4352 阅读 · 2 评论 -
kubernetes报错 Kubelet stopped posting node status.
描述kubernetes 集群报错,E0304 02:22:20.213865 1799 kubelet_node_status.go:93] Unable to register node "node2" with API server: Post "https://127.0.0.1:6443/api/v1/nodes": read tcp 127.0.0.1:36596->127.0.0.1:6443: read: connection reset by peerI0304 02:2原创 2021-03-04 10:26:43 · 5661 阅读 · 3 评论 -
搭建kubernetes 集群报错 /proc/sys/net/bridge/bridge-nf-call-iptables contents are not set to 1
描述搭建k8s 集群报错[root@master ~]# kubeadm init --kubernetes-version=v1.19.0 --pod-network-cidr=10.244.0.0/16W0302 02:18:41.583703 32386 configset.go:348] WARNING: kubeadm cannot validate component configs for API groups [kubelet.config.k8s.io kubeproxy.con原创 2021-03-02 15:23:16 · 5220 阅读 · 1 评论 -
Warning:detected "cgroupfs" as the Docker cgroup driver. The recommended driver is "systemd
Warning:detected “cgroupfs” as the Docker cgroup driver. The recommended driver is "systemd问题描述:kubectl init 或者 kubectl join 出现 Warning:detected "cgroupfs" as the Docker cgroup driver. The recommen...原创 2019-11-26 17:39:11 · 2185 阅读 · 0 评论 -
1 node(s) had taints that the pod didn't tolerate
1 node(s) had taints that the pod didn’t tolerate问题描述:使用kubeadm初始化的集群,出于安全考虑Pod不会被调度到Master Node上,也就是说Master Node不参与工作负载。解决方法:如果报错 error: taint “node-role.kubernetes.io/master:” 可以会略kubectl ...原创 2019-11-26 14:50:17 · 1688 阅读 · 0 评论 -
kubernetes 1.16.0 flannel 无法正常启动 报错 Solves "Error validating CNI config &{cbr0 false…"
问题描述centos7+ 下搭建 kubernetes 1.16.0 集群 使用 ipvs, flannel 无法正常启动 报错 Solves “Error validating CNI config &{cbr0 false…”官网issue 地址: https://github.com/coreos/flannel/pull/1179Sep 19 06:33:49 maste...原创 2019-11-05 11:21:26 · 4749 阅读 · 1 评论 -
Centos 快速搭建 kubernetes 1.16.0 集群
基础环境Centos 7+Kubeadmdocker 1.13+kubernetes 1.16.0前提1. 安装 dockersudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.reposudo yum makecache fast sudo...原创 2019-11-04 15:13:24 · 341 阅读 · 0 评论 -
主机加入集群报错 certificate etcd/peer is invalid: x509
主机加入集群报错 certificate etcd/peer is invalid: x509问题描述搭建高可用集群,加入第二台备用 master 节点 报错, 从错误日志看关键错误日志是 is invalid: x509, 首先确保 node 或者备用 master 节点的相关证书存在。[root@master2 k8s]# kubeadm join 192.168.1.110:644...原创 2019-11-04 10:12:43 · 2917 阅读 · 0 评论 -
清除 flannel 网络
清除 flannel 网络ifconfig cni0 downifconfig flannel.1 downifconfig del flannel.1ifconfig del cni0ip link del flannel.1ip link del cni0如果没有 brctl 命令yum install bridge-utilsbrctl delbr flannel....原创 2019-10-30 14:14:28 · 4558 阅读 · 0 评论 -
kubernetes 集群搭建好后 node 一直处于 NotReady 状态
kubernetes 集群搭建好后 node 一直处于 NotReady 状态1. 问题描述kubectl get nodeNAME STATUS ROLES AGE VERSIONizm5e3cntl0pztm4dj3phrz NotReady master 69s v1.15.4根据 kubelet 状...原创 2019-10-28 17:18:18 · 2961 阅读 · 0 评论 -
coredns 一直处于 Pending 或者 ContainerCreating 状态
coredns 一直处于 ContainerCreating 状态1. 问题描述coresdns 状态一直处于 ContainerCreating 状态Events: Type Reason Age From Message ---- --...原创 2019-10-28 17:17:41 · 12531 阅读 · 0 评论 -
Centos 快速搭建 kubernetes 1.15.4 集群
基础环境github地址Centos 7+Kubeadmdocker 1.13+kubernetes 1.15.4前提1. 安装 dockersudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.reposudo yum makecache f...原创 2019-10-15 16:35:33 · 293 阅读 · 0 评论 -
Ubuntu 快速搭建kubernetes 集群
基础环境github 地址Ubuntu 18+Kubeadmdocker 18+kubernetes 1.15.4前提1. 安装 dockerapt-get update && apt-get install -y apt-transport-https curlcurl -fsSL https://download.docker.com/linux/ubun...原创 2019-10-15 16:33:02 · 696 阅读 · 0 评论 -
Rancher 实战 beego 基于 rancher 实现流水线
简介CI/CD(持续集成与持续交付)敏捷、稳定、可靠的特性,越来越被企业所青睐与需要。然而真正实现CI/CD却并非易事,pipeline搭建工作复杂,平滑升级难以保障,服务宕机难以避免,那该如何真正把CI/CD在企业里落地并最终带来生产运维效率的提升?来自硅谷的企业级容器管理平台提供商Rancher Labs,始终秉承着“让容器在企业落地”的理念,带来了开源、极简、功能强大的Rancher Pi...原创 2019-08-23 16:18:14 · 1740 阅读 · 1 评论 -
spring-cloud-kubernetes 实战 二 configmap
简介:Spring Cloud Config 相信大家都很熟悉,之前文章有介绍过 Spring-Cloud 实战 一 服务配置中心 config本章主要介绍Spring-Cloud-Kubernetes 如何获取 kubernetes 中部署的 configmap 信息。kubernetes 提供两种配置 configmap 和 secrets, configmap是普通配置文件,secr...原创 2019-08-22 11:06:38 · 1544 阅读 · 0 评论 -
spring-cloud-kubernetes 实战 一 服务发现
简介spring-cloud-kubernetes是springcloud官方推出的开源项目,用于将Spring Cloud和Spring Boot应用运行在kubernetes环境,并且提供了通用的接口来调用kubernetes服务,Spring-Cloud-kubernetes 地址。之前介绍过Spring-Cloud 实战相关系列文章,相信大家都应该清楚 迁移到kubernetes 平台...原创 2019-08-20 15:38:25 · 3649 阅读 · 6 评论 -
Kubernetes 实战 二 CRD 自定义控制器
简介:之前介绍过 Kubernetes 实战 一 CRD 自定义资源 。但是CRD只能实现资源的定义,kubernetes operator = crd + controller。 那如何实现自定义的控制呢? 接下来教你10分钟快速实现自定义controller。(可以合理上网的前提下。。。。)环境mac os 10.13.6kubernetes 1.14.0 --> Ce...原创 2019-08-19 18:14:15 · 2510 阅读 · 0 评论 -
Spring-Cloud 实战 十 Spring Cloud 微服务 迁移到 kubernetes平台
文章目录前提环境整体架构图build 镜像准备deployment、service部署测试前提熟悉 Docker 操作、Dockefile编写熟悉 kubernetes 基础操作熟悉 kubernetes 基本resource可以查看之前文章环境kubernetes v1.14.3 kubernetes 集群搭建整体架构图[外链图片转存失败(img-pf0jUx4N-...原创 2019-08-08 11:31:15 · 2424 阅读 · 0 评论 -
Kubernetes 实战 一 CRD 自定义资源
文章目录1. CRD 简介2. 使用场景3. 操作环境4. 自定义资源5. 自定义资源-validations6. 自定义资源-additionalPrinterColumns7. 自定义资源-subresources1. CRD 简介Custom resources:是对K8S API的扩展,代表了一个特定的kubetnetes的定制化安装。在一个运行中的集群中,自定义资源可以动态注册到集...原创 2019-07-02 17:50:18 · 14283 阅读 · 0 评论 -
Kubernetes 实战 部署 Prometheus + Grafana 监控 Kubernetes 集群
文章目录1. Prometheus & Grafana 介绍2. 操作环境 rancher 2.x3. Rancher 2.x 应用商店4. 部署 Prometheus5. 体验 Prometheus + Grafana1、Prometheus & Grafana 介绍2、操作环境 rancher 2.x3、Rancher 2.x 应用商店4、部署 Prometheus5...原创 2019-06-28 10:48:52 · 1440 阅读 · 0 评论 -
Kubernetes 实战 应用程序部署到k8s集群
程序简介:服务端: beego写的restapi服务,简称 restapidb:mysql 数据库 简称:restapi-mariadb源码地址准备工作:1. restapi 通过deployment部署;2. restapi-mariadb 通过有状态的StatefulSet 部署;3. db 的用户名密码通过secret配置;4. restapi-mariadb 使用本地...原创 2019-06-26 16:21:59 · 1972 阅读 · 1 评论 -
Kubernetes 实战 pv and pvc
前文介绍了 Kubernetes volume,对于云计算运维、维护人员来说是相当麻烦的,如果有100个用户申请volume 就得人工操作100次,有虚拟化经验的人应该比较清楚共享存储的操作概念,相当于在公有云或者私有云的环境中内置多个存储服务器,当用户申请虚拟机磁盘时直接向控制中心提交申请(磁盘空间大小、磁盘模式预分配或者 精简置备、磁盘类型如isisc、fc、nfs等等),控制中心会根据用户...原创 2019-06-10 18:17:08 · 1142 阅读 · 0 评论 -
Kubernetes 实战 Volume
默认情况下容器中的磁盘文件是非持久化的,对于运行在容器中的应用来说面临两个问题,第一:当容器挂掉kubelet将重启启动它时,文件将会丢失;第二:当Pod中同时运行多个容器,容器之间需要共享文件时;Kubernetes 通过 volume 处理。概述在Docker中也有一个docker Volume的概念 ,Docker的Volume只是磁盘中的一个目录,生命周期不受管理。当然Doc...原创 2019-06-09 19:03:58 · 628 阅读 · 0 评论 -
Kubernetes实战 如何创建ingress tls secret?
自签名证书:生成私钥:openssl genrsa -out rest.key 2048生成证书:openssl req -new -x509 -key rest.key -out rest.crt -subj /C=CN/ST=Beijing/L=Biejing/O=DevOpes/CN=restapi.test.com创建secret通过rancher 创建:查看:通过...原创 2019-06-08 23:33:05 · 3129 阅读 · 0 评论 -
Kubernetes 实战 Ingress 负载均衡
什么是Ingress?通常情况下,service和pod仅可在集群内部网络中通过IP地址访问。所有到达边界路由器的流量或被丢弃或被转发到其他地方。从概念上讲,可能像下面这样:Ingress是授权入站连接到达集群服务的规则集合。你可以给Ingress配置提供外部可访问的URL、负载均衡、SSL、基于名称的虚拟主机等。用户通过POST Ingress资源到API server的方式来请求in...原创 2019-06-08 23:22:17 · 3147 阅读 · 0 评论 -
K8S Service 之 userspace、 iptables、 ipvs
在 Kubernetes 集群中,每个 Node 运行一个 kube-proxy 进程。kube-proxy 负责为 Service 实现了一种 VIP(虚拟 IP)的形式,而不是 ExternalName 的形式。 在 Kubernetes v1.0 版本,代理完全在 userspace。在 Kubernetes v1.1 版本,新增了 iptables 代理,但并不是默认的运行模式。 从 Ku...原创 2019-06-08 22:21:33 · 2342 阅读 · 1 评论 -
Kubernetes 实战 如何通过Service 实现简单的负载均衡策略
如何通过Service 实现简单的负载均衡策略:Kubernetes Service 定义了这样一种抽象:一个 Pod 的逻辑分组,一种可以访问它们的策略 —— 通常称为微服务。 这一组 Pod 能够被 Service 访问到,通常是通过 Label Selector(查看下面了解,为什么可能需要没有 selector 的 Service)实现的。举个例子,考虑一个图片处理 backend,它...原创 2019-06-08 18:14:53 · 11139 阅读 · 0 评论 -
Kubernetes deployment 常用操作命
K8S deployment 常用命令创建kubectl create -f https://kubernetes.io/docs/user-guide/nginx-deployment.yaml --record将kubectl的 --record 的 flag 设置为 true可以在 annotation 中记录当前命令创建或者升级了该资源。这在未来会很有用,例如,查看在每个 Depl...原创 2019-06-04 15:29:12 · 3371 阅读 · 0 评论 -
Kubernetes 实战 根据资源的使用率实现pod的自动扩展
如何实现k8s自定义的pod水平扩展呢?概述:参考Kubernates的源码我们发现,原生扩展器的实现其实非常简单(参见computeReplicasForCPUUtilization()):计算所有Pod的CPU使用率; 根据targetUtilization计算Pod的需求量; 按照计算出的Pod数量进行扩容。近期客户的相关需求打算做一个更强大的扩展器。按照需求,自定义扩展器...原创 2019-05-30 20:22:10 · 2266 阅读 · 1 评论 -
Kubernetes 实战 通过deployment控制器 部署自己的应用程序
上章节对于yml文件整体做了说明,本章节就实际部署deployment来做测试;目录:环境准备(可以通过rancher搭建k8s环境,如果有一定基础可以自己搭建) 镜像准备(可采用其他的镜像) Deployment.yml 文件准备 部署 导入yml方式部署 环境准备: 我这里使用的是rancher环境(2.2)镜像准备: 镜像查看:https://hub....原创 2019-05-16 17:22:42 · 1093 阅读 · 0 评论 -
Kubernetes YAML 参数说明
简介YAML(IPA: /ˈjæməl/,尾音类似camel骆驼)是一个可读性高,用来表达资料序列的编程语言。YAML参考了其他多种语言,包括:XML、C语言、Python、Perl以及电子邮件格式RFC2822。Clark Evans在2001年在首次发表了这种语言[1] ,另外Ingy döt Net与Oren Ben-Kiki也是这语言的共同设计者。目前已经有数种编程语言或脚本语言...原创 2019-05-16 16:19:40 · 3631 阅读 · 0 评论 -
Kubernetes 实战 Centos 7 kubeadm 搭建 Kubernetes v1.14.0 多节点集群
1、Kubernetes集群几种部署方式minikube方式Minikube是一个工具,可以在本地快速运行一个单点的Kubernetes,适合尝试Kubernetes或日常开发的用户使用,但是不能用于生产环境。kubeadm方式Kubeadm也是一个工具,提供kubeadm init和kubeadm join,可用于快速部署Kubernetes集群。二进制包方式从官方下载发行版...原创 2019-04-18 17:14:49 · 3481 阅读 · 4 评论 -
istio 实战 二 bookinfo 部署
简介官方链接部署一个样例应用,它由四个单独的微服务构成,用来演示多种 Istio 特性。这个应用模仿在线书店的一个分类,显示一本书的信息。页面上会显示一本书的描述,书籍的细节(ISBN、页数等),以及关于这本书的一些评论。Bookinfo 应用分为四个单独的微服务:productpage :productpage 微服务会调用 details 和 reviews 两个微服务,用来生成页面。...原创 2019-08-14 17:37:35 · 1991 阅读 · 0 评论 -
kubernetes 之战 基于 rook 搭建 ceph 分布式存储
概述前文介绍了 kubernetes 实战 使用 nfs 作为动态 storageClass 存储,本文介绍 kubernetes 集群 使用 rook ceph 作为动态 storageClass 存储。ceph 搭建对于没有基础的童鞋来说还是比较困难的,之前做虚拟化时搞过几次,基本都是专业高存储的操作。现在 出现了rook帮助我们简化了这些过程,本文通过 rook 快速搭建ceph分布式存储...原创 2019-09-11 17:45:23 · 1407 阅读 · 0 评论 -
kubernetes 实战 使用 nfs 作为动态 storageClass 存储
kubernetes 实战 使用 nfs 作为动态 storageClass 存储概述之前有介绍过 Kubernetes 实战 pv and pvc, 相信使用过的pv和pvc的同学或者有过虚拟化经验的人来说肯定会想到很多问题,比如每次申请 pvc 都需要手动添加pv,这岂不是太不方便了。那我们如何实现类似于公有云或者私有云的共享存储模式呢?kubernetes 提供了 storageclas...原创 2019-09-09 12:28:05 · 2810 阅读 · 0 评论 -
Centos7+ kebeadm 快速搭建 kubernetes 高可用集群
概述教你快速搭建 生产环境下的 kubernetes 高可用集群。本文通过 HAProxy + Keepalived 实现。Keepalived: 提供对外服务的虚拟IP(VIP) 是一主多备运行模式,故至少需要两个 LB 节点。在运行过程中周期检查本机的 HAProxy 进程状态,如果检测到 HAProxy 进程异常,则触发重新选主的过程,VIP 将飘移到新选出来的主节点,从而实现 VIP...原创 2019-08-28 11:29:24 · 1524 阅读 · 0 评论