谭明宵博客

Every day is May day!


  • 首页

  • 标签

  • 分类

  • 归档

  • 搜索

使用 Prometheus Operator 监控 Kubernetes

发表于 2019-01-09 | 更新于 2019-01-10 | 分类于 docker | 评论数: | 阅读次数:

简介

Prometheus Operator 是 CoreOS 开发的基于 Prometheus 的 Kubernete s监控方案,也可能是目前功能最全面的开源方案。更多信息可以查看https://github.com/coreos/prometheus-operator

部署 Prometheus Operator

前期准备

1. 创建命名空间

为方便管理,创建一个单独的 Namespace monitoring,Prometheus Operator 相关的组件都会部署到这个 Namespace。

# kubectl create namespace monitoring

2. 导入相关镜像

所有节点上面导入 prometheus-operator.tar,下载地址:prometheus-operator.tar

# docker load -i prometheus-operator.tar

阅读全文 »

Kubernetes 安装 Helm 并使用 Helm 安装 wordpress

发表于 2019-01-04 | 分类于 docker | 评论数: | 阅读次数:

Helm 简介

Helm 有两个重要的概念:chart 和 release。

chart 是创建一个应用的信息集合,包括各种 Kubernetes 对象的配置模板、参数定义、依赖关系、文档说明等。chart 是应用部署的自包含逻辑单元。可以将 chart 想象成 apt、yum 中的软件安装包。

release 是 chart 的运行实例,代表了一个正在运行的应用。当 chart 被安装到 Kubernetes 集群,就生成一个 release。chart 能够多次安装到同一个集群,每次安装都是一个 release。

Kubernetes Helm 是一个管理预先配置 Kubernetes 资源包的工具,这里的资源在 Helm 中也被称作 Kubernetes charts。使用 Helm可以:

  • 查找并使用已经打包为 Kubernetes charts 的流行软件
  • 分享您自己的应用作为 Kubernetes charts
  • 为 Kubernetes 应用创建可重复执行的构建
  • 为您的 Kubernetes 清单文件提供更智能化的管理
  • 管理 Helm 软件包的发布

Helm 包含两个组件:Helm 客户端和 Tiller 服务器,如下图所示。
helm

Helm 客户端负责 chart 和 release 的创建和管理以及和 Tiller 的交互。Tiller 服务器运行在 Kubernetes 集群中,它会处理 Helm 客户端的请求,与 Kubernetes API Server 交互。

阅读全文 »

使用 kubeadm 部署 kubernetes 1.13.1

发表于 2019-01-02 | 更新于 2019-01-03 | 分类于 docker | 评论数: | 阅读次数:

最近有时间重新学习 k8s。k8s 的安装比之前简单了许多,本文介绍如何使用 kubeadm 部署 kubernetns 1.13.1

前期准备

环境概览

准备了3台机器,有一台master,两台node,主机名及IP如下:

主机名IP地址
k8s-master172.20.6.116
k8s-node1172.20.6.117
k8s-node2172.20.6.118

系统设置

1. 修改三台机器的主机名

# hostnamectl set-hostname XXXX

2. 设置本地解析

编辑三台机器的 hosts 文件加入以下内容

# vim /etc/hosts

172.20.6.116 k8s-master
172.20.6.117 k8s-node1
172.20.6.118 k8s-node2

阅读全文 »

使用pacemaker配置mariadb高可用集群

发表于 2018-11-14 | 更新于 2018-12-31 | 分类于 openstack | 评论数: | 阅读次数:

Galera cluster是一个多主同步数据库集群,基于同步复制技术和 Oracle 的 MYSQL/InnoDB。使用Galera Cluster时,您可以直接任意节点读取和写入。并且在丢失任何单个节点时可以不中断操作且无需处理复杂故障转移过程。
galera
下面介绍如何为openstack环境配置mariadb galera高可用集群。

阅读全文 »

使用 pacemaker 配置 rabbitmq 高可用集群

发表于 2018-11-12 | 更新于 2018-12-31 | 分类于 openstack | 评论数: | 阅读次数:

OpenStack 高可用集群各个服务组件之间使用消息队列进行通信,消息队列系统的高可用是 OpenStack 集群能够提供高可用服务的核心基础。在 OpenStack 中 Rabbitmq 是使用最多的高级消息队列系统。下文介绍如何使用 pacemaker 集群配置Rabbitmq 的高可用。

阅读全文 »

OpenStack 二层网络模式下弹性伸缩测试

发表于 2018-10-19 | 更新于 2018-12-31 | 分类于 openstack | 评论数: | 阅读次数:

环境

操作系统:CentOS Linux release 7.5.1804 (Core)
OpenStack版本:OpenStack Ocata Allinone
注意事项:packstack安装时开启 heat-cfn,gnocchi,aodh,panko等

阅读全文 »

容器生态系统

发表于 2018-09-27 | 更新于 2018-12-31 | 分类于 docker | 评论数: | 阅读次数:

