InfraPub 为您找到相关结果 236

AWS EKS 添加IAM用户角色 - SRE运维博客

> 作者:[SRE运维博客](https://www.cnsre.cn/) > > 博客地址: [https://www.cnsre.cn/](https://www.cnsre.cn/) > > 文章地址:[https://www.cnsre.cn/posts/211203931498/](https://www.cnsre.cn/posts/211203931498/) > > 相关话题:[https://www.cnsre.cn/tags/aws/](https://www.cnsre.cn/tags/aws/) 因为 Amazon EKS 集群时,IAM 用户或角色会自动在集群的 RBAC 配置中被授予 system:masters 权限。例如,IAM 用户或角色可以是集群...阅读全文

博文 2022-12-19 21:15:27 博客园

K8S中Pod的四个阶段及状态分析

Kubernetes 中, pod 从到成功运行会分别处于不同的阶段,每个阶段又分为不同的状态,本文将简单介绍这个环节。 在 K8S 源码中,使用了 PodPhase 这个变量定义这几个阶段信息,如下图所示: 运行中(PodRunning):该 Pod 已经绑定到了一个节点上,Pod 中所有的容器都已被。至少有一个容器正在运行,或者正处于启动或重启状态。等待中(PodPending): Pod 的请求已被 Kubernetes 系统接受,但有一个或者多个容器镜像尚未。可能的原因有,写数据到etcd,调度,pull镜像,启动容器这四个阶段中的任何一个阶段,pending 伴随的事件通常会有:ADDED, Modified这两个事件的产生。等待时间包括调度 Pod 的时间和下...阅读全文

博文 2020-07-15 13:11:45 debian.cn

XFS V5 如何找到文件的创建时间?

xfs 从 v5 开始支持查看文件的时间。使用 dmesg 命令,可以查看系统当前使用的 xfs 的版本: ``` # dmesg | grep -iE 'xfs.*\s+mounting' | head -1 ``` 如何查看 xfs 上文件的时间? 找到文件的 inode 信息后,就可以直接查看, ``` # stat -c '%i' test.txt 7827295 ``` 然后获取文件的时间, ``` # xfs_db -r -c "inode 7827295" -c "p v3.crtime.sec" v3.crtime.sec = Thu Feb 23 12:15:46...阅读全文

Terraform 学习总结 — Terraform 简介

)。Terraform 生成一个执行计划,描述它将做什么来达到所需的状态,然后执行它来构建所描述的基础结构。随着配置的变化,Terraform 能够确定发生了什么变化,并可应用的增量执行计划。 Terraform 是用 Go 语言开发的开源项目,你可以在 github 上访问到它的源代码。 Terraform 核心功能 基础架构即代码(Infrastructure as Code)执行计划(Execution Plans)资源图(Resource Graph)自动化变更(Change Automation) 基础架构即代码(Infrastructure as Code) 使用高级配置语法来描述基础架构,这样就可以对数据中心的蓝图进行版本控制,就像对待其他代码一样对待它。 执行计划(Execution...阅读全文

OpenSSL 如何创建自签名证书?

使用一个 openssl 命令,即可完成, `openssl req -newkey rsa:2048 -nodes -keyout /etc/ssl/private/myblog.key -x509 -days 365 -out /etc/ssl/private/myblog.pem` 过程中会要求输入一些信息,样例如下: ``` ----- Country Name (2 letter code) [AU]:DE State or Province Name (full name) [Some-State]:Berlin Locality Name (eg, city) []:Berln Organization Name (eg, company...阅读全文

最全 MongoDB 基础教程

MongoDB 数据库 - 格式:use DATABASE_NAME - use ruochen - db 数据库需要插入一条数据才会在列表中显示 - db.ruochen.insert({'name': '若尘'}) - show dbs 删除数据库 格式:db.dropDatabase() use ruochen db.dropDatabase() show dbs 集合 - 格式:db.createCollection(name, options) - name: 要的集合名称 - options: 可选参数,指定有关内存大小及索引的选项 字段 类型 描述 capped 布尔 (可选)如果为 true,则固定集合。固定集合是指有着固定大小的集合,当达到最大值时,它...阅读全文

博文 2021-02-22 07:45:45 OSChina

Kubernetes源码探疑:Pod IP泄露排查及解决方法

UK8S是UCloud推出的Kubernetes容器云产品,完全兼容原生API,为用户提供一站式云上Kubernetes服务。我们团队自研了CNI(Container Network Interface)网络插件,深度集成VPC,使UK8S容器应用拥有与云主机间等同的网络性能(目前最高可达10Gb/s, 100万pps),并打通容器和物理云/托管云的网络。过程中,我们解决了开源kubelet多余Sandbox容器导致Pod IP莫名消失的问题,确保CNI插件正常运行,并准备将修复后的kubelet源码提交给社区。 深度集成VPC的网络方案 按照我们的设想,开发者可以在UK8S上部署、管理、扩展容器化应用,无需关心Kubernetes集群自身的搭建及维护等运维类工作。UK8S完全兼容原生...阅读全文

Kubernetes常用命令大全(持续更新)

-versions #### API kubectl get events #### 查看事件 kubectl get nodes //获取全部节点 kubectl delete node k8s2 //删除节点 kubectl rollout status deploy nginx-test kubectl create -f ./nginx.yaml #### 资源 kubectl create -f . #### 当前目录下的所有yaml资源 kubectl create -f ./nginx1.yaml -f ./mysql2.yaml #### 使用多个文件资源 kubectl create -f ./dir #### 使用目录下的所有清单文件来资源 kubectl...阅读全文

博文 2020-03-13 12:35:13 debian.cn

APISIX Ingress 如何使用 Cert Manager 管理证书

于在 Kubernetes 平台上简化证书管理的软件,它支持对接许多不同的证书源,如 Let's Encrypt 和 HashiCorp Vault。 如果你在使用 Apache APISIX Ingress Controller 时,遇到了证书管理的麻烦,那么使用 Cert Manager 将会是一个不错的选择,本文将介绍如何通过 Cert Manager 来证书并对接到 Apache APISIX Ingress Controller。 步骤一:环境准备 如果你希望按照本文的指导进行实际的操作,请确保以下环境和工具已准备就绪: 准备一个可用的 Kubernetes 集群,开发环境中,你可以使用 Kind 和 Minikube 安装 kubectl 安装 Helm v3 请注意,下文所...阅读全文

博文 2023-02-09 07:38:06 中文开源技术交流社区

Debian 环境中安装git服务器 Gogs(上)

Gogs 数据库和用户。 使用 postgres 用户登录并运行 psql 命令以访问 PostgreSQL 操作界面,并一个名为 git 的新用户,给予此用户 CREATEDB 权限。 su - postgres psql CREATE USER git CREATEDB; \password git 然后名为 gogs_production 的数据库,设置 git 用户作为其所有者。 CREATE DATABASE gogs_production OWNER git; Gogs 使用的 gogs_production 数据库和数据库的 git 用户已经完。 步骤 3 - 安装 Go 和 Git 使用下面的 apt 命令从库中安装 Git,并系统用户 git, sudo...阅读全文

博文 2018-03-10 09:35:31 debian.cn

为什么 Django 能持续统治 Python 开发世界

对于 Python 开发者来说,web 开发框架真可谓玲琅满目。然而 Django , 毋庸置疑的成为最受青睐的 web 框架。通过本篇博客,我来为大家讲解下为什么相比 Flask、Pyramid、Tornado、Bottle、Diesel、Pecan、Falcon 这些流行的 Python web 框架,Python 开发者更倾向于选择 Django。 再大肆宣扬Django之前,让我们简单了解一下web框架 Web框架是一个代码库,使开发人员更容易构建动态网站、Web应用程序和Web服务。 众所周知的是,每个网站都有一些通用的功能(如处理会话,数据验证等等),一些您每次网站时都需要编写的功能。 这使开发任务平淡乏味。 然而,使用Web框架可以让您每次网站都需要重新编写通用功能代...阅读全文

博文 2017-07-21 14:15:11 debian.cn

Git 免用户名密码访问代码库

在使用 git 时,如果不是使用ssh 和 key 验证的方式,则每次提交都会让输入用户名和密码,会显得比较麻烦,在服务器上配置时也无法做到自动同步更新代码。那么如何解决这个问题呢?我们这里介绍除 ssh + key 以外的免密码登录方式。在全局中存储用户的账号密码 以 Windows 环境为例,在 %HOME% 目录中,一般为C:\Users\username(也可以是你自己的系统用户名目录)目录下,.git-credentials 文件。 文件内容为一行,样例如下: https://username:password@git.example.com 注:username对应的 git 服务器的用户名,password 为密码。然后再进入 git bash 中执行, git...阅读全文

博文 2018-11-28 12:55:36 debian.cn

深入了解Docker背后的namespace技术

,这是系列博客的第一篇,深入探讨Docker对namespace技术的应用。 Namespaces 在第一部分,我会在文章中讨论Docker在使用Linux namespace时,如何Linux namespace。在之后的博客中我们会讨论namespace如何与其它特性如cgroups和隔离的文件系统相结合,去实现更多有用的功能。 从根本上说,namespace是Linux系统的底层概念,有一些不同类型的命名空间被部署在核内。跟踪docker run -it --privileged --net host crosbymichael/make-containers这段代码,我们就可以深入到每个不同的namespace。开始会有一些预加载文件和配置。尽管我们也会在用Docker为我们运行的...阅读全文

博文 2015-05-17 10:03:00 debian.cn

Rancher 2.2.2 发布:优化 Kubernetes 集群运维

Rancher 2.2.2 发布了。Rancher 是一个开源的企业级 Kubernetes 平台,可以管理所有云上、所有发行版、所有 Kubernetes 集群,解决了生产环境中企业用户可能面临的基础设施不同的困境,改善 Kubernetes 原生 UI 易用性不佳以及学习曲线陡峭的问题。 新版本的更新亮点有: Rancher CVE-2019-11202 修复 开发团队发现过一个问题:Rancher 首次启动时的默认管理员帐户将在 Rancher 的后续重新启动时重新,即使 Rancher 管理员明确删除了该帐户,也仍会如此。这会带来一定的安全风险,因为帐户是使用 Rancher 的默认用户名和密码重新的。因此,攻击者可以使用这些默认账号密码来获取对 Rancher...阅读全文

博文 2019-04-22 13:49:38 debian.cn

如何在 Debian 上安装 TensorFlow

系统上是否安装了Python 3。在 Debian 10 中,默认已经安装了Python 3.7 的版本。 推荐的虚拟环境的方法是使用软件包venv提供的模块python3-venv。 如果你还没有安装 python3-venv ,请输入以命令安装: sudo apt update sudo apt install python3-venv 2、虚拟环境 建立一个独立的工作目录, mkdir my_tensorflow cd my_tensorflow 进入目录,使用以下命令新的虚拟环境, python3 -m venv venv 上面的命令一个名为venv的目录,该目录包含Python二进制文件,Pip程序包管理器,标准Python库和其他支持文件的副本。运行...阅读全文

Rust的模块化系统: 包Packages, 箱Crates, 和模块Modules

包 Packages: Cargo提供的让我们, 测试和分享Crates的工具.箱 Crates: 提供类库或可执行文件的模块树模块 Modules and use: 管理和组织路径, 及其作用域和访问权限路径 Paths: 如结构体(structs), 函数(function), 或模块(module)等事物的命名方式包(Packages)和箱(Crates)包(Package)通过Cargo. 每一个包(Package)都有一个Cargo.toml文件. 包(Package)包含箱(Crates)的规则如下:只能包含0或1个类库箱(library crates)可以包含任意多个二进制箱(binary crates)至少有一个箱(Crate), 可以是类库箱(library...阅读全文

博文 2021-02-20 08:49:51 知乎

企业制定开源战略的免费指南

大多数使用开源的公司都了解其商业价值,但他们可能缺乏战略性地实施开源计划和获得全部回报的工具。根据 The New Stack 最近的一项调查,“开源计划的三大好处是 1)提高了对开源的认识,2)提高了开发周期的速度和灵活性,以及 3)更好的许可证合规性。” 开源指南 运作一个开源计划办公室涉及到策略来帮助你定义和实施你的方法,并衡量你的进度。由 Linux 基金会与 TODO Group 合作开发的 企业开源指南基于多年的经验和实践提供了专业开源知识。 最新的指南中, 设置开源战略详细介绍了制定战略和确保成功之路的基本步骤。根据该指南,“你的开源战略将管理、参与和开源软件的计划与计划所服务的业务目标联系起来。这可以开辟许多机会并促进创新。”该指南涵盖以下主题: 为什么制定战略?你...阅读全文

