Kubernetes集群调度介绍


Kubernetes调度

Scheduler 是 kubernetes 的调度器,主要的任务是把新创建 pod 分配到集群的节点上。

听起来非常简单,但有很多要考虑的问题:

  • 如何保证全部的节点调度的公平性?并不是所有节点资源配置一定都是一样的。
  • 如何保证每个节点都能被分配资源?
  • 集群资源如何能够被高效利用?
  • 集群资源如何才能被最大化使用?
  • 如何保证 Pod 调度的性能和效率?
  • 用户是否可以根据自己的实际需求定制自己的调度策略?
  • 公平:如何保证每个节点都能被分配资源
  • 资源高效利用:集群所有资源最大化被使用
  • 效率:调度的性能要好,能够尽快地对大批量的 pod 完成调度工作
  • 灵活:允...

Read more

Kubernetes节点与令牌管理


在 Kubernetes 中,使用 kubeadm 工具可以很方便地添加新的节点到现有的集群中。这个过程主要包括在主节点上生成一个加入命令,然后在新的节点上执行这个命令。以下是详细的步骤:

1. 在主节点上生成加入命令

首先,登录到你的 Kubernetes 主节点(通常是控制平面节点)。然后,使用 kubeadm 生成一个加入命令。这个命令包含了必要的令牌和证书哈希,使得新节点能够安全地加入集群。

kubeadm token create --print-join-command

这个命令会输出一个类似于下面的命令:

kubeadm join <control-plane-h...

Read more

Harbor镜像仓库部署


一、创建自签证书:

1.1、准备工作

  • 检查是否已经安装 openssl: openssl version
  • 创建存放证书目录并进入目录
[root@zuolaoshi ~]# mkdir /opt/harbor-ca-key
[root@zuolaoshi ~]# cd /opt/harbor-ca-key

1.2、创建秘钥

生成私钥

[root@zuolaoshi harbor-ca-key]# openssl genrsa -des3 -out server.pass.key 2048

# genra 生成RSA私钥
# -des3 des3算法
# -out server....

Read more

Kubernetes 概念介绍


K8S,通过提供容器化应用的调度、编排、以及运行、和管理,是实现 DevOps 、和微服务架构的关键。

K8S, 采用主节点(Master Node)、和工作节点(Master-Worker)的分布式设计,并且,支持大规模容器、和管理。

一、Master

Master指的是集群控制节点,在每个Kubernetes集群里都需要有一个Master来负责整个集群的管理和控制,基本上Kubernetes的所有控制命令都发给它,它负责具体的执行过程,我们后面执行的所有命令基本都是在Master上运行的

K8S主节点,负责:整个集群的状态、与生命周期。

并且,K8S主节点,管理所有的工作节点、和...

Read more

Kubernetes集群部署


一、集群部署准备

Kubernetes有三种安装方式:

1、通过yum进行安装

2、通过二进制文件进行安装

3、命令行工具kubeadm进行安装

centos7.9部署k8s集群

准备三台虚拟机

  • 2核4G(k8s-master),IP 192.168.8.119
  • 2核2G(k8s-node01),IP 192.168.8.120
  • 2核2G(k8s-node02),IP 192.168.8.121

所有服务器需要关闭防火墙和SElinux,进行时间同步操作

配置服务器基础环境(三台服务器)

# 安装dokcer
yum install -y yum-utils

# 配置docke...

Read more

什么是 Kubernetes


一、什么是Kubernetes

Kubernetes(简称 K8s),K8s 是云原生生态的核心组件,也是云技术最核心的内容。

k8s 是一个开源的容器编排平台。它的主要目标是自动化部署、扩展和管理容器化应用程序。

k8s 也是一个全新的基于容器技术的分布式架构领先方案,确切地说,Kubernetes是谷歌严格保密十几年的秘密武器Borg的一个开源版本。

Borg 是谷歌内部使用的大规模集群管理系统,它基于容器技术,目的是实现资源管理的自动化,以及跨多个数据中心的资源利用率的最大化。

1.png

环境不一致使得应用部署出现了各种问题,从而产生了Docker容器来解决应用部署的问题。而大集群上容器的...

Read more

Ansible高级语法


一.循环迭代(loop/with_items)

1.作用 主要是用于让管理节点在需要编写多个任务时的情况下仅用一个任务来进行循环迭代完成任务,使用loop关键字对目标进行迭代,在ansible相对比较旧的版本中使用的with_item平替,现在我的2.9.27仍然兼容,loop关键字内可以是列表、变量、字典等

2.案例演示 (1)遍历输出以列表形式定义的abc

[root@main zuolaoshi]# cat loop1.yaml 
---
- hosts: servera
    tasks:
      - name: test item
        debug: 
    ...

Read more

Ansible-Jinja2模板


Ansible-Jinja2模板

⼀、Ansible Jinja2模板背景介绍

我们希望能根据每⼀台服务器的性能去定制Nginx服务的启动进程。同时定制每⼀台Nginx 服务的响应头,以便于当某台服务出现问题时能快速定位到具体的服务器。要做这样的定制势必会导致⼀个问题,Nginx 在每台物理服务器上的配置⽂件都不⼀样,这样的配置⽂件如何管理呢?再使⽤copy 模 块去做管理显然已经不合适。此时使⽤Ansible 提供的另⼀个模板 (template) 功能,它可以帮助我们完美的解决问题。

⼆、 JinJa2 模板

要学会Ansible 中的模板(template)使⽤,前提我们必须要学会...

Read more

docker快速搭建zabbix


基于docker快速搭建zabbix 6.2监控平台

zabbix是一款知名的老牌监控系统,可对硬件、操作系统、数据库、网络等多种目标介质进行统一监控,并集成了UI、监控展示、告警、服务发现等多种功能,可非常高效地进行监控工作。

zabbi本身的使用非常广泛,但由于产品涉及较多组件,安装的过程往往较为麻烦,需要花费不少时间进行部署调试。对此,本文将介绍如何基于docker容器的方式,快速搭建最新版本的zabbix监控平台,解决大家在安装部署上的痛点。

图片

zabbix架构信息

1.zabbix-server

zabbix 的server 端,负责接收agent发送过来的监控数据,并且提供z...

Read more

RHEL Podman命令


Podman介绍

Podman 是一个开源的容器运行时项目,可在大多数 Linux 平台上使用。Podman 提供与 Docker 非常相似的功能。正如前面提到的那样,它不需要在你的系统上运行任何守护进程,并且它也可以在没有 root 权限的情况下运行。 Podman 可以管理和运行任何符合 OCI(Open Container Initiative)规范的容器和容器镜像。Podman 提供了一个与 Docker 兼容的命令行前端来管理 Docker 镜像。

  1. Podman 官网地址:https://podman.io/
  2. Podman 项目地址:https://github.com/c...

Read more