k8s入门

简介:
这也是今天用心写的一篇原创文,带段子的技术文。也许有的读者看不懂,没关系,文中有段子,看段子就好了。学习任何东西都要去在基于『理解』的基础上去学,这样往往会事半功倍。也有人说我有点高调,但见过我的人都应该有所接触,现实中完全不是这样的。别人在给我说观点的时候,更多时候我只是一个倾听者。哪怕听到有一些不太认同的观点,我也基本不会去反驳。
废话有点多,前天我生日, 这是我写过最帅的代码!这篇文章赞赏超过 100 多,感谢大家的支持和认可。我继续努力,争取把我所学到的,见到的都后续分享出来,能有帮助就好。我本身就是个念旧的人,身上的钱包从大二开始到现在用了8年左右没换过,媳妇还给我送了一个钱包,大概是希望继续在多多赚钱吧。。

因为最近工作中需要用到k8s,基本白天去公司实操,晚上回来看书。一口气买了两本技术类书籍。今天就把我所学到的分享给大家,对不起,久等了。

记得入职当天,因为我们组就 3 个人。负责公司的 k8s 集群架构。责任比较重大,一旦环境出问题,意味着所有的开发和测试都要歇菜休息,大家想想出问题了,他们肯定不愿意,白天浪费太多的时间意味着他们都要晚上加班。要搁我身上,我也不愿意。

有读者问什么是 k8s? 用来干什么的?这个逼格有那么高吗?

k8s其实是一个编排工具,在容器也就是 docker 的基础之上去管理软件应用生命周期的一个工具,主要运行在 linux 上。说到这里得插入一个有趣得题外话题:公司有一个测试妹子,没用过 linux ,不知道如何去链接 linux ,不知道如何在 linux上去解压安装包。同事抓住了机会又调侃了一把测试妹子,说『跑着去啊,右键解压就可以了』。结果妹子去照做了,每成功。我估计他们接下来有戏了。所以多学习还是有好处的。从创建应用——应用部署——提供服务——扩容缩容——应用迭代等一系列流程全部是由它管理的。不用像传统的行业,在升级或者故障切换时还需要去停业务或者停止数据库,可以做到快速切换升级,不停止用用。

k8s集群

集群,为什么要使用集群? 说白了,三个臭皮匠顶个诸葛亮,众人的力量大呀。一根筷子一下就掰断了,多根筷子使劲也很难把它掰断。这个就是机群的作用,你坏了我上,我坏了你上。理解之后没什么难的。看上去名字很唬人,实际上也就是那么一回事。

k8s概念

这个就跟学习数据库是一样的,首先理解数据库能干什么?由哪些东西组成。比如它是存客户业务数据的,由表、表空间等等一些东西组成。在k8s中有这么一些概念:cluster、Master、Node、Pod、Rc、Service、Namespace以及yaml文件、helm包、kube-proxy等等。本身就是一个分布式高可用的东西。
  1. cluster。它是计算、存储、网络资源的整合。k8s利用这些资源去运行各种基于容器的应用。

  2. Master。集群主节点,这个相当于人的大脑,我们的一切行为都是大脑去调配。它主要负责分配和调度任务。决定将应用放在哪里去执行。Master运行与 linux 上,可以使物理机也可以是虚拟机。为了可以实现高可用,可以部署多个Master节点。

  3. Node。它的职责是听从Master的调配并负责容器 docker 的应用。Node由Master管理,去负责监控并汇报容器的状态,同时根据 Master的要求去管理容器的生命周期。它也是运行在 linux 上,可以是物理机也可以是虚拟机。

  4. Pod。Pod是k8s调度的最小单元。每一个Pod包含一个或多个容器。pod中的容器会作为一个整体被Master调度到一个node上运行。

  5. rc控制文件。主要用来管理配置。

  6. service。顾名思义提供服务的,想要跑起来非得靠它不可。

  7. Namespace。其实就类似于数据库中有多个用户,创建了30个视图,每个视图需要分配给不同的用户,并同时将他们的资源切割开来。便于管理。

  8. helm包。k8s用来打包的工具。其实就类似与debian、乌班图得apt,红帽和centos上的 yum 仓库一样。而helm就是 k8s 上的包管理工具。

  9. kube-proxy。它得作用主要用来做负载均衡功能。什么叫负载均衡?比如这里有 180 斤 土豆,大家平均分配哈,要不然两个人背了 30 斤,你让剩下的那个人情以何堪呀?


k8s常用命令

 

# 查看集群信息
kubectl cluster-info
# 查看各组件信息
kubectl -s http://localhost:8080 get componentstatuses
# 查看pods所在的运行节点
kubectl get pods -o wide
# 查看pods定义的详细信息
kubectl get pods -o yaml
# 查看rc信息
kubectl get rc
# 查看service的信息
kubectl get svc
# 查看集群节点信息
kubectl get nodes
# 创建
kubectl create -f 文件名
# 重建
kubectl replace -f 文件名 [--force]
# 删除
kubectl delete -f 文件名
kubectl delete pod pod名
kubectl delete rc rc名
kubectl delete service service名
kubectl delete pod --all

docker打镜像:

 

一般在windows上将压缩包上传到linux上:
docker -i load + 名称用来加载;
docker images 用来列出本机上的镜像;
给镜像打标签:
docker tag+镜像名。
docker push推镜像;
docker pull拉镜像


