云原生
文章平均质量分 62
程序小黑
这个人很懒,什么都不想说。。
展开
-
云原生架构选择原因
云计算时传统软件架构的一场革命,云计算通过主机虚拟化实现了主机资源池化,并统一提供云化基础设施服务云托管服务。而随着应用上云的不断深入,企业需要去思考如何更好利用云的价值,在最大意义上发挥晕的价值,通过云原生技术来实现企业创新和数字化转型,这也是在云计算到达一个全新的层次需要进行的一个技术转变。随着云计算技术的迅猛发展,云计算基本实现了普及,在传统计算方式中,OS为中间件直接提供服务,而应用是直接构建在中间件上的。设计师需要采购硬件、设计硬件、部署硬件、并根据需求的增长对硬件进行扩容、重新设置整个堆栈。原创 2022-05-03 18:50:38 · 1458 阅读 · 1 评论 -
边缘计算的概念和初步认识
什么是边缘计算?边缘计算是指充分发挥计算机网络系统中非主节点的其他节点的计算能力,让所有成员都参与到数据的计算当中。在云计算时代,如果应用上云后,所有的计算都需要云服务的计算能力来对数据的信息进行计算,那么将会极大程度的占用云服务器的资源,而采用边缘计算方式可以极大程度的将数据的计算压力分配到用户所在的机器,从而降低云服务器的计算压力。在云计算模式中,计算资源和服务通常集中在大型数据中心内,而最终用户则是在网络的边缘访问这些资源和服务。这种模型已被证实具有成本优势和更高效的资源共享功能。但是,最终用户原创 2022-04-23 12:38:15 · 2592 阅读 · 0 评论 -
Job和DaemonSet学习记录
在云原生架构体系中,我们需要通过一个大的仓库来管理很多个容器,而需要一个集群管理工具来充当仓库管理员的角色。目前使用范围较广的仓库管理员就是kubernetes。但是会有如下一些问题:1、 k8s如何感知pod内的进程正确的结束?pod不一定是容器pid=1的进程本身,这个进程可能会fork一些子进程来协助系统的正常工作。2、 进程如果运行失败了,我们如何进行重试?还是说直接重启仓库。3、 多个任务之间的依赖关系如何处理,如何管理多个任务?4、 如果我们在多个pod之间并行的运行任务,那么管理任原创 2022-04-03 22:28:58 · 654 阅读 · 0 评论 -
Kubernetes的Deployment的作用
一个K8S系统管理多个POD容器,而多个POD是分散的分布在集群当中,面对这种情况,我们需要解决如下问题:1、 如何保证集群内的可用Pod的数量?当出现网络环境或者是应用环境异常的时候,我们该如何保证系统中能够为我们正常提供服务的服务提供者 的数量是能够动态的保持在我们的声明式API为我们提出的要求的。2、 如何实现POD的滚动更新。也就是进行服务的保持。3、 如何在服务更新的过程中保证服务的可用性4、 如果在版本更迭中遇到了问题,我们该如何快速回滚到上一个版本。因此,我们可以使用Deployme原创 2022-03-30 22:02:45 · 619 阅读 · 0 评论 -
K8S的资源和工作模式
应用编排和管理Kubernetes的资源对象主要包括了Spec和Status两个部分,其中Spec部分用来描述期望的状态,而Status部分用来描述观测到的状态,这些都属于Kubernetes的资源对象的部分,而Kubernetes还包含了一个Metadata部分,也就是元数据部分。元数据主要包括了用来识别资源的标签Labels,用来描述资源的注解和资源之间的相互关系。其中Label是一个最重要的元数据,它代表的内容是资源标签,资源标签是一个具有标识性的KEY:VALYE键值对。这个标签的主要作用是筛选原创 2022-03-29 16:31:45 · 519 阅读 · 0 评论 -
Pod和容器基本概念
容器的基本概念容器的本质上其实就是一个视图被隔离(namespace机制,chroot机制),资源访问受限的进程(cgroups机制)。容器中PID=1的进程就是应用本身,那么就意味着在管理容器的时候,我们其实就是在管理容器本身。而在寻常的虚拟机中,我们在管理的是机器本身,那么容器化就是不可变基础设施的最佳体现,也是未来Paas架构模式的最佳体现方式之一。如果说K8S本身就是OS,那么在OS中,一个程序实际上是由多个线程组成的。我们这边以阿里云ECS服务器为例,我们可以看到Systemd进程是由多个线原创 2022-03-28 16:11:43 · 7065 阅读 · 0 评论 -
Kubernetes的核心概念
K8S的核心功能:1、 服务发现和负载均衡2、 容器排编和调度3、 故障自动处理4、 批量执行job任务5、 水平伸缩,弹性扩展6、 自动发布、应用回滚、持续交付举例说明:(来源于CNCF X 阿里云公开课)1、 调度:Kubernetes 可以把用户提交的容器放到 Kubernetes 管理的集群的某一台节点上去。Kubernetes 的调度器是执行这项能力的组件,它会观察正在被调度的这个容器的大小、规格。比如说它所需要的 CPU以及它所需要的 memory,然后在集群中找一台相对比较原创 2022-03-28 11:06:37 · 6155 阅读 · 0 评论 -
容器和镜像
在windows操作系统中,如果我们需要查看当前的所有进程,我们需要按下如下的命令来查看当前在系统中运行的进程信息命令:tasklist这些进程之间可以相互进行通信,对于OS来说,能够通过PCB块中的pid来管理系统中的所有的进程。在同一台计算机的操作系统中,进程所处理的文件是在当前系统上的同一个文件系统,他们可以对同一个文件进行读写(不能同时写),因此,对于其他资源来说,这些进程共享了操作系统的所有资源。由于存在上面的特性,会为我们的进程带来一系列的问题。由于在操作系统中,进程会根据运行者的组原创 2022-03-28 10:38:02 · 3172 阅读 · 0 评论 -
Kubesphere设置mysql的网络映射
首先我们已经有了一个mysql的pod容器(工作负载)Kubesphere系统将会默认的为我们的系统部署一个services,我们可以先删除这个services(不要删除对应的工作负载),然后重新创建我们的服务。在创建时,我们需要选中根据一个特殊的工作负载来创建一个服务。我们首先根据mysql的内部网络进行工作负载的创建。随后我们选择相应的有状态副本集(mysql)并设置我们需要的相应的服务信息。由于是内部网络访问,我们无需设置相应的ip信息,我们可以选择internal domain name来设置我们原创 2022-03-24 10:34:47 · 3982 阅读 · 0 评论 -
Kubesphere下配置Mysql工作负载
首先出现如图所示的服务器页面证明kubesphere安装成功。当我们安装我们的系统的时候,安装成功时会出现admin的账号和密码,我们使用初始化的账号和密码登录系统,第一次登陆时我们需要修改默认密码来保障系统的安全性。登陆系统后,我们可以看到如图所示的页面,刚开始是一个admin用户,可以使用admin用户部署多个工厂和其他管理员用户,但是为了针对性的对mysql的部署进行学习,我们使用admin用户进行部署。首先我们需要进入access control中部署相应的工厂,部署好工厂后我们才能进入相原创 2022-03-24 10:32:49 · 2271 阅读 · 0 评论 -
在Centos7环境下安装KubeSphere
首先我们需要知道kubesphere是一个基于kubernetes构建的分布式的、多租户的、多集群的、企业级的开源容器平台,它具有强大且完善的网络和存储能力,并通过极其简单的人机交互来提供完善的多集群管理,实现微服务的治理,并帮助企业在云、虚拟化和物理机等异构的基础设施上快速构建和部署运维容器架构、实现应用的敏捷开发和生命周期管理。本次实验在基于x86架构的win11上进行,我们的物理环境为VMware Workstation 16下安装的三台Centos7.5来进行部署和搭建。1、 首先我们需要下载C原创 2022-03-22 10:34:13 · 1916 阅读 · 0 评论 -
K8S可视化界面部署
首先我们运行如下命令kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.3.1/aio/deploy/recommended.yaml(kubectl apply -f +配置文件来配置k8s)该yaml文件可能无法直接下载,这里给出文件内容# Copyright 2017 The Kubernetes Authors.## Licensed under the Apache License, V原创 2022-03-07 13:29:46 · 2028 阅读 · 1 评论 -
Ubuntu下运行K8S的前置条件
关闭SWAP分区sudo mount -n -o remount,rw /用vim修改/etc/fstab文件,在swap分区这行前加 # 禁用掉,保存退出重启计算机后可以看到swap被禁用。更新软件源(清华源)echo "deb https://mirror.tuna.tsinghua.edu.cn/ubuntu-ports/ focal main restricted universe multiversedeb https://mirror.tuna.tsinghua.edu.cn/u原创 2022-03-07 11:13:28 · 1605 阅读 · 0 评论 -
关于kubernetes中端口无法使用telnet链接的相关解决方案
首先公布一下虚拟机环境master节点和work节点的主机环境如下:使用:lsb_release -a外部物理机环境为:在这个情况下,我们的虚拟机也是基于ARM架构的。这里,我在子节点加入master节点的过程中,一直出现timeout=10的超时现象,通过telnet命令尝试进行网络端口连通性测试,发现无法联通。但是通过ping命令可以直接访问,猜测是防火墙的问题。尝试通过命令:systemctl stop firewalldsystemctl stop iptables但是原创 2022-03-06 22:29:49 · 1593 阅读 · 0 评论 -
云原生入门之K8S工作节点部署
主节点配置传送门:https://loveu.blog.csdn.net/article/details/123311993在我们配置好主master节点之后,依旧参考我们另一篇文章中的,当我们的master节点部署好的时候出现的代码块中的代码。具体配置代码如下:再上图的第26-27行。kubeadm join cluster-endpoint:6443 --token r14a8k.1weleptpyrp24bu7 \ --discovery-token-ca-cert-hash sha2原创 2022-03-06 21:27:39 · 497 阅读 · 0 评论 -
云原生入门之K8S主节点部署问题处理
1、使用kubeadm init进行主节点初始化时,无法找到镜像的解决办法:-image-repository=registry.aliyuncs.com/google_containers2、关于docker和kubelet的cgroupfs不一致的解决方案:修改docker配置文件:【修改或创建/etc/docker/daemon.json,加入下面的内容:】{ "exec-opts": ["native.cgroupdriver=systemd"]}重启docke原创 2022-03-06 16:16:16 · 3029 阅读 · 0 评论