博文 2018-12-17 13:05:32 debian.cn

Debian下安装配置 Hadoop 3.1.3 集群

"slave1" # slave2 ssh-keygen -t rsa -C "slave2" # slave3 ssh-keygen -t rsa -C "slave3" 5. 免密码登录 在每台主机上执行: ssh-copy-id -i ~/.ssh/id_rsa.pub master ssh-copy-id -i ~/.ssh/id_rsa.pub slave1 ssh-copy-id -i ~/.ssh/id_rsa.pub slave2 ssh-copy-id -i ~/.ssh/id_rsa.pub slave3 6. 用户和用户组 在每台主机上执行: useradd -m -s /bin/bash hadoop JDK 安装与配置 1. 手动安装JDK 解压jdk安装包到/usr...阅读全文

博文 2019-11-27 23:04:39 debian.cn

在 Mac OS X 上安装 Nessus 10

在 macOS 上安装 Nessus 10 macOS安装Nessus一、下载二、 安装三、初始化登录四、 安装插件和配置文件五、重启服务编译插件六、验证七、如何更新插件 macOS安装Nessus 修复部分破解方法在安装Nessus10重启之后重置授权问题。 一、下载 下载 macOS:https://sysin.org/blog/macOS/ 下载 Nessus:https://sysin.org/blog/nessus-10/ 或者链接:https://pan.baidu.com/s/1DrkX1nbysFgdmbO4657JIg?pwd=9jxl 提取码:9jxl 下载插件: 插件版本202301231642 链接:https://pan.baidu.com/s...阅读全文

