《Kubernetes权威指南》(第1章)

《Kubernetes权威指南》分为六章:

第1章:Kubernetes入门

第2章:Kubernetes核心原理

第3章:Kubernetes开发指南

第4章:Kubernetes运维指南

第5章:Kubernetes高级案例进阶

第6章:Kubernetes源码导读

环境:(前文已经搭建过,链接http://www.pangxie.space/docker/618)

master:192.168.12.174,centos7,(etcd ,kube-apiserver,kube-controller-manager, kube-scheduler )

node01:192.168.12.175,centos7,(docker,kubelet,kube-proxy)

node02:192.168.12.176,centos7,(docker,kubelet,kube-proxy)

 

本文为第1章,将结合自己的理解,对该书进行学习和探讨。

第1章,主要分为3个要点:

1.搭建hello world留言板

2.通过上述案例,讲解Kubernetes的基本概念,包括node,pod,label,rc,service等

3.如何部署Kubernetes集群

 

1.搭建hello world留言板。

架构:

redis-master:1个pod,用于前端写操作

redis-slave:2个pods,用于前端读操作

php-frontend:3个pods,用于客户端访问的负载均衡

1.1redis-master部署

1.2redis-slave部署

1.3php-frontend部署

1.4验证

浏览器打开http://192.168.12.175:30001,或者http://192.168.12.176:30001

均可以看到留言板内容,且2个界面内容一致。

guestbook-001guestbook-002

2.通过上述案例,讲解Kubernetes的基本概念,包括node,pod,label,rc,service等

2.1node:

2.2pod

一个pod中的应用容器共享同一组资源:

PID命名空间,

网络命名空间,

IPC命名空间,

UTS命名空间,

Volume存储卷。

2.3label

Kubernetes集群通过label标签,对node,pod,service,rc进行管理和选择,同一个对象可以定义多个label

2.4rc

2.5service

一个service可以看作一组提供相同服务pods的对外访问接口。

Kubernetes支持两种对外提供service的方法:NodePort和LoadBalance

2.5.1NodePort

2.5.2 LoadBalance

外接负载均衡,一般配合云主机来实现,暂没有环境。

2.6Volume存储卷

文中列举了11种不同类型的Volume类型

常用的Volume类型:

2.6.1hostPath

将宿主机的文件或者目录挂载至pod

2.6.2nfs

将NFS提供的共享目录挂载至pod

2.6.3gcePersistentDisk

将google的GCE上的永久磁盘挂载至pod

2.6.4awsElasticBlockStrore

将亚马逊aws的EBS挂载至pod

2.7namespace

默认的namespace为default,用户有可以根据需要自己创建新的namespace。

使用namespce可以实现对不同用户的分组,即多租户管理

3.如何部署Kubernetes集群

3.1安装Kubernetes集群

前面已经安装过了,参考http://www.pangxie.space/docker/618

通过自己配置各组件的.service文件,理解其依赖关系。

3.2升级

a.停止master和node上Kubernetes组件服务

b.将新的二进制包解压,将新版可执行文件复制到Kubernetes安装目录即可。

c.重启master和node上Kubernetes组件服务

 

本文结束。