三天学习的结果,我争取继续努力。平时没什么时间去追剧,周六熬夜看了下『沙海』,有人说这部剧不错,也有人吐槽这部剧结局不太看好。但是给我印象最深刻的是吴三石的那个老师说的那段话「复读三个月考了六百六十六分,人才啊,你就是老师的骄傲啊,看来老师的努力没有白费」。你看说话都说的这么有水平。六百六十六,不就是 666 么?要我看,这个老师绝b人才啊,有木有?


原文发布时间为:2018-09-17
本文作者:说点特别的
本文来自云栖社区合作伙伴“说点特别的”,了解相关信息可以关注“说点特别的”。

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
云原生时代的容器化实践:Docker和Kubernetes入门
【10月更文挑战第37天】在数字化转型的浪潮中,云原生技术成为企业提升敏捷性和效率的关键。本篇文章将引导读者了解如何利用Docker进行容器化打包及部署,以及Kubernetes集群管理的基础操作,帮助初学者快速入门云原生的世界。通过实际案例分析,我们将深入探讨这些技术在现代IT架构中的应用与影响。
205 2
云原生入门:从Docker到Kubernetes的旅程
【10月更文挑战第2天】本文将带你走进云原生的世界,从基础的Docker容器技术开始,逐步深入到Kubernetes集群管理。我们将通过实际代码示例,探索如何利用这些工具构建、部署和管理现代云应用。无论你是初学者还是有经验的开发者,这篇文章都将为你提供宝贵的知识和技能,让你在云原生领域迈出坚实的一步。
127 5
云原生入门与实践:Kubernetes的简易部署
云原生技术正改变着现代应用的开发和部署方式。本文将引导你了解云原生的基础概念,并重点介绍如何使用Kubernetes进行容器编排。我们将通过一个简易的示例来展示如何快速启动一个Kubernetes集群,并在其上运行一个简单的应用。无论你是云原生新手还是希望扩展现有知识,本文都将为你提供实用的信息和启发性的见解。
云原生入门:Kubernetes的简易指南
【10月更文挑战第41天】本文将带你进入云原生的世界,特别是Kubernetes——一个强大的容器编排平台。我们将一起探索它的基本概念和操作,让你能够轻松管理和部署应用。无论你是新手还是有经验的开发者,这篇文章都能让你对Kubernetes有更深入的理解。
云原生技术入门:Kubernetes和Docker的协同工作
【10月更文挑战第43天】在云计算时代,云原生技术成为推动现代软件部署和运行的关键力量。本篇文章将带你了解云原生的基本概念,重点探讨Kubernetes和Docker如何协同工作以支持容器化应用的生命周期管理。通过实际代码示例,我们将展示如何在Kubernetes集群中部署和管理Docker容器,从而为初学者提供一条清晰的学习路径。
Kubernetes入门:搭建高可用微服务架构
【10月更文挑战第25天】在快速发展的云计算时代,微服务架构因其灵活性和可扩展性备受青睐。本文通过一个案例分析,展示了如何使用Kubernetes将传统Java Web应用迁移到Kubernetes平台并改造成微服务架构。通过定义Kubernetes服务、创建MySQL的Deployment/RC、改造Web应用以及部署Web应用,最终实现了高可用的微服务架构。Kubernetes不仅提供了服务发现和负载均衡的能力,还通过各种资源管理工具,提升了系统的可扩展性和容错性。
231 3
云原生技术入门:Kubernetes和Docker的协作之旅
【10月更文挑战第22天】在数字化转型的浪潮中,云原生技术成为推动企业创新的重要力量。本文旨在通过浅显易懂的语言,引领读者步入云原生的世界,着重介绍Kubernetes和Docker如何携手打造弹性、可扩展的云环境。我们将从基础概念入手,逐步深入到它们在实际场景中的应用,以及如何简化部署和管理过程。文章不仅为初学者提供入门指南,还为有一定基础的开发者提供实践参考,共同探索云原生技术的无限可能。
100 3
云原生入门:Kubernetes和容器化的未来
【10月更文挑战第23天】本文将带你走进云原生的世界,探索Kubernetes如何成为现代软件部署的心脏。我们将一起揭开容器化技术的神秘面纱,了解它如何改变软件开发和运维的方式。通过实际的代码示例,你将看到理论与实践的结合,感受到云原生技术带来的革命性影响。无论你是初学者还是有经验的开发者,这篇文章都将为你开启一段新的旅程。让我们一起踏上这段探索之旅,解锁云原生技术的力量吧!
云原生入门:Kubernetes 和容器化基础
在这篇文章中,我们将一起揭开云原生技术的神秘面纱。通过简单易懂的语言,我们将探索如何利用Kubernetes和容器化技术简化应用的部署和管理。无论你是初学者还是有一定经验的开发者,本文都将为你提供一条清晰的道路,帮助你理解和运用这些强大的工具。让我们从基础开始,逐步深入了解,最终能够自信地使用这些技术来优化我们的工作流程。
云原生入门:Kubernetes和Docker的协同之旅
【10月更文挑战第4天】在这篇文章中,我们将通过一次虚拟的旅行来探索云原生技术的核心——Kubernetes和Docker。就像乘坐一艘由Docker驱动的小船启航,随着波浪(代码示例)起伏,最终抵达由Kubernetes指挥的宏伟舰队。这不仅是一段技术上的旅程,也是理解现代云架构如何支撑数字世界的冒险。让我们扬帆起航,一探究竟!

热门文章

最新文章