如何在 Debian 上添加和删除用户

您应该知道如何在一个新鲜的Linux服务器上执行的最基本的任务之一是添加和删除用户。当您一个新的系统,你往往只能给出默认root帐户。 虽然运行在root用户提供了大量的功能和灵活性,这也是危险的,可能是破坏性的。添加一个额外的,无特权的用户来执行常见任务几乎总是一个更好的主意。然后,您应为系统上可能有的任何其他用户其他帐户。 您仍然可以获取管理员权限,当你需要他们通过一个名为机制sudo 。 在本教程中,您将学习如何用户帐户,分配sudo特权,和删除用户。 如何添加用户 如果您作为root用户登录,您可以在通过键入任何时候一个新的用户: adduser sammy 如果要在谁被赋予了非root用户登录, sudo特权,因为在证明初始服务器设置向导 ,您可以添加通过键入新用...阅读全文

博文 2021-01-28 17:50:21 debian.cn

Kubernetes 使用 PodPreset 注入信息到 Pods_哎_小羊的博客

文章目录 1、PodPreset 介绍2、环境、软件准备3、K8s 启用 PodPreset 配置4、PodPreset 注入信息示例4.1、匹配指定 Pod 加载配置4.2、匹配某个 Namespace 下所有 Pod 加载配置 1、PodPreset 介绍 PodPreset 是一种 K8s API 资源,用于在 Pod 时注入其他运行时需要的信息,这些信息包括 secrets、volume mounts、environment variables 等,我们可以使用标签选择器来指定某个或某些 Pod,来将 PodPreset 预设信息应用上去。使用 PodPreset 的好处就是我们可以将一些常用 Pod 预设信息配置为模板,这样就不需要显式为每个 Pod 提供所有信息,简化...阅读全文

