Alan Hou的个人博客

Kubernetes Recipes学习笔记

Kubernetes 架构简介和概览

Docker 简介

什么是容器?

什么是 Docker?

Docke Engine

注:本文中采用 Ubuntu 16.04进行所有的安装及测试

Kubernetes 集群架构概览

什么是 Kubernetes?

单节点 Kubernetes 部署(Minikube)

掌握 YAML文件

什么是 YAML?

两个 Kubernetes 对象字段:

常用 Kubernetes对象:

构建第一个 Pod

配置 Kubernetes 集群

规划Kubernetes 集群

为什么要设计 Kubernetes集群?

设计 Kubernetes 集群

环境设置概览

安装 Kubernetes 的步骤:

需开启的端口(如开启了防火墙):

Kubernetes 集群安装

准备两台主机/虚拟机:

根据提示分别在主节点上使用普通用户执行如下命令:

在 worker 节点的 root 用户下执行前面所提示的命令(请根据实际状况修改):

若出现如下错误:

可按照文档执行:

注意:如果使用的镜像默认创建的主机名都相同,请在/etc/hostname 中进行修改

其它命令

Kubernetes 服务验证

集群通信详情

集群通信概览

Kubernetes 管理

部署、平滑升级和回滚

测试文件(nginx-dep.yaml)

使用kubectl create -f nginx-dep.yaml命令创建

服务网络

Ingress

创建 pod

web-01.yaml

使用kubectl create -f web-01.yaml命令创建

ingress.yaml

使用kubectl create -f ingress.yaml命令创建

ingress-rules.yaml

使用kubectl create -f ingress-rules.yaml命令创建

在本地查看机器的 hosts 文件中绑定:

此时在浏览器中使用 http://test.kuber.net:30090/即可进行访问

部署负载均衡

loadbalancer.yaml

配置和使用集群 DNS

busybox.yaml

使用kubectl create -f busybox.yaml命令创建

补充:若执行以上命令出现unable to upgrade connection pod does not exist报错

持久化存储

进入执行化存储所需的步骤:

在Master 节点添加pv.yaml

使用kubectl create -f pv.yaml命令创建

pvc.yaml

使用kubectl create -f pvc.yaml命令创建

nfs-pod.yaml(65534 为 id nobody 所获取的值)

使用kubectl create -f nfs-pod.yaml命令创建

自修复和自动伸缩

Kubernetes 自修复

Kubernetes 中的存活探针

存活探针类型

liveness.yaml

使用kubectl create -f liveness.yaml命令创建

自动伸缩

什么是自动伸缩?

横向 Pod 自动伸缩

横向 Pod 自动伸缩(HPA)

步骤:

metrics-server-deployment.yaml文件修改(Error from server (ServiceUnavailable): the server is currently unable to handle the request (get nodes.metrics.k8s.io))

监控类型

监控

监控让我们知道基础架构的性能和稳定性

两种主要类型的监控

基础架构监控

应用性能监控

两种展现数据的方式

聚合:视觉形式展现数据

警报:通知相关方

实现方案:

配置Prometheus和Grafana

配置 Prometheus 和 Grafana 的要求

 

集群监控

应用监控

报警

退出移动版