自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 收藏
  • 关注

转载 Kubernetes 安全之访问控制 API 请求访问控制和认证

本文将主要分享以下三方面的内容:Kubernetes API 请求访问控制 Kubernetes 认证 Kubernetes RBAC Security Context 的使用一、Kubernetes API 请求访问控制访问控制大家都知道访问控制是云原生中的一个重要组成部分。也是一个 Kubernetes 集群在多租户环境下必须要采取的一个基本的安全架构手段。那么在概念上可以抽象的定义为谁在何种条件下可以对什么资源做什么操作。这里的资源就是在 Kubernetes 中我们.

2021-03-27 17:01:15 824

转载 Docker 组件基本介绍

Docker Cli供用户使用的命令行工具,负责请求 docker API 与 dockerd 交互,使得用户可以便捷友好的操作 docker。Dockerd监听 Docker API 请求,通过 containerd 管理 container 生命周期。dockerd 在启动的时候会拉起 containerd,并与 containerd 保持通信。$psaux|grepdockerd/usr/bin/dockerd-Hfd://--containerd=/r...

2021-03-25 17:17:31 1132

转载 你可以把Linux内核当成一家软件外包公司的老板

在平时的生活中,我们几乎时时刻刻都在使用操作系统,只是大部分时间你都意识不到它的存在。比如你买了一部手机或者一台平板电脑,立马就能上手使用,这是因为它们里面都预先安装了操作系统。所以啊,哪有什么岁月静好,只不过有人替你负重前行。而操作系统就扮演了这样一个负重前行的角色。那操作系统到底在背后默默地做了哪些事情,才能让我们轻松地使用这些电子设备呢?要想回答这个问题,我们需要把眼光放回到自己攒电脑的那个时代。电脑组装好就能直接用吗?那时候买电脑,经常是这样一个情景:三五个哥们儿一起来到电脑城,呼.

2021-03-24 21:21:17 283

原创 Linux 一篇文章带你循序渐进top命令

Linux中的top命令显示系统上正在运行的进程。它是系统管理员最重要的工具之一。被广泛用于监视服务器的负载。在本篇中,我们会探索top命令的细节。top命令是一个交互命令。在运行top的时候还可以运行很多命令。我们也会探索这些命令。(译注:不同发行版的top命令在各种细节有不同,如果发现不同时,请读你的帮助手册和命令内的帮助。)1. Top 命令输出首先,让我们了解一下输出。top命令会显示系统的很多信息。我们需要理解不同部分输出的意义:默认运行时,top命令会显示如下输出:前几.

2021-03-24 17:04:28 388 1

转载 DHCP与PXE:IP是怎么来的,又是怎么没的?

如果需要和其他机器通讯,我们就需要一个通讯地址,我们需要给网卡配置这么一个地址。如何配置 IP 地址?那如何配置呢?如果有相关的知识和积累,你可以用命令行自己配置一个地址。可以使用 ifconfig,也可以使用 ip addr。设置好了以后,用这两个命令,将网卡 up 一下,就可以开始工作了。使用 net-tools:$ sudo ifconfig eth1 10.0.0.1/24$ sudo ifconfig eth1 up使用 iproute2:$ sudo ip addr a

2021-03-24 10:54:18 253

原创 Kubernetes ConfigMap挂载导致容器目录覆盖的问题解决

apiVersion: v1kind: ConfigMapmetadata: name: java-demo-configdata: application.yml: | server: port: 8080 spring: datasource: url: jdbc:mysql://localhost:3306/test?characterEncoding=utf-8 .

2021-03-23 15:22:37 14226 1

转载 基于 Kubernetes 的微服务项目设计与实现 第一章:微服务项目设计

随着互联网的发展,后端服务和容器编排技术的日益成熟,微服务成为了后端服务的首选,Kubernetes 也已经成为目前容器编排的事实标准, 微服务拥抱容器时代已经来临。笔者结合自己的经验,写了这篇微服务+ Kubernetes 入门宝典,希望能够抛砖引玉,能让大家了解微服务和 Kubernetes 如何配合。本文主要描述微服务设计、项目实现、Kubernetes 部署、微服务的部署、高可用和监控这几个部分。本文会从设计开始,设计一个简单的前后端分离的项目,并将它部署在 Kubernetes 集群上..

2021-03-22 16:46:19 825

原创 Prometheus nginx-vts-exporter 监控 Nginx

nginx-module-vts模块安装# 下载最新的nginx-vts模块wget https://github.com/vozlt/nginx-module-vts/archive/v0.1.18.tar.gz[root@localhost src]# pwd/usr/src[root@localhost src]# lsdebug kernels nginx-1.16.1 nginx-1.16.1.tar.gz nginx-module-vts-0.1.18 v0.1.

2021-03-22 15:01:48 4208 2

转载 Kubernetes 应用存储和持久化数据卷:核心知识