博文 2021-01-27 18:47:00 CSDN博客

Kubernetes 部署 Nacos 1.4 集群 · 小豆丁

态依赖分析、服务的健康状态、服务的流量管理、路由及安全策略、服务的 SLA 以及最首要的 metrics 统计数据。 二、提前部署 Mysql Nacos 需要提前部署 Mysql,目前支持 5.7 及 8.0 版本。关于如何部署 Mysql 可以参考之前本人写的一篇文章 Kubernetes 部署 Mysql 数据库。 三、导入 SQL 相关数据 等数据库完成后,还需要导入 SQL 文件来它的表结构和一些基础数据。操作如下,我们进入 Mysql 客户端,执行 source 命令导入 SQL 文件。 $ mysql -uroot -p123456 mysql> source /data/nacos.sql SQL 地址:Nacos 数据 Sql 文件地址 你也可以通过 Navicat...阅读全文

博文 2021-02-24 10:10:29 www.mydlq.club

AWS IAM 基本概念介绍

ComplianceIntegrated with many AWS servicesEventually ConsistentFree to use 基本概念 User 您可以在账户中与组织中的用户对应的各 IAM 用户,而不是与他人共享您的根账户凭证。IAM 用户不是单独的账户;它们是您账户中的用户。每个用户都可以有自己的密码以用于访问 AWS 管理控制台。您还可以为每个用户单独的访问密钥,以便用户可以发出编程请求以使用账户中的资源。 Group IAM中,组是 IAM 用户的集合。利用组,可为多个用户指定权限,以便更轻松地管理这些用户的权限。例如,您可能有一个名为 Admins 的组,并向该组授予管理员通常需要的权限类型。该组中的任何用户均自动具有分配给该组的权限。如果有新用户加入您的组织,并且需要管理员权限,则可...阅读全文

博文 2019-06-04 20:22:31 debian.cn

腾讯云 TKE 集群如何修改单节点的Pod数量的上限?

