上面左边是个人我的微信,如需进一步沟通,请加微信。 右边是个人公众号“Openstack私有云”,若有兴趣,请关注。node
在上篇博文《Kubernetes 入门学习》中提到了Katacoda实验环境能够进一步熟悉K8S的使用,具体网址是:web
https://www.katacoda.com/courses/kubernetes/redis
最近花了一些时间完成这些实验场景,一共有17个实验场景,每一个场景大概10分钟左右,通过这些实验,对K8S就有一个大致的了解。这些场景包含这些内容:docker
启动单个节点群集服务器
了解如何启动包含DNS和Kube UI的单节点Minikube群集微信
使用Kubeadm启动多节点群集网络
使用Kubeadm引导Kubernetes集群架构
使用Kubectl部署容器app
了解如何使用Kubectl启动容器并使其可访问less
使用YAML部署容器
了解如何使用YAML定义来部署容器
部署留言簿Web应用程序示例
本场景教您如何使用Kubernetes部署Guestbook示例
网络介绍
了解可用的不一样网络方法
建立入口路由
了解如何定义基于主机和路径的Ingress路由
生存和准备健康检查
了解如何使用Liveness和Readiness探针确保容器健康
开始使用CRI-O和Kubeadm
了解如何部署基于CRI-O的Kubeadm群集
在Kubernetes上运行状态服务
了解如何在Kubernetes上运行有状态服务
使用Kubernetes管理秘密和密码
了解Kubernetes如何帮助确保机密
用Kompose部署Docker Compose文件
了解如何使用Kompose部署现有的Docker Compose定义
从源代码部署到Kubernetes
如何在Kubernetes中从源代码获取正在运行的服务
Helm包管理器
使用Kubernetes的Helm Package Manager来部署Redis
Helm(经典)包管理器
使用Kubernetes的Helm(经典)包管理器来部署Redis
在Kubernetes上安装Weave Scope
了解如何在Kubernetes上运行Weave Scope
Kubeless入门
了解如何使用Kubeless将无服务器功能部署到Kubernetes
17个实验涵盖了k8s的安装配置和使用,其中,对于实际使用颇有帮助的Helm能够实现标准化模块化功能组件(好比web服务、mariadb、redis等等)的自动化部署,包括自动化的镜像下载并根据dockerfile制做本身的镜像、上传镜像、自动配置标准化k8s的yaml部署配置文件。还有一个是k8s可视化组件Weave Scope,能够实现对整个k8s集群的web图形界面管理,更加直观方便的管理维护k8s集群。
通过实验,我的感受k8s真的作到了上层应用和基础架构脱离,原来须要考虑的平台差别、基础架构、双机冗余、容量扩展、软件版本升级等等一系列很费人力和时间的事情,在k8s里面所有被很是很是简单的获得了解决。
k8s是基于容器管理docker,node节点相似于openstack的计算节点使用docker来完成对容器的承载,master相似于openstack的controller节点完成对node的管理以及对pod的调度、自动化健康监测、node节点资源的监控,以及其余自动化的pod副本部署或者迁移。
k8s的主要管理命令是kubectl,能够完成大部分的k8s的管理任务,从概念上来讲,若是要学习k8s,必定要先熟悉docker的使用,kubectl对pod的相关管理命令的结构和docker很是相似。
开发人员使用k8s仍是有一些复杂,若是须要平滑高效的使用k8s,应该仍是须要使用Helm,Helm实现了大部分应用的标准模块化,好比web应用,各种中间件应用,各种开源版的数据应用,可是须要解决网络速度的问题,由于全部的应用都是由容器实现,通常容器文件都比较大,所以,后续使用须要考虑提早准备本地镜像。
平时k8s自己的监控和维护,能够经过部署Weave Scope 来完成。
对于k8s的应用场景,很是适用于应用复杂、软件应用版本变更频繁、资源使用变化大的互联网企业,对于中小规模的IT系统,我的以为仍是有一些小材大用。另外,也能够考虑直接使用红帽的k8s商业版Openshift,就不用本身部署k8s平台,直接使用便可。
我的以为,对于k8s,应该要看作一个革命性的产品,由于它真正作到了上层应用于下层基础架构解耦合,若是一个公司使用k8s架构,应用程序的维护就是一个个容器的维护和流动,能够放在本地物理机上的k8s平台,也能够直接流动到公有云,而且自动化程度足够高,能够极大解放维护人员,使维护人员将更多的精力放到平台架构方面。