LOADING

Follow me

Kubernetes集群之路(二)etcd集群部署
4月 26 2018|

在前面我们生成了所有kubernetes相关的TLS证书,kubernetes集群自身所有配置相关信息都存储在etcd之中,而flannel也将网络子网网段注册到etcd之中并为集群中节点的pod提供了加入同一局域网的能力。因此接下来我们安装部署etcd集群。

因为flannel插件也依赖于etcd存储信息,所以我们首先需要安装etcd集群,使之实现高可用。

在开始之前请确保在上一篇文章中生成的TLS证书都分发到需要部署的所有机器节点的以下位置:

  1. /etc/kubernetes/ssl/etcd.pem
  2. /etc/kubernetes/ssl/etcd-key.pem
  3. /etc/kubernetes/ssl/ca.pem
阅读全文 »
Kubernetes集群之路(一)TLS证书配置
3月 26 2018|

Kubernetes是Google开源的容器化集群管理系统,其提供的应用部署、扩展、服务发现等机制对于微服务化架构应用有着十分重要的作用。

本系列文章基于以下版本来讲述如何使用二进制方式安装Kubernetes集群顺便讲述下踩坑的心路历程:

  • Kubernetes version: v1.10
  • System: CentOS Linux 7
  • Kernel: Linux 3.10.0

Kubernetes系统的各个组件需要使用TLS证书对其通信加密以及授权认证,所以在部署之前我们需要先生成相关的TLS证书以便后续操作能够顺利进行。

阅读全文 »
lua读取redis数据的null判断
1月 26 2018|

最近在配合移动端调试的时候,被抓去debug一个在清除redis缓存之后才会出现的网关错误。于是打开服务器上的log定位到类似错误:

1
[error] 7#7: *12030 lua entry thread aborted: runtime error: /data/share/apps/lua/access_check.lua:133: bad argument #1 to 'decode' (string expected, got userdata)

该段代码的主要作用是在openrestylua读取redis中数据并解码为json

1
2
3
4
5
6
7
8
local access_token = redis_client:read_by_key(token_key)
if access_token == nil then
-- do something...
return false
end

local obj_token = cjson.decode(access_token)
-- do something

通过查询资料得知原因:lua读取redis数据返回结果为空时,返回的结果不是nil而是userdata类型的ngx.null


阅读全文 »
聊聊Mybatis Update操作返回值
9月 06 2017|

后端的数据持久化使用的是 Mybatis ,在做高并发下账户增减余额的时候,打算使用乐观锁来解决这个问题。在获取update操作的返回值时遇到了一个问题,似乎 Mybatis 进行 update 操作得到的 int 返回值并不是影响的行数。这下就尴尬了。

一般而言,我们知道当我们使用 Mybatis 在 mapper 接口中定义 insert delete 等操作,定义一个 int 类型的返回值,通过该值是否为 0 来判断数据库中受影响的行数进而判断操作是否成功。

阅读全文 »
Gradle、Maven项目相互转换
8月 21 2017|

在开发Android项目的时候,使用的是Gradle构建工具,喜欢它的灵活和方便,在转向Java后端开发的时候更多时候使用的是Maven构建工具,然而看着漫天的尖括号,心里实在是难受。虽然只是一个构建工具,本着折腾的心,我还是更认可和看好Gradle。然而很多时候你的队友并没有习惯去使用或者快速熟悉Gradle构建工具,那么这个时候就需要将Gradle项目转换为Maven项目了,或者将Maven项目转换为Gradle项目了。

阅读全文 »
Docker非Root运行
7月 11 2017|

Docker Engine的Deamon进程是以root权限运行的,如果是普通用户要与之交互,需要使用sudo命令来提权与之交互。之前使用Docker官方的安装脚本安装完成之后,会给出一个提示将当前非root用户添加到doker组之中,以避免每次都需要输入sudo的麻烦。

然而随着Docker版本的迭代和官网的安装方式的更改,现在官方给出的安装方式是添加仓库源地址,然后使用默认的apt或者yum包管理工具来完成后安装。并不再提示用户添加非root用户到组。

默认情况下,完成Docker Engine的安装之后,Docker将会自动创建一个名为docker的用户组,所以root用户和在docker组中的用户都可以免去sudo来与Docker Engine交互。知道原理之后就简单了:

1
sudo usermod -aG docker ${whoami} #添加当前用户到docker组
About Me
-
Hello, my name is Zouyee.
I'm a programmer from SUZHOU, work on CloudNative.
advertising
Instagram Feed
  • | and every tear is a waterfall |
  • | the space in which we're traveling | by my @alex_pottery_art
  • | up&up |
  • | Friday candy | #ihavethisthingwithfloors
  • | in my place in my place |
  • | just the two of us | #kat_windows
  • | be colorful |
  • | when i grow up |
Facebook feed

Whey yours maxshop theme is not work true and yours support dont help us ... See MoreSee Less

View on Facebook
Video
ad Unit
0%