TKE集群在时,会设置节点上允许的Pod数量的上限,一般默认是64个。 这里介绍,如何把单节点的 Pod 数量上限,从 32个 调整到 64个,分两种: 1. 新增的节点,需要在节点时指定最大Pod 的上限,增加一个自定义项即可, ![94e3.png](https://img.debian.cn/210826/d5feab6345ffe7746904b417470594e3.png) 2. 存量的节点可以使用这个脚本更新一下配置: ``` #!/bin/bash grep MAX_PODS /etc/kubernetes/kubelet if [ $? -eq 0 ]; then echo 'patched already' sed...阅读全文

kubectl 创建 Pod 背后到底发生了什么?—探寻 Kubectl 创建 Pod 的原理

deployments,而背后的复杂性被隐藏在简单的抽象中。但为了充分理解它为我们提供的价值,我们需要理解它的内部原理。 本指南将引导您理解从 client 到 Kubelet 的请求的完整生命周期,必要时会通过源代码来说明背后发生了什么。 这是一份可以在线修改的文档,如果你发现有什么可以改进或重写的,欢迎提供帮助! 1. kubectl 验证和生成器 当敲下回车键以后,kubectl 首先会执行一些客户端验证操作,以确保不合法的请求(例如,不支持的资源或使用格式错误的镜像名称)将会快速失败,也不会发送给 kube-apiserver。通过减少不必要的负载来提高系统性能。 验证通过之后, kubectl 开始将发送给 kube-apiserver 的 HTTP 请求进行封装。kube-apiserver 与...阅读全文

博文 2022-04-18 16:18:04 CSDN

Debian 9 使用kubeadm创建 k8s 集群(上)

本教程使用的是 Kubernetes 1.14版,这是本文发布时的官方支持版本。 有关最新版本的最新信息,请参阅官方Kubernetes文档中的当前发行说明 。 Kubeadm自动安装和配置Kubernetes组件,例如API服务器,Controller Manager和Kube DNS。 但是,它不会用户或处理操作系统级依赖关系及其配置的安装。 对于这些初步任务,可以使用Ansible或SaltStack等配置管理工具。使用这些工具可以更加简单地其他集群或重新现有集群,并且不易出错。 在本指南中,您将使用Ansible和Kubeadm从头开始设置Kubernetes集群,然后将容器化的Nginx应用程序部署到它。 目标 您的群集将包含以下物理资源: 一个主节点 主节点...阅读全文

博文 2019-05-13 22:47:39 debian.cn

AMD 为 RHEL/CentOS 替代品 AlmaLinux 提供支持

AlmaLinux OS Foundation 宣布了四名新成员的加入,包括 Sine Nomine Associates、BlackHOST、Knownhost 以及最引人注目的 AMD。新成员对 AlmaLinux 的发展方向有发言权,可以投票支持其他成员并被其他成员投票选入董事会。“新成员提供的资源使 AlmaLinux 更接近于与红帽企业 Linux(RHEL)完全持平。”AlmaLinux 是开放源码的、社区驱动的项目,它从红帽企业 Linux (RHEL) 的源码编译而来。AlmaLinux 跟 RHEL 8 完全在二进制上兼容,由 CloudLinux OS 的者打造。AlmaLinux OS Foundation是一个非营利组织,旨在为 AlmaLinux OS 社区的...阅读全文

Debian 9.3上安装和配置 Observium 监控平台

enable mysql 配置MariaDB 默认情况下,MariaDB不安全。 您可以使用以下命令来保护它: mysql_secure_installation 回答所有问题如下: set root password? [Y/n] n Remove anonymous users? [Y/n] y Disallow root login remotely? [Y/n] y Remove test database and access to it? [Y/n] y Reload privilege tables now? [Y/n] y 一旦MariaDB得到保护,您将需要为Observium一个数据库和用户。 首先,使用以下命令登录到MySQL shell: mysql -u root -p...阅读全文

博文 2017-12-30 11:35:21 debian.cn

Debian 使用VSFtpd安装配置架设FTP服务器

许匿名用户有目录的权利 dirmessage_enable=YES 是否显示目录说明文件,默认是YES但需要收工.message文件 xferlog_enable=YES 是否记录ftp传输过程 xferlog_file=/var/log/vsftpd.log 设置日志文件的路径 connect_from_port_20=YES 是否确信端口传输来自20(ftp-data) idle_session_timeout=600 设置默认的断开不活跃session的时间 data_connection_timeout=120 设置数据传输超时时间 max_clients=Number 如果以standalone模式起动,那么只有$Number个用户可以连接,其他的用户将得到错误信息,默认是...阅读全文

博文 2021-01-28 17:50:09 debian.cn

如何在一个U盘上安装多个Linux发行版

本教程介绍如何在一个 U 盘上安装多个 Linux 发行版。这样,你可以在单个 U 盘上享受多个现场版live Linux 发行版了。 我喜欢通过 U 盘尝试不同的 Linux 发行版。它让我可以在真实的硬件上测试操作系统,而不是虚拟化的环境中。此外,我可以将 USB 插入任何系统(比如 Windows 系统),做任何我想要的事情,以及享受相同的 Linux 体验。而且,如果我的系统出现问题,我可以使用 U 盘恢复! 单个可启动的现场版 Linux USB 很简单,你只需下载一个 ISO 文件并将其刻录到 U 盘。但是,如果你想尝试多个 Linux 发行版呢?你可以使用多个 U 盘,也可以覆盖同一个 U 盘以尝试其他 Linux 发行版。但这两种方法都不是很方便。 那么,有没有在单个...阅读全文

博文 2017-10-18 13:42:20 debian.cn

Debian 环境中安装git服务器 Gogs(下)

$GOPATH/src/github.com/gogits/gogs go build 确保你没有遇到错误。 现在使用下面的命令运行 Gogs Go Git 服务器。 ./gogs web 此命令将会默认运行 Gogs 在 3000 端口上。 打开网页浏览器,键入您的 IP 地址和端口号,我的是 http://192.168.150.100:3000/ 。 你将会得到与如下的 web 界面, Gogs 已经在您的 Debian 系统上安装完毕。现在返回到您的终端,并且键入 Ctrl + C 中止服务。 步骤 5 - 配置 Gogs Go Git 服务器 本步骤中,我们将为 Gogs 惯例配置。 进入 Gogs 安装目录并新建 custom/conf 目录,复制默认的配置文件到 custom 目录,并...阅读全文

博文 2018-03-10 09:52:28 debian.cn

在树莓派上搭建 Raspbian 系统下的 Kubernetes 集群

我们将介绍,如何在三个树莓派上,出一套 Kubernetes 集群并正常使用。在这种场景下,主节点的内存和 CPU 资源较有限,执行 Kubernetes 任务时性能会有折扣,想做升级也不容易。 在开始之前,我们先介绍 K3s 这个项目。K3s 被誉为是最轻量级的 Kubernetes 发行版,它针对低配的 x86 和 ARM 处理器优化,可以让 Kubernetes 在树莓派上运行得更好。 基于 Raspbian 的 kubernetes 集群 本文我们将介绍如何使用 K3s 在树莓派上 Kubernetes 集群。系统我们用的是树莓派最流行的 Raspbian。 准备工作 在开始 Kubernetes 集群之前,我们需要准备, 至少一个树莓派,包括 SD 卡和电源网线,普通...阅读全文

博文 2020-04-12 16:30:23 debian.cn

Spinnaker 介绍 – Netflix 的持续交付平台

,Google云,微软云等,后来还支持了容器,但是管理方式还是按照管理基础设施的模式来设计的。 Spinnaker 中管理如下资源: Server Group:最基本的逻辑资源,包括了若干使用相同配置和镜像的虚拟机,若干负载均衡(load balancer),以及安全组。安全组规则(Security Group):就是 AWS 中的安全组,可以理解成防火墙。负载均衡(Load Balancer):AWS 中的 ELB,也可能是安装在虚拟机中的负载均衡。 2. 部署管理 管理部署流程是 Spinnaker 的核心功能,他负责将软件包(可能是手工的或者 jenkins 的)打成一个镜像,用这个镜像生成对应的虚拟机,让服务真正运行起来: pipeline 在 Spinnaker 中一个部署流程叫做...阅读全文

博文 2018-12-21 19:30:47 debian.cn

Docker 核心原理

page 很好的介绍了 namespace 的作用。 namespace提供了一种内核级别隔离系统资源的方法,通过将系统的全局资源放在不同的 namespace 中,来实现资源隔离的目的。不同 namespace 的进程拥有相互隔离的系统资源。 这里指的资源隔离包含以下这些: Mount: 隔离文件系统挂载点 UTS: 隔离主机名和域名信息 IPC: 隔离进程间通信 PID: 隔离进程的 ID Network: 隔离网络资源 User: 隔离用户和用户组 通过下面的 clone 系统调用可以新的进程,参数 flags 控制的进程所属的 namespace, 多个 flags 可以同时多个 namespace。 1 int clone(int (*child_func)(void...阅读全文

博文 2021-02-25 09:14:23 lxkaka

UNTANGLE NG FIREWALL 13.0.0,基于 DEBIAN 的网关系统

Untangle NG Firewall 13.0.0 发布了,Untangle NG Firewall 是基于 Debian 的网关系统,它带有可插拔的模块以支持各种网络应用,这包括垃圾邮件阻挡、网页过滤、反病毒、反间谍软件、入侵阻止、虚拟专用网、SSL 虚拟专用网、防火墙等等。 新版本引入了基于 MAC 的设备跟踪功能,用户跟踪(通过多种方法)以及覆盖 Untangle OpenVPN 设置的能力。 此版本还引入了两个新功能:标签(Tags)和触发器(Triggers)。 标记是一个新功能,允许管理员标记主机,设备或用户,以便基于具有与其相关联的特定标签的实体快速策略。 标签可以由管理员手动应用或根据条件自动应用。触发器允许管理员在特定事件发生时标记主机,设备和用户。 然后,管理员...阅读全文

开源团队协作 TMS 发布新版本 v2.10.0

TMS 是一个用 Java 语言开发的,类似 Slack、Barrychat 的团队协作沟通Web平台,同时也是一个支持博文wiki撰写,国际化翻译管理的 Web管理系统。近期,TMS 发布了新版本 v2.10.0。 新功能: #IHIS4: 博文最近编辑文章列表,方便找到最近编辑的文章, 待办事项管理(让繁多的待办事项有条不紊的备忘记录,然后逐步攻破,减少记忆负担,提高工作利率不是一丢丢) 频道组(聊天频道支持分组,方便一次性 @多人 ,减少@具体用户的数次(爽的不要不要的) 优化改进: #II5PA: 游客可见博文 分享链接 复制分享 博文过滤查找清除过滤条件,输入框获取输入焦点 #II9N9: 沟通频道,按标签检索过滤 #IINTK: 沟通内容页面当 window...阅读全文

博文 2018-05-01 23:03:20 debian.cn

WSL2 将普遍可用,Linux 内核提供方式改变

微软博客宣布,WSL2 将在 Windows 10 2004 版中正式进入普遍可用(GA,Generally Available)状态。 WSL 2 是去年微软在 Build 2019 上宣布推出的,相比第一代,新的 WSL 重新设计了架构,使用真正的 Linux 内核,可以在 Windows 上运行 ELF64 Linux 二进制文件。 Linux 二进制文件使用系统调用来执行许多功能,例如访问文件、请求内存与进程等。WSL 1 了一个转换层,对这些系统调用进行翻译,以允许它们在 Windows NT 内核上工作。但是,实现所有这些系统调用很有挑战性,导致某些应用程序无法在 WSL 1 中运行。现在 WSL 2 包含自己的 Linux 内核,它具有完整的系统调用兼容性,这引入了一...阅读全文

博文 2020-03-15 10:53:59 debian.cn

如何使用 ipset 将单个国家的所有IP加入黑名单

ipset 是 iptables 的扩展,它允许你匹配整个地址集合的规则,而不像普通的 iptables 链只能单IP或单网段匹配。 ipset 规则中的IP地址集合存储在带索引的数据结构中,这种结构即时集合比较大也可以进行高效的查找,从而减少系统资源占用或网络拥塞。IPset 也具备一些新防火墙设计方法,并简化了配置。ipset 的官网:http://ipset.netfilter.org 下面我们以一个实际场景为样例,介绍如何在Debian系统中,使用 ipset 将单个国家的左右 IP段 加入黑名单。 #### 准备工作:安装 ipset、或者网段列表 sudo apt-get -y install ipset wget -P . http://www.ipdeny.com...阅读全文

博文 2021-02-06 16:43:47 joseph

Kafka 常用命令行工具

主题kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic infras_cn 查看所有主题kafka-topics.sh --zookeeper localhost:2181 --list 查看指定主题的详细信息kafka-topics.sh --zookeeper localhost:2181 --topic infras_cn --describe 命令行生产者kafka-console-producer.sh --broker-list localhost:9092 --topic infras_cn 行消费者消费所...阅读全文

Rancher 2.3 发布:支持Windows容器 集成Istio

Istio的集成,极大简化了Istio的安装和配置,Rancher中现已内置支持: 用于流量和遥测可视化的Kiali仪表板用于追踪的Jaeger用于监控和可观察性的Prometheus和Grafana Rancher 2.3还正式支持了Kubernetes v1.15.x和Docker 19.03。 增强Kubernetes安全性 Rancher 2.3引入了“集群模板”功能,它可以让企业在整个基础架构中实施一致的集群配置,进而帮助企业降低安全风险。具体而言,通过使用集群模板: 运维人员可以在其所有集群部署中、保存并放心使用经过良好测试的Kubernetes配置。管理员可以启用配置强制实施,从而抑制配置漂移或不当的配置错误。如果更多的集群,这些配置不当可能会带来安全风险。...阅读全文

博文 2019-10-10 11:44:14 debian.cn

Gitlab 从 12.1 版本开始不再支持 MySQL

Gitlab 官方 宣布 ,将从 12.1 版本开始不再支持 MySQL 数据库。早在 2017 年 7 月,Gitlab 就计划将弃用对 MySQL 的支持。而目前这个决定将从 12.1 版本开始。 官方列出几个 MySQL 不能满足 Gitlab 需求的地方: 无法支持嵌套分组查询(详情)必须使用黑科技来提升 MySQL 对列的限制,这将导致 MySQL 拒绝存储数据MySQL 无法添加 TEXT 类型字段的长度限制MySQL 不支持分区索引还有类似 Geo 为了解决上面这些问题,Gitlab 了许多专门针对 MySQL 的代码。 在某些情况下,这导致合并请求的复杂性要高一倍,因为它们必须支持第二个数据库后端。 和维护这些代码会消耗我们的循环时间和速度,并且会降低我们的迭代值...阅读全文

博文 2019-07-03 22:41:20 debian.cn

三个简单而优秀的 Linux 网络监视器

接口。以这种方式合并多个接口的数据: $ vnstat -i wlan0+eth0+eth1 你可以通过以下几种方式过滤显示: -h 以小时显示统计数据。 -d 以天数显示统计数据。 -w 和 -m 按周和月显示统计数据。 使用 -l 选项查看实时更新。 此命令删除 wlan1 的数据库,并停止监控它: $ vnstat -i wlan1 --delete 此命令为网络接口别名。此例使用 Ubuntu 16.04 中的一个奇怪的接口名称: $ vnstat -u -i enp0s25 --nick eth0 默认情况下,vnstat 监视 eth0。你可以在 /etc/vnstat.conf 中更改此内容,或在主目录中自己的个人配置文件。请参见 man vnstat 以获得完整的参考...阅读全文

博文 2017-11-07 00:07:38 debian.cn

Golang 中的 channel 通道详解

channel通道golang的并发模型是序列通信处理CSP(communicating sequential process)——使用通信来共享内存 ,避免goroutine因竞争共享内存频繁加锁产生的性能问题。基本数据结构golang中提供了一个特殊的类型channel实现goroutine之间的通信。channel类似于队列,先进先出。channel数据结构源码在src/runtime/chan.go下。chan 使用 hchan 表示,它的传参与赋值始终都是指针形式,每个 hchan 对象代表着一个 chan。hchan 中包含一个缓冲区 buf,它表示已经发送但是还未被接收的数据缓存。buf 的大小由 chan 时的参数来决定。qcount 表示当前缓冲区中有效数据的总量...阅读全文

Django 采用新的项目治理模式

Django 此前的治理模式不太合理,对于持续发展壮大的 Django 社区产生阻碍。官网博客介绍,最开始 Django 项目发起人(Adrian Holovaty 和 Jacob Kaplan-Moss)可以授权其他人 commit 的权限。到了 2014 年,committer 的核心团队人数已经不少,在两位创始人辞去领导职务后, 保留了一个核心 committer 团队的基本结构,该团队可以根据自己的选择向 Django 添加代码。同时了一个新的小组:由核心 committer 选举产生的由 5 名 committer 组成的“技术委员会”,并作为最终的决策者。 但是实际上,现在几乎所有添加到 Django 的代码都由 Django Software Foundation(DSF...阅读全文

博文 2020-03-26 08:51:49 debian.cn

Kubernetes调度算法浅析

在真正的生产环境中,如何合理的分配服务器资源、提高利用率、让整个集群运行的更加稳定使得 k8s-scheduler 这个角色在集群中的地位愈发重要。 kube-scheduler的预选(过滤)和精选(打分) api-server会将pod的请求发送给kube-scheduler,并且将pod信息记录在etcd数据库中。之后kube-scheduler会根据预选(过滤)规则,首先过滤掉一部分node节点中的pod,没有被过滤掉的pod可以看做是可以被调度的pod,之后再通过更加严格的规则给剩下的pod打分,这一步也叫作优选。打分最高的pod可以看做被优先分配到pod任务。 调度流程简介 pod的命令被api-server的api接口接收到。api-server将pod信息存储在...阅读全文

博文 2020-12-20 11:01:10 debian.cn

Linux 上如何禁用 USB 存储设备

为了保护数据不被泄漏,我们使用软件和硬件防火墙来限制外部未经授权的访问,但是数据泄露也可能发生在内部。 为了消除这种可能性,机构会限制和监测访问互联网,同时禁用 USB 存储设备。 在本教程中,我们将讨论三种不同的方法来禁用 Linux 机器上的 USB 存储设备。所有这三种方法都在 CentOS 6&7 机器上通过测试。那么让我们一一讨论这三种方法。 方法 1:伪安装 在本方法中,我们往配置文件中添加一行 install usb-storage /bin/true, 这会让安装 usb-storage 模块的操作实际上变成运行 /bin/true, 这也是为什么这种方法叫做伪安装的原因。 具体来说就是,在文件夹 /etc/modprobe.d 中并打开一个名为...阅读全文

博文 2017-12-18 22:52:58 debian.cn

深入理解Golang之context

available (because the // surrounding function has not yet been extended to accept a Context // parameter). Background和TODO只是用于不同场景下: Background通常被用于主函数、初始化以及测试中,作为一个顶层的context,也就是说一般我们的context都是基于Background;而TODO是在不确定使用什么context的时候才会使用。下面将介绍两种不同功能的基础context类型:valueCtx和cancelCtx。valueCtxvalueCtx结构体type valueCtx struct { Context key, val interface...阅读全文

博文 2021-01-27 09:05:27 知乎

如何在docker pull时,配置使用代理服务?

实测有效的一个方案,通过给docker 配置 http_proxy 的方式,配置代理,配置方式如下: 建立空目录: `mkdir /etc/systemd/system/docker.service.d` 文件,内容如下:`vi /etc/systemd/system/docker.service.d/http-proxy.conf` ``` Environment="HTTP_PROXY=http://proxy.example.com:80/" Environment="HTTPS_PROXY=http://proxy.example.com:80/" Environment="NO_PROXY=localhost,127.0.0.0/8,docker...阅读全文

Consul 如何强制剔除无效节点,批量 force-leave 节点?

首选从 members 命令的输出中,一个 failed 的文件列表,文件内容为 Node 节点名称,每行一个,保存为 /tmp/failed, 然后执行这个命令就可以批量清理了, ``` for i in `cat /tmp/failed`; do echo $i ++++++++++++++; \ curl --request PUT -H 'Content-Type: application/json' 'http://127.0.0.1:8500/v1/agent/force-leave/'$i; \ done ``` /tmp/failed 文本内容,取自 `bin/consul members | awk '{print $1...阅读全文