图片整理自《每天5分钟玩转Docker容器技术》

image

kolla-mitaka-eol 部署openstack mitaka遇到的问题

发表于 2018-07-09 | 更新于 2018-07-18 | 分类于 openstack | 评论数: | 阅读次数:

实验需要使用 kolla 部署 openstack mitaka环境,由于是两年前的版本,实验过程中遇到了一些坑,记录如下。

系统环境

操作系统:CentOS Linux release 7.2.1511 (Core)
内核版本:3.10.0-327.28.3.el7.x86_64
kolla版本:mitaka-eol
docker版本:Docker version 1.13.1, build 092cba3
docker镜像:官方tag 2.0.2 (对应 openstack mitaka版本)

问题一: openvswitch_db 容器无法运行

问题描述

kolla-ansible deploy 部署openstack的时候总会遇到 openvswitch_db service 无法启动的问题

TASK: [neutron | Waiting the openvswitch_db service to be ready] ************** 
failed: [localhost] => {"attempts": 30, "changed": false, "cmd": ["docker", "exec", "openvswitch_db", "ovs-vsctl", "--no-wait", "show"], "delta": "0:00:00.032518", "end": "2018-07-09 07:33:12.680647", "failed": true, "rc": 1, "start": "2018-07-09 07:33:12.648129", "stdout_lines": [], "warnings": []}
stderr: Error response from daemon: Container 0cec739aabe06805aa0e1624318ac052d9f8fb176078df3d20a13c4df304fa7a is restarting, wait until the container is running
msg: Task failed as maximum retries was encountered

FATAL: all hosts have already failed -- aborting

查看容器日志有如下报错

INFO:__main__:Kolla config strategy set to: COPY_ALWAYS
INFO:__main__:Loading config file at /var/lib/kolla/config_files/config.json
INFO:__main__:Validating config file
INFO:__main__:Copying service configuration files
INFO:__main__:Writing out command to execute
Running command: '/usr/sbin/ovsdb-server /var/lib/openvswitch/conf.db -vconsole:emer -vsyslog:err -vfile:info --remote=punix:/run/openvswitch/db.sock --log-file=/var/log/openvswitch/ovsdb-server.log'
ovsdb-server: I/O error: open: /var/lib/openvswitch/conf.db failed (No such file or directory)

阅读全文 »

CentOS 编译安装 ixgbe-5.3.7

发表于 2018-07-03 | 更新于 2018-12-31 | 分类于 linux | 评论数: | 阅读次数:

1. 安装依赖

# yum install gcc kernel-header kernel-devel

2. 解压源码并编译

# tar zxvf ixgbe-5.3.7.tar.gz
# cd ixgbe-5.3.7/src/
# make

此时还是有以下错误

# make
common.mk:102: *** Kernel header files not in any of the expected locations.
common.mk:103: *** Install the appropriate kernel development package, e.g.
common.mk:104: *** kernel-devel, for building kernel modules and try again. Stop.

打开 common.mk 发现编译时需要 /usr/src/linux 目录,但是系统并没有此目录,手动创建 /usr/src/kernels/3.10.0-862.6.3.el7.x86_64/ 到 /usr/src/linux 的链接即可

# ln -s /usr/src/kernels/3.10.0-862.6.3.el7.x86_64/ /usr/src/linux

阅读全文 »

OpenStack SR-IOV研究

发表于 2018-06-15 | 更新于 2018-12-31 | 分类于 openstack | 评论数: | 阅读次数:

关于 SR-IOV 本文就不再介绍了,具体可以查看 Intel® 82599 SR-IOV Driver Companion Guide。

一、系统环境

操作系统: RHEL 7.2
OpenStack版本: OpenStack Mitaka Allinone
网卡型号: Intel Corporation 82599ES
SR-IVO网卡名: ens1f0, ens1f0

二、服务器配置

在服务器 BIOS 中开启 VT-d 和 SR-IOV

三、操作系统配置

1. 编辑 /etc/default/grub 文件,加入以下内容

# vim /etc/default/grub

GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
-GRUB_CMDLINE_LINUX="rd.lvm.lv=rhel/root rd.lvm.lv=rhel/swap rhgb quiet"
+GRUB_CMDLINE_LINUX="rd.lvm.lv=rhel/root rd.lvm.lv=rhel/swap rhgb quiet intel_iommu=on"
GRUB_DISABLE_RECOVERY="true"

需要说明的是: ixgbe.max_vfs 参数已经废弃,故没有加入到内核参数中。

阅读全文 »
12…6
tanmx

tanmx

一个默默无闻的工程师的日常

57 日志
9 分类
74 标签
RSS
GitHub E-Mail Weibo Zhihu Twitter
Creative Commons
苏ICP备15020594号-1 © 2019 tanmx
由 Hexo 强力驱动
|
主题 – NexT.Mist
0%