分类目录归档:云原生

【Kubernetes】使用kubeadm部署Kubernetes 1.20.2 集群实践记录


kubernetes高可用集群安装(二进制安装、v1.20.2版)

1. 前言

之前文章安装 kubernetes 集群,都是使用 kubeadm 安装,然鹅很多公司也采用二进制方式搭建集群。这篇文章主要讲解,如何采用二进制包来搭建完整的高可用集群。相比使用 kubeadm 搭建,二进制搭建要繁琐很多,需要自己配置签名证书,每个组件都需要一步步配置安装。 本文以2021年1月14日官方更新的最新版 v1.20.2 来介绍。

2. 环境准备

2.1 机器规划

IP地址 机器名称 机器配置 操作系统 机器角色 安装软件
172.10.1.11 master1 2C4G CentOS

Read more

【Prometheus】容器监控实践—Prometheus的配置与服务发现


本文将分析Prometheus的常见配置与服务发现,分为概述、配置详解、服务发现、常见场景四个部分进行讲解。

一. 概述

Prometheus的配置可以用命令行参数、或者配置文件,如果是在k8s集群内,一般配置在configmap中(以下均为prometheus2.7版本)

查看可用的命令行参数,可以执行 ./prometheus -h

也可以指定对应的配置文件,参数:--config.file 一般为prometheus.yml

如果配置有修改,如增添采集job,Prometheus可以重新加载它的配置。只需要向其 进程发送SIGHUP或向/-/reload端点发送HTTP POST请求。如

Read more

【Prometheus】cAdvisor容器监控规则


其他说明参考host主机监控规则:https://www.cnblogs.com/sanduzxcvbnm/p/13589848.html

在prometheus主程序目录下的rules目录下新建docker.yml文件,添加上如下内容,然后重启prometheus。

groups:
- name:  Docker containers monitoring
  rules:
  - alert: ContainerKilled
    expr: time() - container_last_seen > 60
    for: 5m
    labels:
      severi

Read more

【Prometheus】Prometheus监控神器-Alertmanager篇


【Prometheus】Prometheus监控神器-Alertmanager篇

本章节主要涵盖了Alertmanager的工作机制与配置文件的比较详细的知识内容,由浅入深的给大家讲解。

警报一直是整个监控系统中的重要组成部分,Prometheus监控系统中,采集与警报是分离的。警报规则在 Prometheus 定义,警报规则触发以后,才会将信息转发到给独立的组件 Alertmanager ,经过 Alertmanager r对警报的信息处理后,最终通过接收器发送给指定用户,另外在 Alertmanager 中没有通知组的概念,只能自己对软件重新Coding,或者使用第三方插件来实现。

Read more

【Kubernetes】 Calico 网络插件详解


Calico 是一个纯三层的数据中心网络方案,而且无缝集成像 OpenStack 这种 Iaas 云架构,能够提供可控的 VM、容器、裸机之间的 IP 通信。为什么说它是纯三层呢?因为所有的数据包都是通过路由的形式找到对应的主机和容器的,然后通过 BGP 协议来将所有路由同步到所有的机器或数据中心,从而完成整个网络的互联。

简单来说,Calico 在主机上创建了一堆的 veth pair,其中一端在主机上,另一端在容器的网络命名空间里,然后在容器和主机中分别设置几条路由,来完成网络的互联。

1.

Calico 网络模型揭秘

下面我们通过具体的例子来帮助大家理解 Calico 网络的通信原理。

Read more

【Kubernetes】 这一次,彻底搞懂 kube-proxy IPVS 模式的工作原理


Kubernetes 中的 Service 就是一组同 label 类型 Pod 的服务抽象,为服务提供了负载均衡和反向代理能力,在集群中表示一个微服务的概念。kube-proxy 组件则是 Service 的具体实现,了解了 kube-proxy 的工作原理,才能洞悉服务之间的通信流程,再遇到网络不通时也不会一脸懵逼。

kube-proxy 有三种模式:userspaceiptablesIPVS,其中 userspace 模式不太常用。iptables 模式最主要的问题是在服务多的时候产生太多的 iptables 规则,非增量式更新会引入一定的时延,大规模情况下有明显的性能问题。为解

Read more

【Dcoker】修改Docker0网桥默认网段


1. 背景

Docker 服务启动后默认会创建一个 docker0 网桥(其上有一个 docker0 内部接口),它在内核层连通了其他的物理或虚拟网卡,这就将所有容器和本地主机都放到同一个物理网络。

Docker 默认指定了 docker0 接口 的 IP 地址和子网掩码,让主机和容器之间可以通过网桥相互通信,它还给出了 MTU(接口允许接收的最大传输单元),通常是 1500 Bytes,或宿主主机网络路由上支持的默认值。这些值都可以在服务启动的时候进行配置。

2. 环境

[[email protected] ~]# cat /etc/redhat-release
CentOS Linux release 

Read more

【Docker】Docker run 命令的使用方法


【编者的话】在Docker中,run应该是用户使用最多的命令了,很多读者反馈不是很明白run命令的用法,而且相关的书籍、中文资料中对run命令的描述也不是非常完整,所以DockerOne组织翻译了Docker官方的文档,以飨读者。注意,本文基于最新的Docker 1.4文档翻译。

Docker会在隔离的容器中运行进程。当运行 docker run命令时,Docker会启动一个进程,并为这个进程分配其独占的文件系统、网络资源和以此进程为根进程的进程组。在容器启动时,镜像可能已经定义了要运行的二进制文件、暴露的网络端口等,但是用户可以通过docker run命令重新定义(译者注:docker ru

Read more