自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 为CentOS 7.2中的Kuberbetes集群搭建Dashboard

此前,根据在CentOS 7.2上部署Kubernetes集群 已部署一个可用Kubernetes集群,在这篇文章中将介绍如何为该集群搭建可视化界面。部署Kubernetes Dashboard根据kubernetes github的介绍下载部署Kubernetes Dashboard的资源文件:# wget https://git.io/kube-dashboard-no-rbac# mv ku

2017-05-27 10:16:13 5587 2

原创 在CentOS 7.2上部署Kubernetes集群

本文参考Kubernetes官方文章centos_manual_config,介绍如何搭建一个拥有一个控制节点和三个工作节点的Kubernetes集群。集群节点192.168.120.121 kube-master192.168.120.122 kube-node1192.168.120.123 kube-node2192.168.120.124 kube-node3部署前的准备关闭防火

2017-05-26 16:21:11 3239

转载 在CentOS 7.2上搭建Docker私有镜像仓库

鉴于国内pull镜像的速度较慢,很有必要搭建docker私有或者本地镜像仓库。使用自签名进行安全认证创建certs目录# mkdir -p /docker/certs# chcon -Rt svirt_sandbox_file_t /docker/certs/修改/etc/pki/tls/openssl.cnf配置文件在该文件的[ v3_ca ]配置项中添加镜像仓库IP地址:[ v3_ca ]

2017-05-26 14:47:33 2104

原创 使用Kubeadm在CentOS7.2上部署Kubernetes集群

本文参考kubernetes官网文章Installing Kubernetes on Linux with kubeadm在CentOS7.2使用Kubeadm部署Kuebernetes集群,解决了一些在按照该文档部署时遇到的问题。操作系统版本# cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core)内核版本

2017-05-22 17:45:48 6469

原创 Kubernetes应用实例-GuestBook

在这个例子中,会在Kubernetes集群中部署这样一个应用 : 它是一个PHP网站,并同时运行3个副本来保证高可用; 这个PHP网站在Redis里存储了一个数据,不定期进行读写; 这个Redis服务由1个Matser节点和2个Slave节点组成高可用集群,读请求由Slave处理,写请求则交给Master。系统环境操作系统版本:CentOS Linux release 7.

2016-12-03 11:51:04 2103

翻译 Docker-搭建简单的应用栈

系统环境操作系统版本$ cat /etc/issueDebian GNU/Linux 8 \n \l内核版本$ uname -r3.16.0-4-amd64Docker版本 docker versionClient: Version: 1.12.1 API version: 1.24 Go version: go1.6.3 Git commit: 23cf638

2016-09-20 19:33:35 5519 3

原创 C/C++, 虚函数表

前言 To implement virtual functions, C++ uses a special form of late binding known as the virtual table. The virtual table is a lookup table of functions used to resolve function calls in a dynamic/lat

2016-08-25 11:24:24 779

原创 在redhat 6.6上安装Docker