本次课程的分享主要围绕以下三个部分:K8s Volume 使用场景 PVC/PV/StorageClass 基本操作和概念解析 PVC+PV 体系的设计与实现原理一、Volumes 介绍Pod Volumes首先来看一下 Pod Volumes 的使用场景:场景一:如果 pod 中的某一个容器在运行时异常退出,被 kubelet 重新拉起之后,如何保证之前容器产生的重要数据没有丢失? 场景二:如果同一个 pod 中的多个容器想要共享数据,应该如何去做?以上两个场景,其实都可以.

2021-03-22 10:41:53 297

转载 K8s 高性能网络组件 Calico 入门教程

1、Calico概述Calico 是 Kubernetes 生态系统中另一种流行的网络选择。虽然 Flannel 被公认为是最简单的选择,但 Calico 以其性能、灵活性而闻名。Calico 的功能更为全面,不仅提供主机和pod之间的网络连接,还涉及网络安全和管理。Calico CNI插件在 CNI 框架内封装了Calico的功能。Calico 是一个基于BGP的纯三层的网络方案,与 OpenStack、Kubernetes、AWS、GCE 等云平台都能够良好地集成。Calico 在每个计算节点都

2021-03-18 16:57:28 1552

转载 Kubernetes 应用配置与管理

ConfigMaps 和 Secret 资源的创建和使用; Pod 身份认证的实现和原理; 容器资源、安全、前置校验等配置和使用。一、需求来源背景问题首先一起来看一下需求来源。大家应该都有过这样的经验,就是用一个容器镜像来启动一个 container。要启动这个容器,其实有很多需要配套的问题待解决:第一,比如说一些可变的配置。因为我们不可能把一些可变的配置写到镜像里面,当这个配置需要变化的时候,可能需要我们重新编译一次镜像,这个肯定是不能接受的; 第二就是一些敏感信息的存储和使.

2021-03-18 10:11:17 283

原创 Kubernetes CNI Calico:BGP 模式 / Route Reflector 模式(RR)

Ipip模式是通过宿主机的网络去传输的,这个模式和flannel的vxlan工作模式差不多是一样的,都是一种复杂的网络方案,IPIP和vxlan模式的性能基本上接近,所以在性能方面要相对于路由方面损失10-20%。Calio和flannel一样也支持路由方案,在calio里面使用了BGP路由方案去实现的,BGP就是基于路由去转发的,每个节点通过BGP协议同步路由表,将每个节点作为路由器转发。现在要将IPIP模式改为BGP模式[root@k8s-master ~]# calicoctl get

2021-03-17 17:14:06 6102

原创 Kubernetes CNI组件Calico:IPIP工作模式

CNI存在的意义为了对接第三方的网络组件,提供一种接口,实现接口逻辑的松耦合K8s网络组件之CalicoCalico是一个纯三层(基于路由的)的数据中心网络方案,Calico支持广泛的平台,包括Kubernetes、OpenStack等。Calico 在每一个计算节点利用 Linux Kernel 实现了一个高效的虚拟路由器( vRouter) 来负责数据转发,而每个 vRouter 通过 BGP 协议负责把自己上运行的 workload 的路由信息向整个 Calico 网络内传播..

2021-03-16 16:24:06 4594

转载 Kubernetess DNS和Headless Service 发现运行中的 Pod

什么是 Headless Service?部署 Service时,可以设置三种不同的ServiceTypes以指定所需的 Service 类型: ClusterIP:仅在集群内部 ip 地址上公开 Service,这也是默认的ServiceType。 NodePort:允许通过节点上的静态端口公开 Service。 LoadBalancer:允许使用云提供商的外部负载均衡器公开 Service 。 为避免请求在单个 IP 地址后面进行负载均衡,当不需要单个 IP 地址...

2021-03-16 10:48:42 1506

转载 在Kubernetes 1.20版本中不推荐使用Docker !

容器核心技术容器核心技术是指能够让 container 在 host 上运行起来的那些技术。这些技术包括容器规范、容器 runtime、容器管理工具、容器定义工具、Registry 以及 容器 OS,下面分别介绍。容器规范容器不光是 Docker,还有其他容器,比如 CoreOS 的 rkt。为了保证容器生态的健康发展,保证不同容器之间能够兼容,包含 Docker、CoreOS、Google在内的若干公司共同成立了一个叫 Open Container Initiative(OCI) 的.

2021-03-15 11:53:26 2498 1

转载 Kubernetes Service 服务发现与负载均衡

本文将主要分享以下四方面的内容:为什么需要 K8s service; K8s service 用例解读; K8s service 操作演示; K8s service 架构设计。一、需求来源为什么需要服务发现在 K8s 集群里面会通过 pod 去部署应用,与传统的应用部署不同,传统应用部署在给定的机器上面去部署,我们知道怎么去调用别的机器的 IP 地址。但是在 K8s 集群里面应用是通过 pod 去部署的, 而 pod 生命周期是短暂的。在 pod 的生命周期过程中,比如它创建或销毁.

2021-03-15 10:25:40 572 2

转载 ifconfig:最熟悉又陌生的命令行

