魔笛手7
这个作者很懒,什么都没留下…
展开
-
Kubernetes技术--部署实际的java项目部署
docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/k8s-javademo/javapro-demo-01:[镜像版本号](1).准备java项目,把项目打成jar包或者war包,这里需要依赖两个环境:jdk和maven环境。准备环境,配置一台虚拟机,里面安装好环境:jdk、maven环境、docker环境。下面,我们在本地启动一下,查看是否可以正常访问。在里面给出了如何推送镜像服务到阿里云的实现步骤,如下所示。原创 2023-08-31 11:03:40 · 335 阅读 · 0 评论 -
Kubernetes技术--使用kubeadm搭建高可用的K8s集群(贴近实际环境)
配置中声明了后端代理的两个master节点服务器,指定了haproxy运行的端口为16443等,因此16443端口为集群的入口。在具有vip的master上操作,这里为master1,这里按照自己的实际情况去设置!(2).配置master1节点,这里的虚拟IP按照自己的环境来写,网卡要确定为ens33。(3).配置master2节点,这里的虚拟IP按照自己的环境来写,网卡要确定为ens33。(2).在master1节点执行(有vip节点上执行)(5).执行完毕,需要检查master1的网卡信息。原创 2023-08-31 11:00:56 · 1066 阅读 · 0 评论 -
Kubernetes技术--集群监控
监控集群(1).节点资源的利用率:cpu、内存、存储(2).节点数量(3).运行的pods监控pods(1).监控容器的指标,节点资源利用率(2).监控应用程序,状态,是否正常。原创 2023-08-31 10:03:38 · 132 阅读 · 0 评论 -
Kubernetes技术--k8s核心技术持久化存储
上面,我们使用nfs实现了数据的持久化操作,但是我们发现这里需要知道安装nfs服务的IP地址和对外暴露的位置。同样,我们可以进入应用中绑定的位置/usr/share/nginx/html取查看共享的数据内容,这一个和nfs类似,只不过多了一层pvc绑定pv的过程。有时候需要在集群中进行一些重要的数据进行持久化存储,然后需要的时候再进行挂载,那么下面我们一起来看看如何实现数据的持久化存储操作。设置好之后,我们先创建一个index.html文件,然后写入内容,便于在k8s节点上查看。原创 2023-08-31 10:00:13 · 646 阅读 · 0 评论 -
Kubernetes技术--k8s核心技术Helm
Helm是一个Kubernetes的包管理工具,就像Linux下的包管理器,如 yum/apt等,可以很方便的将之前打包好的 yaml 文件部署到kubernetes上。Helm 有 3 个重要概念:helm:一个命令行客户端工具,主要用于 Kubernetes 应用 chart 的创建、打包、发布和管理。Chart:应用描述,一系列用于描述k8s资源相关文件的集合。(yaml集合)Release:基于Chart的部署实体。原创 2023-08-31 09:57:37 · 705 阅读 · 0 评论 -
Kubernetes技术--k8s核心技术 ingress
Ingress 也是为了解决在集群之外,访问集群内部Service服务的问题。Ingress,是K8s的一个资源对象,定义了一系列路由转发规则(或反向代理规则)。它规定了外部进来的HTTP/HTTPS请求,应该被转发到哪个Service上。具体说,Ingress就是一段nginx服务的反向代理配置,它能根据请求中不同的Host和URL路径,将请求转发到不同的Service所对应的后端Pod上。Ingress除了能将集群内部的服务暴露给外界访问,它也是一个负载均衡器。原创 2023-08-31 09:51:51 · 1624 阅读 · 0 评论 -
Kubernetes技术--k8s核心技术集群的安全机制RBAC
RBAC(Role-Based Access Control,基于角色的访问控制),简单的理解就是当一个用户被赋予一个角色之后,就可以使用这个角色所享有的一些操作。就是一个准入控制器的列表,如果在列表中有请求的内容,那么就允许通过;如果没有那么就不允许通过。传输安全:对外是不暴露端口:8080,只能够在内部访问,对外使用的是6443端口。-3.创建角色,这里为了更好的复用,我们使用yaml文件来实现,如下所示,并执行。---这里使用一个现实中的案例来举例,便于理解。------缺少证书文件,无法往下执行!原创 2023-08-31 09:48:32 · 1791 阅读 · 0 评论 -
Kubernetes技术--k8s核心技术 configMap
在等到其状态为complated之后,可以查看日志中的输入(我们做了一个内容输出)。,这里需要需要指定从哪一个文件开始创建,那么我们就指定上一个步骤创建的文件。我们可以查看一下是否创建好了configmap类型的文件。这里我们需要先编写一个配置文件。我们把文件做一个执行,然后看一下创建的内容情况。,让pod以变量或者数据卷(volume)挂载到容器。这里我们也可以指定其为变量的形式进行挂载到pod。-a.创建yaml文件,声明变量信息。应用场景:配置文件、存储信息等。-b.以变量的形式挂载。原创 2023-08-31 09:45:59 · 1157 阅读 · 0 评论 -
Kubernetes技术--k8s核心技术 Secret
Secret 解决了密码、token、密钥等敏感数据的配置问题,而不需要把这些敏感数据暴露到镜像或者 Pod Spec中。Secret可以以 Volume 或者环境变量的方式使用。我们可以进入容器中,查看我们所获取到的变量具体的内容是什么。如下所示,这里,我们就直接输出内容。我们运行挂载的yaml文件。如下所示,我们创建的挂载pod名称叫mypod。这个我们可以查看一下。我们先看看base64进行的加密操作。我们运行创建一下加密数据。这里也可以使用数据卷的方式来进行挂载。加密的方式进行存储的。原创 2023-08-30 11:07:50 · 1342 阅读 · 0 评论 -
Kubernetes技术--k8s核心技术Service服务
Service 是 Kubernetes 最核心概念,通过创建 Service,可以为一组具有相同功能的容器应用提供一个统一的入口地址,并且将请求负载分发到后端的各个容器应用上。原创 2023-08-30 11:04:46 · 853 阅读 · 0 评论 -
Kubernetes技术--k8s核心技术Controller控制器
Controller是在集群上管理和运行容器的对象。是一个实际存在的对象。原创 2023-08-30 11:01:31 · 1478 阅读 · 0 评论 -
Kubernetes技术--k8s核心技术Pod
Pod 是 k8s 系统中可以创建和管理的最小单元,是资源对象模型中由用户创建或部署的最小资源对象模型。k8s不会直接处理容器,而是 Pod,Pod 是由一个或多个 container 组成。一个pod中的容器共享网络命名空间。Pod是一个短暂存在的。原创 2023-08-30 10:56:55 · 1118 阅读 · 0 评论 -
Kubernetes技术--k8s核心技术yaml资源编排
我们可以使用kubectl实现单行指令的操作,但是这样做的坏处是不复用,所以为了更好的实现对一系列资源的编排工作。如果让我们手写一个yaml文件,难度是很大的。所以,一般情况下,我们使用工具帮助我们实现这一个操作。如:我们之前配置cni网络的时候使用的kube-flannel.yaml文件。使用空格做为缩进,一般开头2空格,字符后缩进一个空格,如:逗号、冒号等后面。方式2: 使用kubectl get获取一个已经存在的yaml文件来修改。对于生成的内容,我们也可以把它输入到指定的文件中。原创 2023-08-30 10:53:10 · 1473 阅读 · 0 评论 -
Kubernetes技术--k8s核心技术kubectl命令行工具
例如,可用-s 或者–server 参数指定 Kubernetes API server 的地址和端口。我们可以使用kubectl –help获取相关的帮助信息。便于我们了解如何快速的使用。显示资源(cpu/memery/storage)使用,需要heapster运行。在一个pod中打印一个容器日志,如果pod只有一个容器,则名称可选。通过文件名称或者标准输入资源应用替换一个资源。,并能够在集群上进行容器化应用的安装部署。通过文件名称、输入、资源名称来移除一个资源。如果省略名称,则会显示所有的资源。原创 2023-08-30 10:47:14 · 1097 阅读 · 0 评论 -
Kubernetes技术--使用kubeadm快速部署一个K8s集群
这里我们配置一个单master集群。一个Master节点,多个Node节点。原创 2023-08-30 10:42:52 · 1120 阅读 · 0 评论 -
Kubernetes技术-Kubernetes集群环境搭建准备
Master节点: 至少8核cpu、16G内存、120G硬盘存储,当然,这里配置的话越大越好。Master节点:至少2核cpu、4G内存、20G硬盘存储,当然,这里配置的话越大越好。-2: 配置三台虚拟机在同一个网段中(可以相互通信),并且可以连接外网(可以拉取镜像)Node节点:至少16核cpu、64G内存、500G硬盘,当然,越大越好。(1).搭建三台虚拟机,分别为:master、node1、node2。Node节点:至少4核cpu、8G内存、40G硬盘,当然,越大越好。-3: 禁止swap分区。原创 2023-08-30 10:07:13 · 157 阅读 · 0 评论 -
Kubernetes技术--Kubernetes架构组件以及核心概念
Kubernetes架构组件以及核心概念原创 2023-08-30 10:00:11 · 527 阅读 · 0 评论 -
Kubernetes技术--Kubernetes概述以及特性
kubernetes,简称K8s是用 8 代替 8 个字符“ubernete”而成的缩写。是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes 的目标是让部署容器化的应用简单并且高效Kubernetes提供了应用部署,规划,更新,维护的一种机制。便于维护和扩展Kubernetes是Google于2014年开源的一个容器编排引擎它支持自动化部署、大规模可伸缩、应用容器化管理。原创 2023-08-30 09:51:20 · 82 阅读 · 0 评论 -
Docker运维中常见错误以及解决方法汇总1
2:查看sshd是否存在。没有则安装:yum -y install openssh-server。-3:尝试重启ssh。指令:systemctl restart sshd。-1:查看连接的配置信息是否有误,包括IP地址、端口、登陆用户名密码。-4:查看是否是因为防火墙的缘故,查看防火墙状态。-5:查看端口22是否被占用或者开放。原因:另一个APP正在锁定yum,等待其退出!另一个应用程序是:PackageKit。设置静态的IP且可以上网。原创 2023-08-29 16:00:48 · 824 阅读 · 0 评论 -
Docker技术--Doker中的资源限制
在使用 Docker 运行容器时,一台主机上可能会运行几百个容器,这些容器虽然互相隔离,但是底层却使用着相同的 CPU、内存和磁盘资源。如果不对容器使用的资源进行限制,那么容器之间会互相影响,小的来说会导致容器资源使用不公平;大的来说,可能会导致主机和集群资源耗尽,服务完全不可用。CGroup是Control Groups的缩写,是linux内核提供的一种可以限制、记录、隔离进程组所使用的物理资源(如:CPU、memory、IO等)的机制。这个就是Docker底层使用的资源限制的技术。原创 2023-08-29 15:58:13 · 222 阅读 · 0 评论 -
Docker技术--数据卷
1..数据卷特性引入:将应用与运行的环境打包镜像,run后形成容器实例运行 ,但是我们对数据的要求希望是持久化的Docker容器产生的数据,如果不备份,那么当容器实例删除后,容器内的数据自然也就没有了。为了能保存数据在docker中我们使用卷。数据卷就类似于数据库的作用,简单的说就是docker中数据持久化的技术。数据卷(Data Volumes)是一个可供一个或多个容器使用的特殊目录,它将主机操作系统目录直接映射进容器。--讲解的时候联系实际,如淘宝购物。原创 2023-08-29 15:53:20 · 187 阅读 · 0 评论 -
Docker技术--Docker中的网络问题
引入:我们在docker中创建了两个项目,是两个独立的项目,但是我们的容器在创建的时候由于网络配置的缘故,是工作在同一个网络命名空间之内,也就是说是可以连通的。下面我们来看如何实现。在上述的操作中,我们分别创建了两个新的网络空间,分别为temp、lemp,下面,我们再创建两个不同的docker容器,并分别指定网络模式为temp和lemp,这样运行在两个容器上的项目就隔离了。但是与外网的通信还是正常的。: 创建的容器不会创建自己的网卡,配置自己的IP,而是和一个指定的容器共享IP、端口范围(端口不能一致),原创 2023-08-29 15:46:25 · 1202 阅读 · 0 评论 -
Docker技术--Docker镜像仓库构建
我们之前在使用Docker的镜像的时候,是直接从官方网站的位置拉取并下载,但是有的时候,无法避免的存在一些安全性的问题,为了安全起见,我们有必要构建自己的镜像仓库。下面介绍两种常用的docker镜像仓库的构建方法。原创 2023-08-29 11:17:02 · 270 阅读 · 0 评论 -
Docker技术--Docker镜像管理
当启动一个容器,Docker指挥在最顶部添加读写层,在容器内作的所有更改(写日志、修改、删除文件等,都保存到读写层内),一般称该层为。Docker在创建容器的时候需要指定镜像,每一个镜像都有唯一的标识:image_id,也可也使用镜像名称和版本号做唯一的标识,如果不指定版本号,那么默认使用的是最新的版本标签(laster)。每个容器都有自己的读写层,因此多个容器可以使用同一个镜像,另外容器被删除时,其对应的读写层也会被删除,如果你希望多个容器共享或者持久化数据,可以使用 Docker volume。原创 2023-08-29 10:40:08 · 146 阅读 · 0 评论 -
Docker技术--Docker容器管理
但是我们在启动wordpress之前由于需要使用mariadb,所以需要先下载并启动mariadb,并通过使用-link的形式建立好两个容器之间的互联,也就是说容器之间的启动和互联是存在先后关系的。docker start container_id --开启id编号的容器。docker restart container_id --重启id编号的容器。docker exec -it container_id /bin/bash --进入指定容器。原创 2023-08-29 10:33:41 · 705 阅读 · 0 评论 -
Docker技术--WordPress博客系统部署初体验
3:创建mariadb和WordPress的容器,注意要先创建mariadb容器,因为WordPress容器链接到mariadb上。如果使用的是传统的项目部署方式,你要部署WordPress博客系统,那么你需要装备一下的环境,才可以部署使用。-2:下载数据库mariadb(一种轻量级的MySQL数据库),这里下载10.3.32版本。-1:下载部署案例:WordPress,拉取镜像内容wordpress。-2:PHP5.6或者是更高版本环境。-3:MySQL数据环境。-4:Apache环境。原创 2023-08-29 10:29:20 · 522 阅读 · 0 评论 -
Docker技术--Docker的安装
Docker官方提供了三种方式可以实现Docker环境的安装。分别为:Scriptyumrpm。在实际的环境中建议使用yum或者是rpm。原创 2023-08-29 10:24:23 · 1623 阅读 · 0 评论 -
Docker技术--Docker简介和架构
(1).引入我们之前学习了EXSI,对于虚拟化技术有所了解,但是我们发现类似于EXSI这样比较传统的虚拟化技术是存在着一定的缺陷:所占用的资源比较多,简单的说,就是你需要给每一个用户提供一个操作平台,这一个操作平台就会占用你的资源。这样资源的浪费是比较多的。为了解决类似的资源使用效率不高的情况,容器技术横空出世。---举例现实生活中的例子,帮助理解(2).容器技术Docker是PAAS提供商dotCloud开源的一个基于LXC(Linux Container)的高级容器引擎,源代码托管在。原创 2023-08-29 10:11:40 · 933 阅读 · 0 评论 -
EXSI技术--SAN组网
存储区域网络SAN)采用网状通道技术,通过FC交换机连接存储阵列和服务器主机,建立专用于数据存储的区域网络。作为一种专门用于实现存储系统互连的高速网络技术,SAN(存储区域网络)克服了NAS(网络连接存储)中存储吞吐量受底层网络介质限制的缺点,并综合了串行I/O(输人/输出)总线和交换网络优点,支持在互联网上进行文件共享,支持对资源池的块级访问。SAN优点:可实现大容量存储设备数据共享可实现高速计算机与高速存储设备的高速互联可实现灵活的存储设备配置要求可实现数据快速备份。原创 2023-08-28 20:07:15 · 311 阅读 · 0 评论 -
EXSI技术--Exsi资源分割
点击添加用户,这里用户的密码比较严格,按照EXSI的密码规范来。现在,用户存在了,接下来就需要给他分配角色,用于管理。这里我们创建一个名称为user的角色,专门用于服务客户。这里,在实际的环境中,角色分配是一个比较麻烦的,需要一步一步调试测试,这里作为测试,我们就简单分配几个。现在,我们就把虚拟机分发给每一个用户,选中虚拟机,右键如下所示。我们在搭建好环境之后,就类似于有了一个服务器,现在我们就可以对着一个。分配好资源之后,需要给用户指定操作系统。现在用户可以自己登陆,然后使用我们提供的资源服务了。原创 2023-08-28 20:04:27 · 205 阅读 · 0 评论 -
EXSI技术--Exsi简介与安装
了解可直接安装到您的物理服务器的、可靠的裸机 Hypervisor。通过直接访问并控制底层资源,可有效地对硬件进行分区,以便整合应用并降低成本。它是业界领先的高效体系架构,在可靠性、性能和支持方面树立了行业标杆。(裸金属架构)VMware vSphere的虚拟化管理程序体系结构在虚拟基础架构的管理中起关键作用。2001年推出的裸机 ESX 体系结构大幅增强了性能和可靠性,客户可借此将虚拟化的优势扩展到他们的关键任务应用上。原创 2023-08-28 20:01:36 · 1674 阅读 · 0 评论 -
运维操作---虚拟化
Hypervisor虚拟化层,在虚拟化环境中无须完整的Host OS,直接将Hypervisor部署在裸机上,并将裸机服务器的硬件资源虚拟化,也可以将Hypervisor理解为仅对硬件资源进行虚拟和调度的薄操作系统,其并不提供常规Host OS的功能。它就是在全虚拟化的基础上,把客户操作系统进行了修改,增加了一个专门的API,这些API可以将客户操作系统发出的指令进行最优化,即不需要Hypervisor费一定的资源进行翻译操作,因此Hypervisor的工作负担变得非常的小,因此整体的性能也有很大的提高。原创 2023-08-28 19:56:22 · 319 阅读 · 0 评论 -
Linux操作系统--shell编程(文本处理工具)
的工作就是“剪”,具体的说就是在文件中负责剪切数据用的。搜索 passwd 文件以 root 关键字开头的所有行,并输出该行的第 1 列和第 7 列,只显示/etc/passwd 的第一列和第七列,以逗号分割,且在所有行前面添加列名 user,,以空格为默认分隔符将每行切片,切开的部分再进行分析处理。搜索 passwd 文件以root关键字开头的所有行,并输出该行的第 7 列。-1. 统计 passwd 文件名,每行的行号,每行的列。NF 浏览记录的域的个数(切割后,列的个数)原创 2023-08-28 18:13:03 · 95 阅读 · 0 评论 -
Linux操作系统--shell编程(正则表达式)
由于所有特殊字符都有其特定匹配模式,当我们想匹配某一特殊字符本身时(例如,我想找出所有包含 '$' 的行),就会碰到困难。不单独使用,他和上一个字符连用,表示匹配上一个字符 0 次或多次。如:r*t,只要是开头为r且结尾为t的都会被匹配出来。匹配一个任意的字符,简单的说就是它可以代替一个字符的位置。如:李.就会匹配出姓李且只有两个字的名字内容。这里我们可以连用^$,它在一个文件中匹配的是空行。我们在这里再做一个手机号匹配的正则表达式测试。表示匹配某个范围内的一个字符,例如。含义:会匹配出所有以t结尾的行。原创 2023-08-28 18:10:43 · 817 阅读 · 0 评论 -
Linux操作系统--shell编程应用(归档文件应用)
需求:实现一个每天对指定目录归档备份的脚本,输入一个目录名称(末尾不带/),将目录下所有文件按天归档保存,并将归档日期附加在归档文件名上,放在/root/archive 下。创建一个脚本:daily_archive.sh,用于执行每一天的文件的归档。选项表示同时进行压缩。,得到的文件后缀名为。创建文档归档目录文件。原创 2023-08-28 18:07:41 · 163 阅读 · 0 评论 -
Linux操作系统--shell编程(函数)
②.函数返回值,只能通过$?系统变量获得,可以显示加:return 返回,如果不加,将以最后一条命令运行结果,作为返回值。下面我们在这里和之前的参数获取案例结合,如下所示,把输入的文件位置改为只输入文件名称。从给定的包含绝对路径的文件名中去除文件名(非目录的部分),然后返回剩下的路径(目录的部分)。①.必须在调用函数地方之前,先声明函数,shell脚本是逐行运行。我们先看一个使用之前学习的date函数的一个基本使用。我们先创建脚本文件,然后打开编写里面的内容信息。的基本使用,在一个文件路径中获取文件名称。原创 2023-08-28 18:05:56 · 81 阅读 · 0 评论 -
Linux操作系统--shell编程(read读取控制台输入)
指定读取值时等待的时间(秒)如果-t 不加表示一直等待。read (选项) (参数):指定读取值时的提示符;:指定读取值的变量名。原创 2023-08-28 18:03:17 · 189 阅读 · 0 评论 -
Linux操作系统--shell编程(流程控制)
如果我们给每一个参数加上””之后,这时的输出就成了如下所示,其实这里$*就是把所有的内容当作一个整体,而$@就可以逐个获取。运维这里我是写在(())内部,所以可以直接使用数学中的一些表达式来使用。这里的代码还可以这样写,运维在学习了C#或者是java语言之后,这底层代码很别扭。之前我们使用$*和$@实现参数的接受,那么这里我们使用for循环测试一下。接下来,我们使用这一种语法实现一个for循环的基本使用案例。条件判断式 ],中括号和条件判断式之间必须有空格。,相当于 java 中的 break。原创 2023-08-28 18:01:28 · 117 阅读 · 0 评论 -
Linux操作系统--shell编程(条件判断)
来判断上一次执行的情况来判断真假(0真1假)。小于(less than) -le 小于等于(less equal)大于(greater than) -ge 大于等于(greater equal)等于(equal) -ne 不等于(not equal)其实这里使用的是字符串的比较,1字符串和1字符串的比较。文件存在并且是一个常规的文件(file)有执行的权限(execute)有写的权限(write)有读的权限(read)原创 2023-08-27 10:24:03 · 188 阅读 · 0 评论 -
Linux操作系统--shell编程(运算符)
方式1:这一个使用比较麻烦,不推荐使用。运算式))" 或 "$[运算式]"原创 2023-08-27 10:20:52 · 98 阅读 · 0 评论