关注分享主机优惠活动
国内外VPS云服务器

先尝试k8s,通过rancher从上到下学习kubernetes(k8s容器)

总结:接下来我想介绍另一种学习思路:自上而下的学习。 通过虚拟机创建集群,支持多种虚拟机。 我们将在这里使用它。 在内部或外部公开您的服务。 控制器通过配置的规则进行管理。 三个主要的命令行程序用于启动集群。 必须在所有节点上运行以处理内部集群通信之类的事情。

以前用过docker,但不知道如何将容器应用到生产环境。 构建和运行 Docker 镜像非常简单。 难点包括容器部署(CICD)、容器网络和数据持久化。 如果我打包镜像并通过SSH连接到目标服务器并像以前一样运行它,似乎没有问题。 这是对打包和上传二进制文件的巨大改进。

k8s 就是一个帮助解决这些问题的工具。 k8s是master-节点架构,节点通过master进行管理。 首先,您需要将您的机器组成 k8s 集群。 集群机器的内网必须连接起来,这样集群才能捆绑在一起并由k8s接管。 您所需要做的就是准备一个配置文件并使用 k8s API 或 cli(命令行)发布镜像。 k8s 根据您设置的规则来管理容器。 应用场景包括单个镜像需要部署的容器(replicaSet)数量、服务升级策略(滚动更新)、服务故障恢复策略(节点故障时替换丢失的容器)(可以是)。替换为另一个节点)、灵活的扩展(例如,在监控 CPU 和其他指标达到临界值后自动添加容器)

您觉得怎么样? 你可能想使用k8s,但是当你打开k8s官方文档时,你会被长长的英文句子和各种陌生的概念弄糊涂。 在遵循教程的过程中,我发现了很多yaml设置,但它们都是命令行操作。 你可能已经被扔到墙上了(哈)。 还有 Pod、部署、副本集、服务等很多概念。 事物。 也许您花了一天的大部分时间耐心地研究文档,并觉得这根本不切实际。 谁能忍受这么多的配置和命令行?K8s 如此先进,不应该仅限于几个视觉效果。 开始了?我天真地认为 k8s 仪表板可能会有所帮助。 费尽周折安装之后,发现只剩下少量的监控数据。

接下来我想介绍另一种学习理念:自上而下的学习。 其实你不需要从一开始就了解k8的各种概念。 看看别人是如何使用k8的(这是9102年前的事了,非常潮流的公司已经使用k8很长时间了)。 不是说学任何东西都要先打好基础吗? 究竟什么是自上而下? 我们以学习开车为例。 一开始你只是看着其他人在路上开车。 他很酷并且会和女孩调情。 它比摩托车更安全。 我不怕风,也不怕雨。 我也想当教练开车。 你去申请驾校(看这里,你以为我是在骗你去报名驾校吗?),摸一辆车,看看别人怎么开车你就可以查。 了解了基础知识后,就可以在训练场地(考试环境)慢慢练习。 不需要了解交通法规,更不需要了解汽车的原理。 这些可以以后补充。 完成基础知识后,您就可以开始了。 那么你可能需要了解汽车的原理,对其进行修改和优化,并练习你的翻沟技术,才能成为一代老司机。

回到正题,学习k8s的时候可以先看看别人是怎么用的,这样才能了解细节,掌握它。 你怎么认为? 许多公司还没有跟上这一趋势。 目前,您可以使用开源和云服务。
首先,我们的想法没有任何问题。 想要方便的使用k8s,需要一个可视化的管理平台。
开源的有rancher、奇虎360/wayne等。 阿里云、腾讯云、AWS等云服务均提供容器服务管理后端。

让我们从启动器开始。 毕竟,它是开源且免费的。 值得注意的是,阿里云等容器服务是基于卷点的,可以托管master。 搭建一个低配置节点,每天仅需几块钱,持续1-2天。

本地启动 Rancher 容器:

sudo docker run -d --restart=unless-stopped -p 80:80 - p 443:443 -v /opt/rancher:/var/lib/rancher rancher/rancher

打开 https://127.0.0.1:8443 平台展示集群、节点、命名空间、成员等功能。

接下来,您需要准备 k8s 集群。 Minikube 可以轻松部署本地集群。 minikube通过虚拟机创建集群,支持多种虚拟机。 我将在这里使用 virtualBox。 启动它非常简单,只需一个命令:minikube start。 问题是墙。 这是设置代理的脚本:

函数 ministart() { 导出 HTTP_PROXY=http://192.168. 导出 HTTPS_PROXY=http://192.168.99.1:1089 导出 NO_PROXY=localhost,127.0.0.1,10.96.0.0/12,192.168 .99.0/24,192.168.39.0/24 minikube 启动 --docker-env =HTTP_PROXY=$HTTP_PROXY --docker-env=HTTPS_PROXY=$HTTPS_PROXY --docker[ k4]env=NO_PROXY=$NO_PROXY --registry-mirror=https://registry.docker-cn.com}

虚拟机使用主机的代理请注意无法将 127.0.0.1 与此 IP 一起使用,因为这是必需的,并且虚拟机使用虚拟网卡。 与主人沟通。 创建的网段的默认主机 IP 为 192.168.99.1,虚拟机的默认主机 IP 为 192.168.99.100。 您还需要将梯形监听地址更改为 127.0.0.1->0.0.0.0。监控所有网卡。 同样,rancher IP 也应该使用 192.168.99.1。 所有集群都必须可以访问此 IP。 如果您使用的是docker自带的k8s集群,您可以使用ifconfig来查找您的无线或有线网络的IP。 无论如何,127.0.0.1 都不能使用。

minikube 下载所需的镜像后,会在虚拟机中启动一个 k8s 集群。 您可以使用 minikube ssh 登录虚拟机并探索它。 接下来,将集群部署到rancher:

部署集群后,部署你的第一个应用echo-server:

过了一会儿,k8s已经部署了容器。 上面配置的暴露随机端口值为32192。 访问192.168.99.100:32192可以看到echo-server返回的信息。 如果你觉得一个pod不够用,点击+号,k8s会帮你水平扩展,启动第二个pod。 minikube虽然是一个节点,但它依赖于容器的隔离特性,使得即使单个节点也可以部署多个相同的应用程序。

体验 Rancher 的管道以及集成的 CICD 功能。 配置和运行代码仓库会创建 Jenkins 等容器。 片刻之后,您将看到工作负载 example-server 已部署。

文档中介绍了Pipeline原理:https://rancher.com/docs/ranc...rancher自动创建三个组件:

使用Jenkins执行管道。

Docker注册表,这是一个内部Docker注册表,用于存储管道构建镜像。 该镜像在管道生命周期之后就不存在了。 进行预订。 如果您需要在外部使用您的镜像,请配置外部仓库。

Minio 对象存储,已使用存储日志文件

Docker注册表和Minio数据持久性允许您配置这些卷。

现在,亲自探索 rancher 的各个页面。 常用的部署包括工作负载、负载平衡、服务判据和管道。 它还提供警报、日志记录、监控、用户权限等功能。 这是一个完整的k8s管理平台。 至此你应该知道如何使用k8s了。

现在你需要拿起k8s官方文档或者一本系统介绍k8s的书,并将rancher中使用的功能与k8s的概念相匹配。 现在你知道什么是重要的了。

一些概念:
Pod:k8s中最小的调度单元,可以是一个或多个容器。

服务:向内部或外部公开k8s服务。

部署:Pod 和副本集控制器通过部署配置的规则来管理 Pod。

三个主要命令行程序:
kubeadm:用于启动 k8s 集群。

kubelet:必须在每个节点上运行并处理集群的内部通信,类似于代理。

kubectl:客户端工具。 用户使用它向 k8s 集群发送指令。 与ssh类似,您可以配置私钥进行远程访问。 默认配置是~/.kube/config。

常用命令:

kubectl get all -Akubectl get namespaceskubectl get svckubectl get podskubectl getdeployments hello-world# 暴露服务 kubectl Exposedeployment hello- world - -type=NodePort --name=示例-s服务#logskubectl -ncattle-系统日志-l app=cattle-cluster-agent#exec#-c--containerkubectl exec-it pod[k4 ] ]name -c Container -name -- /bin/bash

细节我们以后慢慢考虑。 概述如下:

k8s focus 容器部署不提供镜像打包(CICD)、镜像存储(注册中心)、管理平台、服务网格(服务通信控制)。 如果你想实施它并改进它,还有很多工作要做。 Rancher平台虽然看起来很漂亮,但在实际使用中却存在很多问题,不适合二次开发。 其实最靠谱的实施方案就是使用云服务,花钱解决问题,先小规模使用,习惯了再考虑其他方式。

这篇文章我想表达的一个想法是,在学习一个东西之前,首先要明白它为什么用(为什么用?应用场景是什么?别人是怎么做的) ?你用它做什么?)。 只有这样,才能抓住要点,事半功倍。

未经允许不得转载:主机频道 » 先尝试k8s,通过rancher从上到下学习kubernetes(k8s容器)

评论 抢沙发

评论前必须登录!