上一节结尾给你留的一个思考题是,你知道怎么查看 IP 地址吗?当面试听到这个问题的时候,面试者常常会觉得走错了房间。我面试的是技术岗位啊,怎么问这么简单的问题?的确,即便没有专业学过计算机的人,只要倒腾过电脑,重装过系统,大多也会知道这个问题的答案:在 Windows 上是 ipconfig,在 Linux 上是 ifconfig。那你知道在 Linux 上还有什么其他命令可以查看 IP 地址吗?答案是 ip addr。如果回答不上来这个问题,那你可能没怎么用过 Linux。想象一下,你登录

2021-03-12 16:38:49 248

原创 KUbernetes Flannel:VXLAN模式

K8s网络模型: CNI(容器网络接口)CNI(Container Network Interface,容器网络接口):是一个容器网络规范,Kubernetes网络采用的就是这个CNI规 范,负责初始化infra容器的网络设备。CNI二进制程序默认路径:/opt/cni/bin/ 项目地址:https://github.com/containernetworking/cni以Flannel网络组件为例,当部署Flanneld后,会在每台宿主机上生成它对应的CNI配置文件(它其实是一个Config

2021-03-11 17:15:28 3631

转载 Kubernetes 网络模型来龙去脉

前人挖坑: 早期Docker网络的由来及弊端 凡是用过Docker的,都见过Docker0 Bridge 和 172.XX:最好的便利设计是与外部世界解耦,使用私网地址 + 内部 Bridge 出宿主机,采用SNAT借IP,进宿主机用DNAT借端口 问题就是一堆NAT包在跑,谁也不认识谁了容器网络发端于 Docker 的网络。Docker 使用了一个比较简单的网络模型,即内部的网桥加内部的保留 IP。这种设计的好处在于容器的网络和外部世界是解耦的,无需占用宿主机的 IP ..

2021-03-11 16:44:27 249 1

原创 Docker 容器运行时runtime

容器核心技术容器核心技术是指能够让 container 在 host 上运行起来的那些技术。这些技术包括容器规范、容器 runtime、容器管理工具、容器定义工具、Registry 以及 容器 OS,下面分别介绍。容器规范容器不光是 Docker,还有其他容器,比如 CoreOS 的 rkt。为了保证容器生态的健康发展,保证不同容器之间能够兼容,包含 Docker、CoreOS、Google在内的若干公司共同成立了一个叫 Open Container Initiative(OCI).

2021-03-11 14:18:18 5375

原创 Docker 架构演进

网络上关于K8S-1.20宣布弃用aocker,炒的沸沸扬扬,但多数文章讲的不够详细。虽然也有一些文章讲的还不错,但都不够完整,不够具体。例如∶1.k8s要废除的是 docker 还是 dockershim?2.为什么要弃用,什么时候弃用?替代品是谁? 2.dockershim是什么? dockershim和 docker 是什么关系,和CRT 又是什么关系?3.dockershim和containerd-shim都有 shim,是一回事吗?4.容器运行时是CRI 还是 OCI ?5.

2021-03-10 17:31:32 694 1

原创 Kubernetes 应用包管理器 Helm 对应用进行管理

K8s当中部署应用都是特定的资源组成的,这些资源可以独立于某个文件或者写到一个文件当中为什么需要Helm由于Kubernetes缺少对发布的应用版本管理和控制,使得部署的应用维护和更新等面临诸多的挑战,主要面临以下问题:• 如何将这些服务作为一个整体管理?• 这些资源文件如何高效复用?• 不支持应用级别的版本管理为什么需要Helm由于Kubernetes缺少对发布的应用版本管理和控制,使得部署的应用维护和更新等面临诸多的挑战,主要面临以下问题:• 如何将这些服..

2021-03-10 16:33:09 1110

转载 Kubernetes 应用编排与管理: Deployment

本文将主要分享以下四方面的内容:需求来源; 用例解读; 操作演示以及架构设计。一、需求来源背景问题首先,我们来看一下背景问题。如下图所示:如果我们直接管理集群中所有的 Pod,应用 A、B、C 的 Pod,其实是散乱地分布在集群中。Deployment:管理部署发布的控制器这里就引入了我们今天课程的主题:Deployment 管理部署发布的控制器。可以看到我们通过 Deployment 将应用 A、B、C 分别规划到不同的 Deployment 中,每个 Dep..

2021-03-10 10:56:19 1423

原创 Kubernetes Helm Chart模板:流程控制

Chart模板:流程控制 if/elseHelm模板语言提供以下流程控制语句: • if/else:条件判断 • range:循环 • with:指定变量作用域Ingress并不是所有的应用都需要启用,微服务里面比如gateway和portal这种微服务暴露在集群之外,用户可以访问到。商品服务和订单服务属于业务处理逻辑不需要让外部访问,只需要让gateway这个接口转发给后面的服务就行了,这个通信是在集群内部通信的。所以商品服务和订单服务是不需要启动ingress的这里使.

2021-03-02 11:33:46 2176

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除