安装环境支持Docker的RHEL版本Red Hat Enterprise Linux 7 (64-bit)Red Hat Enterprise Linux 6.5 (64-bit) 或更高版本不论是RHEL的哪个版本,Docker都要求是64位的安装环境。RHEL 6的内核版本必须是2.6.32-431或者更高。查看内核版本:uname -r安装docker安装libcgroup(该软件包提

2016-08-12 09:55:08 18682 1

原创 mysql问题解决:mysqladmin: connect to server at 'localhost' failed

mysql服务无法启动,通过修改mysql脚本其输出报错信息如下:$ /etc/init.d/mysql startStarting MySQL database server: mysqld/usr/bin/mysqladmin: connect to server at 'localhost' failederror: 'Can't connect to local MySQL server

2016-08-11 11:08:34 5879

原创 Gtk-Message: Failed to load module "canberra-gtk-module"

问题: Gtk-Message: Failed to load module “canberra-gtk-module”解决方法: $ sudo apt-get install libcanberra-gtk-module

2016-07-26 11:24:47 9866 2

原创 Linux kernel -- Uevent发送(热插拔)事件到用户空间

Uevent是一种在内核空间和用户空间之间通信的机制,主要用于热插拔事件(hotplug)。uevent事件根据include/linux/kobject.h中的定义,uevent事件可分为以下几种:enum kobject_action { KOBJ_ADD, KOBJ_REMOVE, KOBJ_CHANGE, KOBJ_MOVE, KOBJ_ONLINE,

2016-07-15 14:16:30 19338 3

原创 Linux Uevent和Netlink socket

Uevent是一种在内核空间和用户空间之间通信的机制,主要用于热插拔事件(hotplug)。编辑获取热插拔事件的源文件get_uevent.c#define _GNU_SOURCE#include <unistd.h>#include <stdio.h>#include <errno.h>#include <stdlib.h>#include <stddef.h>#include <str

2016-07-12 10:26:32 4772

原创 问题解决: error: ‘SCM_CREDENTIALS’ undeclared (first use in this function)

netlink.c: In function ‘main’:netlink.c:94: error: invalid application of ‘sizeof’ to incomplete type ‘struct ucred’ netlink.c:114: error: ‘SCM_CREDENTIALS’ undeclared (first use in this function)ne

2016-07-12 10:12:51 7504 1

原创 Docker - WARNING: No memory limit support 问题解决

打开/etc/default/grub文件,添加如下内容: GRUB_CMDLINE_LINUX="cgroup_enable=memory swapaccount=1"更新grub $ sudo update-grub重启系统 $ sudo reboot确认问题是否解决$ sudo docker info Containers: 0 Running: 0 Paused: 0 S

2016-07-09 18:50:47 9425

翻译 在Debian 8(jessie)上安装Docker

安装环境不管任何Debian版本Docker都需要64位环境。此外,内核版本必须最低为3.10。 最新的3.10小版本或较新的维护版本也可以接受。 内核老于3.10的版本缺少运行Docker容器所需的一些特性。这些老版本也已知存在Bug会导致数据丢失或者在确定条件下频繁崩溃。为了检查内核版本,请打开一个终端并使用uname -r显示内核版本:uname -r说明:本文安装环境使

2016-07-09 10:02:54 3285

原创 UNIX - 线程(1)

线程ID线程ID用于标识线程,类似于进程ID的数据类型pid_t,线程ID的数据类型为pthread_t,是一个非负整数,在/usr/include/bits/pthreadtypes.h中定义:/* Thread identifiers. The structure of the attribute type is not exposed on purpose. */typedef u

2016-07-07 10:52:50 349

翻译 IDR机制

前言本文用于分析IDR机制的源代码均基于2.6.32内核。概览IDR是linux内核管理整型ID的一种机制。本质上,这是一种将一个整型ID和一个指针关联的机制。这种机制最早在2003年2月作为POSIX定时器的一个补丁加入内核。IDR机制IDR机制适用于关联一个整型ID和指针的地方。例如,在IIC总线中,每个设备都有自己的地址,为了在总线上找到特定的设备必须先发送设备地址。当适配器访问IIC总线设备

2016-07-01 14:18:55 1661

原创 C/C++,运算符重载

编辑运算符重载源文件overload.cpp#include <iostream>using namespace std;class Complex{ public: Complex(){real = 0; imag = 0;} Complex(double r, double i){real = r; imag = i;} Complex

2016-06-12 20:37:47 346

原创 C/C++,常对象 - 保护共享数据

定义常对象的一般形式为类名 const 对象名 [(实参表)];或者const 类名 对象名 [(实参表)];编辑如下源文件student_change.cpp:#include <iostream>using namespace std;class Student{ public: Student(int n, float s):num(n), score(s){}

2016-06-10 11:13:35 490

原创 将.rpm转换为.tar.gz

安装rpm2targz - 下载rpm2targz:rpm2targz - 解压tar xzf rpm2targz-9.0.tar.gzchmod +x rpm2targz将rpm2targz添加到/usr/bin目录下mv rpm2targz /usr/binrpm2targz的用法rpm2targz [filename].rpm

2016-06-08 13:36:46 1497 1

原创 Linux kernel -- 内核对象kobject

内核对象和集合Linux驱动模型的基础是内核对象。它将总线类型、设备、驱动等看作是内核对象。内核对象的结构为kobject,相当于其它对象的基类。结构kobject的定义如下:struct kobject { const char *name; /*kobject的名字*/ struct list_head entry; /*将kobject链接

2016-05-22 11:45:17 711

原创 Virtualbox-debian 8 调整屏幕分辨率

前言虽然使用Virtualbox安装Debian 8系统后不能通过虚拟机的“安装增强功能”运行VBoxLinuxAdditions.run,但是可以通过命令行安装virtualbox-guest-dkms调整分辨率。安装环境Virtualbox安装环境:Windows 10 Virtualbox版本:4.3.12 r93733步骤调整屏幕分辨率分以下四步:更新源 安装virtualbox-gue

2016-05-01 10:30:09 4592

原创 UNIX - 标准I/O库

流和FILE对象对于标准I/O库,其操作是针对流(stream)进行的。当用标准I/O库打开或创建一个文件时,既已使一个流与一个文件相关联。流的定向(stream’s orientation) 流的定向决定了所读、写的字符是单字节还是多字节的。当一个流最初被创建时,它未被定向。如果在一个未定向的流上使用一个单字节I/O函数,则将流的定向被设置为字节定向的。如果在一个未定向的流上使用一个多字节I/O

2016-03-19 10:29:33 414

原创 在Ubuntu14.04上搭建Bugzilla

搭建Bugzilla之前的准备工作搭建Bugzilla之前检查下列软件包是否安装:apache2mysqlperl & perl modulespostfix检查及安装过程如下所示安装apache2#dpkg -l apache2Desired=Unknown/Install/Remove/Purge/Hold | Status=Not/Inst/Conf-files/Unpacked

2016-03-13 19:12:42 2710

原创 UNIX - stat、fstat和lstat函数,获取文件信息结构

stat、fstat和lstat函数返回一个文件的有关信息。函数声明 #include #include #include int stat(const char *path, struct stat *buf); int fstat(int fd, struct stat *buf); int lstat(const char *path, struct stat *b

2016-03-08 13:30:14 796

原创 UNIX - umask函数,创建文件模式屏蔽字

umask函数用于为进程设置文件模式创建屏蔽字,并返回之前的屏蔽字。#include <sys/types.h>#include <sys/stat.h>mode_t umask(mode_t mask);其中,参数mask由以下9个常量中的若干位“或“构成。例1 使用umask设置文件创建屏蔽字int main(){ umask(0); if (creat("file_old"

2016-03-08 10:12:37 1067

翻译 C/C++,关键字typeof的用法

typeof (alternately typeOf or TypeOf) is an operator provided by several programming languages which determines the data type of a given variable. This can be useful when constructing parts of programs

2016-03-03 15:35:37 44905

原创 Libreoffice打开文档读取错误恢复

使用libreoffice打开.odt、.ods等格式的文档时发生如下图所示错误: 错误解决步骤右击文件,选择“使用归档处理器打开“,从中可见context.xml文件。 备份context.xml,使用Firefox浏览器打开备份文件。 点击Firefox菜单栏“文件“,选择“打开文件“,然后找到并选择备份文件,此时Firefox会提示如下图所示信息。 从浏览器提示的信息,可知错误在c

2016-03-01 14:57:49 5396

原创 C/C++,指针的定义和使用

概述C语言中的指针是专门用来存放内存地址的变量。每个指都有一个与之相关联的数据类型,该类型决定了指针指向的数据的类型。 C语言中使用*把一个标识符声明为一个指针,指针定义的一般形式为: 数据类型 *指针变量名; 例如: char *pc; int *pi; doule *pd = NULL; 第三行定义了一个指针并初始化为NULL,表示该指

2016-02-29 20:50:21 2558

空空如也

空空如也

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

TA关注的人

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