
kubernetes
文章平均质量分 83
情绪零碎碎
很惭愧,只是做了一点点微小的事情。
展开
-
kubernetes的configmap格式错乱问题
configmap资源在查看(-o yaml)或者修改(edit)时,存在格式错乱问题。原创 2023-03-09 18:39:24 · 4612 阅读 · 0 评论 -
kubernetes自定义hosts域名解析
可以为 coredns 配置 hosts 来实现为 kubernetes 集群添加全局的自定义域名解析,适用于整个集群内都需要配置域名解析,但是需要重启coredns服务加入 hosts:hosts {}通过dockerfile文件指定CMD启动脚本方式,只有root可以直接这么修改,如果USER app会报无权限。原创 2022-11-29 10:36:29 · 3383 阅读 · 0 评论 -
Docker引擎(engine)学习总结
今日要准备容器培训,学习了docker engine相关的知识,总结记录下。原创 2022-09-18 14:59:24 · 532 阅读 · 0 评论 -
逃脱只会部署集群系列 —— Rancher部署和基本使用
一、Rancher部署一个开源的企业级容器管理平台。通过Rancher,企业再也不必自己使用一系列的开源软件去从头搭建容器服务平台。Rancher提供了在生产环境中使用的管理Docker和Kubernetes的全栈化容器部署与管理平台。帮助用户不需要深入了解kubernetes概念就可以使用rancher起步于美国硅谷,近年逐步发力中国市场。现已被suse收购2、安装版本选型:Support matrix | SUSE本文档使用v2.5.2版本,v2.x的版本,安装配置过程都是相原创 2022-01-17 20:50:01 · 2108 阅读 · 0 评论 -
逃脱只会部署集群系列 —— Istio实现微服务流量治理bookinfo案例
一、实例介绍1、创建bookinfo实例:$ kubectl create namespace bookinfo$ kubectl -n bookinfo create -f samples/bookinfo/platform/kube/bookinfo.yaml $ kubectl -n bookinfo get po NAME READY STATUS RESTARTS AGEdetails-v1-597...原创 2022-01-16 23:59:18 · 1310 阅读 · 0 评论 -
逃脱只会部署集群系列 —— Istio实现微服务流量治理以及envoy剖析
目录一、利用istio进行微服务流量分配1、模拟流量分配规则场景2、使用Istio实现二、服务网格细节剖析1、宏观角度剖析2、认识envoy3、envoy的xDS4、envoy在微服务治理中的工作环境三、envoy实现原理1、工作原理四、envoy实现流量转发剖析 (重要)1、istio-init容器作用2、init容器进行入站出站流量监控3、envoy接管出口流量剖析1、监听15001端口跳转路由2、route规则跳转cluster配置.原创 2022-01-16 01:56:11 · 2700 阅读 · 3 评论 -
逃脱只会部署集群系列 —— Istio服务部署以及传统流量调度
目录1、服务网格2、开源实现二、Istio服务部署1、安装Istio2、安装istio组件三、传统模式的流量走向1、场景一2、资源清单3、操作实现四、剖析下默认流量调度机制1、集群流量调度规则详解2、总结下1、服务网格目的是解决系统架构微服务化后的服务间通信和治理问题。提供一种通用的服务治理方案。Sidecar 在软件系统架构中特指边车模式。这个模式的灵感来源于我们生活中的边三轮:即在两轮摩托车的旁边添加一个边车...原创 2022-01-15 22:12:04 · 2705 阅读 · 0 评论 -
逃脱只会部署集群系列 —— jenkins实现SpringCloud项目交付
demo: 测试用到的demohttps://gitee.com/wanghongruihaha/demo.git2021/04/25 SpringBoot + SpringCloud微服务项⽬交付案例_48N6E的博客-优快云博客第1章 SpringBoot + SpringCloud微服务项⽬交付案例1.1 微服务概念传统的是用户通过终端链接到应用里现在服务往越来越小的方向做,把每个服务做成一个独立的功能,每个服务完成特定的功能最大的弊端其实就是跨系统调用有调用其实就有链路追踪,看哪里出了问题这些问题原创 2022-01-11 09:41:15 · 318 阅读 · 0 评论 -
逃脱只会部署集群系列 —— jenkins实现Spring Boot项目构建
目录一、创建Spring Boot项目1、创建一个helloword项目2、编写功能代码二、什么是maven1、maven仓库的构建顺序1.1、本地仓库1.2、中央仓库1.3、私服仓库1.4、阿里云maven2、mvn生命周期三、tools镜像集成maven1、获取tools镜像源码2、tools镜像添加maven配置四、Springboot服务镜像制作五、接入CICD流程六、jenkins配置流水线1、更新Jenkins中的jnlp-.原创 2022-01-07 00:04:12 · 1235 阅读 · 0 评论 -
逃脱只会部署集群系列 —— 基于sharedLibrary的CI/CD流程构建
一、实现目标及效果目前项目存在develop和master两个分支,Jenkinsfile中配置的都是构建部署到相同的环境,实际的场景中,代码仓库的项目往往不同的分支有不同的作用,我们可以抽象出一个工作流程: 开发人员提交代码到develop分支 Jenkins自动使用develop分支做单测、代码扫描、镜像构建(以commit id为镜像tag)、服务部署到开发环境 开发人员使用开发环境自测 测试完成后,在gitlab提交merge request请求,将代码合原创 2022-01-03 15:55:24 · 1307 阅读 · 0 评论 -
逃脱只会部署集群系列 —— 演示Django应用容器化改造全过程
Django应用容器化实践django项目介绍 项目地址:YongxinLi/python-demo python3 + django + uwsgi + nginx + mysql 内部服务端口8002 容器化Django项目dockerfiles/myblog/Dockerfile# This my first django Dockerfile# Version 1.0# Base images 基础镜像FROM centos:centos7.5.原创 2021-12-26 02:54:29 · 1572 阅读 · 0 评论 -
逃脱只会部署集群系列 —— jenkins集成kubernetes动态构建
Jenkins的slave端,没有任务的时候处于闲置状态,slave节点多的话造成资源浪费;是否可以利用kubernetes的Pod来启动slave,动态slave pod来执行构建任务,本文主要介绍利用kubernetes动态创建slave执行构建任务,执行完毕自动销毁。一、kubernetes插件安装及配置1、安装kubernetes插件[系统管理] -> [插件管理] -> [搜索kubernetes]->直接安装,报错是依赖无影响2、配置Kub...原创 2021-12-21 23:27:58 · 2025 阅读 · 0 评论 -
逃脱只会部署集群系列 —— jenkins流水线构建容器自动部署
1、把现在的库克隆到本地[root@k8s-node2 ~]# git clone http://gitlab.rui.com/root/myblog.git正克隆到 'myblog'...Username for 'http://gitlab.rui.com': rootPassword for 'http://root@gitlab.rui.com': remote: Enumerating objects: 175, done.remote: Counting objects: 100原创 2021-12-19 22:09:43 · 2022 阅读 · 0 评论 -
逃脱只会部署集群系列 —— jenkins和gitlab的部署联动推送
基于Kubernetes的DevOps平台实践持续集成工具: Jenkins gitlabci Tekton 本章基于k8s集群部署gitlab、sonarQube、Jenkins等工具,并把上述工具集成到Jenkins中,以Django项目和SpringBoot项目为例,通过多分支流水线及Jenkinsfile实现项目代码提交到不同的仓库分支,实现自动代码扫描、单元测试、docker容器构建、k8s服务的自动部署。 DevOps、CI、CD介绍 Jenki原创 2021-12-12 18:04:31 · 2239 阅读 · 0 评论 -
逃脱只会部署集群系列 —— Alertmanager实现钉钉动态告警
目录1、Alertmanager部署和配置1.1、alertmanager-config配置文件1.2、alertmanager其他资源清单文件2、配置Prometheus与Alertmanager对话2.1、配置Prometheus推送至alertmanager2.2、热加载Prometheus3、prometheus配置报警规则3.1、配置prometheus加载告警规则配置3.1、配置告警规则3.3、查看Prometheus报警界面和邮箱4、自定义webh.原创 2021-12-05 20:18:35 · 2224 阅读 · 0 评论 -
逃脱只会部署集群系列 —— Prometheus+Grafana实现集群监控
一、Prometheus部署、配置、数据展示Prometheus 是一个开源监控系统,它本身已经成为了云原生中指标监控的事实标准 。1、Prometheus架构 Prometheus Server ,监控、告警平台核心,抓取目标端监控数据,生成聚合数据,存储时间序列数据 exporter,由被监控的对象提供,提供API暴漏监控对象的指标,供prometheus 抓取 node-exporter blackbox-exporter redi原创 2021-12-05 16:35:27 · 1017 阅读 · 0 评论 -
逃脱只会部署集群系列 —— k8s集群认证、授权、安全控制
文章主要介绍了k8s集群的认证、授权、安全控制模式,说明一个组件或者一个用户是如何划分应有的权限,具体追溯kubectl、kubelet、Service Account等整个控制过程。一、APIServer安全控制机制 1、Authentication:身份认证 这个环节它面对的输入是整个http request,负责对来自client的请求进行身份校验,支持的方法包括: basic auth(基本废弃) ...原创 2021-11-20 17:46:43 · 2150 阅读 · 1 评论 -
逃脱只会部署集群系列 —— k8s集群的网络模型与跨主机通信
目录一、k8s集群的网络环境的要求二、k8s集群网络通信流向图三、k8s集群网络通信流程分析1、如何满足集群Pod IP唯一2、pause容器创建共享命名空间3、pod网络插入网桥bridge4、数据包本方通过vxlan隧道发送出去5、数据包对方接收到解包6、说说整个过程角色的充当7、利用host-gw模式提升集群网络性能原理类文章比比皆是,这里主要是利用自身理解将集群跨主机通信进行一遍梳理,属于总结性,建议多看几篇原理性介绍,然后看结论,豁...原创 2021-11-19 00:36:47 · 2297 阅读 · 0 评论 -
逃脱只会部署集群系列 —— Kubeadm部署v1.18.0与ETCD操作
一、Kubeadm部署1、基本操作https://segmentfault.com/a/1190000019465098https://segmentfault.com/a/11900000194650982、补充基本操作就不详述了,网上找找很多,其中flannel地址访问不到,我直接拿出来了,以前我一直很疑惑apiserver用v1还是v1brta1,kubectl explain pod或者直接-oyaml解决。---apiVersion: policy/v1beta1kind原创 2021-11-15 21:55:03 · 3004 阅读 · 0 评论 -
kubernetes集群部署Kafka和Zookeeper集群
目录1、helm部署方式介绍2、利用bitnami开源部署方式3、验证消息队列是否正常4、kafka集群和zookeeper集群扩容1、helm部署方式介绍helm安装文档:https://helm.sh/docs/intro/install/helm添加仓库:$ helm repo add bitnami https://charts.bitnami.com/bitnamibitnami https://charts.bitnami.com/bi...原创 2021-08-22 01:32:15 · 1292 阅读 · 0 评论 -
kubernetes集群部署RabbitMq集群
RabbitMQ集群安装:StatefulSethttps://github.com/dotbalo/k8s/tree/master/k8s-rabbitmq-clusterImagesregistry.cn-beijing.aliyuncs.com/dotbalo/rabbitmq:3.7-managementUIgithub和镜像如果网络不好,可以直接下载附件,服务发现通过server的endpoint自动获取对应的runningpod,利用configmap存储配置文件,s原创 2021-08-21 18:21:42 · 382 阅读 · 0 评论 -
kubernetes集群部署EFK+ELK+Kafka日志管理方案
前言在生产环境中,日志对于排查问题至关重要,我们需要有一个日志管理系统kubernetes可以实现elk的快速部署和使用,通过statefulset控制器部署elasticsearch集群组件,用来检索存储日志数据;使用hostpath或者volumenclaimtemplate动态生成pv实现es数据的持久化;通过deployment部署kibana组件,实现日志的可视化管理;通过daemonset控制器部署fluentd组件,来收集各节点和k8s集群控制台的日志;通过daemonset控制器部署fil原创 2021-08-20 15:33:24 · 1053 阅读 · 0 评论 -
Kubernetes报错Failed to get system container stats for “/system.slice/kubelet.service“
kubernetes和docker版本兼容性问题1、vim /etc/systemd/system/kubelet.service.d/10-kubeadm.conf 这是kubeadm部署模式的启动文件2、找到对应的EnvironmentFile配置启动参数的文件3、修改/etc/sysconfig/kubelet文件追加 KUBELET_EXTRA_ARGS=--runtime-cgroups=/systemd/system.slice --kubelet-cgroups=/systemd/sys原创 2021-07-30 09:27:06 · 1787 阅读 · 0 评论 -
kubectl避免频繁切换命名空间技巧
使用 kubectl 命令时,最烦人的就是频繁的切换命名空间了,查看什么资源都得加命名空间,每次敲命令在习惯也会很烦。今天在网上看到一篇文章,很有用,可以记住上一次使用 kubectl 时操作的命名空间。代码如下:function k() { cmdline=`HISTTIMEFORMAT="" history | awk '$2 == "kubectl" && (/-n/ || /--namespace/) {for(i=2;i<=NF;i++)pr...原创 2021-07-30 09:18:30 · 1445 阅读 · 0 评论 -
kubernetes二进宫系列——Kubernetes TLS BootStrapping流程引导分析
目录Kubernetes TLS bootstrapping流程引导分析一、TLS bootstrapping 简介二、TLS bootstrapping 相关术语2.1、kubelet server2.2、CSR请求类型2.3、KubernetesTLS与RBAC认证2.4、证书及配置文件作用三、kubelet初始化流程四、TLS bootstrapping引导程序初始化流程Kubernetes TLS bootstrapping流程引导分析 该文章...原创 2021-03-04 15:27:09 · 1023 阅读 · 1 评论 -
kubernetes二进宫系列——详解kubeadm生成的证书
目录详解kubeadm生成的证书证书分组Kubernetes 集群根证书汇聚层证书etcd 集群根证书Serveice Account秘钥详解kubeadm生成的证书如果你使用过kubeadm部署过Kubernetes的环境, master主机节点上就一定会在相应的目录创建了一大批证书文件, 本篇文章就来说说kubeadm到底为我们生成了哪些证书在Kubernetes的部署中, 创建证书, 配置证书是一道绕不过去坎儿, 好在有kubeadm这样的自动化工具, 帮我们去转载 2021-03-01 15:57:46 · 1641 阅读 · 0 评论 -
kubernetes二进宫系列——k8s整体架构与核心组件详解-2
目录六、kubernetes核心组件之apiserver详解七、kubernetes核心组件之scheduler详解八、kubernetes核心组件之controller manager详解九、kubernetes核心组件之kubelet详解放在文章首位: 该文章为学习时发现的宝藏集合,为了避免失联仅以留存形式在此。建议去原文阅读:https://blog.youkuaiyun.com/qq_42987484/category_9539473.html。个人认为内容以理解为主,不求...转载 2021-02-23 21:20:55 · 1388 阅读 · 0 评论 -
kubernetes二进宫系列——k8s整体架构与核心组件详解-1
一、kubernetes架构一、kubernetes系统架构 二、kubernetes分层架构 三、Kubernetes及容器生态系统 1.Master Node(主节点) 1-1.API Server 1-2.Cluster state store(集群状态存储) 1-3.Controller-Manager Server(控制管理服务器) 1-4.Scheduler(调度器) 2.Worker Node(从节点) 2-1.Kubelet...转载 2021-02-23 20:32:23 · 1592 阅读 · 0 评论 -
kubernetes二进宫系列——关于static pod的相关研究
目录1、为什么忽然想到静态pod2、何为静态pod3、为什么需要静态pod4、静态pod以什么形式部署5、非kubeadm部署方式如何配置1、为什么忽然想到静态pod日常学习k8s都是采用二进制部署方式,统一规划集群核心组件配置文件目录为/opt/kubernetes/cfg/*,实际环境采用kubeadm部署时核心组件配置文件存放在/etc/kubernetes/manifests里面。为什么这三个核心组件部署文件单独存放在这里?该目录是否只是随机自定义?我如何找到这个目录原创 2021-02-20 09:22:03 · 561 阅读 · 0 评论 -
文件同步分发工具xsync和命令同步执行工具xcall
目录一、文件同步分发工具xsync二、命令同步执行工具xcall日常学习中发现,部署集群服务时需要每个节点都上传相同源码包或者相同命令,很无聊。一、文件同步分发工具xsync1、配置主机名映射一致[root@k8s-master2 ~]# cat /etc/hosts127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4::1 localhost localho...原创 2021-02-05 16:37:51 · 987 阅读 · 0 评论 -
kubernetes容器集群管理(12)- k8s集群监控方案
一、Prometheus介绍node-exporter+Prometheus+Grafana监控方案#PrometheusPrometheus (中文名:普罗米修斯)是由 SoundCloud 开发的开源监控报警系统和时序列数据库(TSDB).自2012年起,许多公司及组织已经采用 Prometheus,并且该项目有着非常活跃的开发者和用户社区.现在已经成为一个独立的开源项目。Pr...原创 2020-03-17 20:59:14 · 1440 阅读 · 0 评论 -
kubernetes容器集群管理(11)- k8s集群搭建lnmp环境
一、私有仓库搭建#pull私有仓库镜像[root@node01 ~]# docker pull registry#创建用户密码本[root@node01 ~]# mkdir auth[root@node01 ~]# docker run --entrypoint htpasswd registry:latest -Bbn amusitelangpao 123456 >/...原创 2020-03-16 21:37:30 · 1676 阅读 · 0 评论 -
kubernetes容器集群管理(10)- Volume技术
一、volume类型#为了持久化保存容器的数据,可以使用 Kubernetes Volume。Volume 的生命周期独立于容器,Pod 中的容器可能被销毁和重建,但 Volume 会被保留。#本质上,Kubernetes Volume 是一个目录,当 Volume 被 mount 到 Pod,Pod 中的所有容器都可以访问这个 Volume。Kubernetes Volum...原创 2020-03-14 00:33:29 · 707 阅读 · 0 评论 -
kubernetes容器集群管理(9)- Ingress部署
目录一、Ingerss逻辑二、Ingerss搭建2.1、部署github包及目录规划2、创建一个命名空间,放置ingress相关配置。3、默认域名配置4、configmap 存放tcp udp 虚拟主机的配置5、创建rbac授权6、创建deployment7、节点部署完成三、Ingress-http配置3.1、创建nginx和httpd的dep...原创 2020-03-11 23:22:49 · 1348 阅读 · 0 评论 -
kubernetes容器集群管理(8)- pod基本管理和server服务发现
一、pod基本管理Pod是Kubernetes创建或部署的最小/最简单的基本单位,一个Pod代表集群上正在运行的一个进程。一个Pod封装一个应用容器(也可以有多个容器),存储资源、一个独立的网络IP以及管理控制容器运行方式的策略选项。Pod代表部署的一个单位:Kubernetes中单个应用的实例,它可能由单个容器或多个容器共享组成的资源。1、资源限制#Kubernetes实现...原创 2020-03-09 19:00:13 · 1191 阅读 · 0 评论 -
kubernetes容器集群管理(7)- kubectl节点配置与基本操作
一、配置node节点使用kubectl1、说明#kubectl 默认通过127.0.0.1:8080端口去访问apiserver,这个在前面apiserver的配置文件里有定义了。#master通过http访问apiserver,端口8080,而其他节点通过https来访问apiserver,端口6443用于集群接口https访问#我们目的就是让node节点上也能像master一样访问配...原创 2020-03-08 01:29:29 · 1769 阅读 · 0 评论 -
kubernetes容器集群管理(6)- Dashboard&&Metrics Server部署
1、部署dashboard1.10.1版本 不支持1.15以上k8s,ui页面出现404跳转2.0.0-rc5 部署后无法发现pod,尝试本地镜像无作用2.0.0-beat4版本 暂时正常,兼容性日后确认#github地址https://github.com/kubernetes/dashboard/releases#部署[root@manage01 das...原创 2020-03-06 06:10:14 · 1684 阅读 · 0 评论 -
kubernetes容器集群管理(5)-node节点组件部署
node组件部署node需要的组件从master节点的kube-server文件包里面复制出来kubelet kube-proxy1、部署环境准备#master节点上分配权限kubelet[root@master ssl]# kubectl create clusterrolebinding kubelet-bootstrap --clusterrole=system:node...原创 2020-02-29 23:10:21 · 755 阅读 · 0 评论 -
kubernetes容器集群管理(3)-Kubeconfig 部署TLS Bootstrapping
1、TLS Bootstrapping一些理解如果对 TLS Bootstrapping 完全没接触过推荐:https://blog.youkuaiyun.com/paopaohll/article/details/89022920众所周知 TLS 的作用就是对通讯加密,防止中间人窃听;同时如果证书不信任的话根本就无法与 apiserver建立连接,更不用提有没有权限向 apiserver 请求指定...原创 2020-02-29 20:55:52 · 1345 阅读 · 0 评论 -
kubernetes容器集群管理(4)-master节点组件部署
master和node所需组件全部从kubernetes-server二进制包中获取。具体k8s组件等说明参考官方文档:http://docs.kubernetes.org.cn/230.htmlmaster机器主要部署:kube-apiserver 、kube-controller-manager 、kube-scheduler1、下载kubernetes-server二进制包#...原创 2020-02-29 16:08:54 · 753 阅读 · 1 评论