linux运维
文章平均质量分 69
linux运维
孟诸
coding
展开
-
k8s学习十一-数据持久化
docker通过配置数据卷可以实现本地存储。1 nfs网络存储1.1 安装nfs服务端1 安装nfsyum install -y nfs-utils2 设置挂载路径vim /etc/exports挂载路径需要提前创建出来3 启动nfs服务systemctl start nfs1.2 客户端配置1 node 节点安装nfsyum install -y nfs-utils2 yaml文件配置nfs2 pv&pvcnfs实现持久化需要知道nfs服务端ip,ip地址暴露出原创 2022-01-03 18:17:21 · 441 阅读 · 0 评论 -
k8s学习十-helm
1 helm概述之前部署应用需要编写yaml文件,然后执行文件。这种方式部署少量的服务可以,但是如果部署几十个,上百个微服务需要维护大量yaml文件,特别不方便。通过helm可以解决如下问题把多个yaml作为一个整体管理实现yaml高效复用使用helm应用级别的版本管理helm是一个k8s的包管理工具,就像linux下的包管理器,如yum/apt等,可以很方便的将之前打包好的yaml文件部署到k8s上2 相关概念helm:一个命令行客户端工具,主要用于 Kubernetes 应用 cha原创 2022-01-03 17:42:23 · 4176 阅读 · 0 评论 -
k8s学习九-ingress
1 Ingress概述在前面使用Service中的NodePort将服务端口号暴漏以供外部访问,这样显然会存在一些弊端:通过ip+端口的方式对外提供服务每个节点上都会其端口,访问时通过ip+端口进行访问每个端口对应一个应用服务但是在实际中是通过域名来访问应用的,根据域名跳转到不同端口服务中,所以需要在Service之上再添加一层访问入口,这一层就是Ingress。2 Ingress工作流程ingress和pod通过service进行关联,实际访问中ingress作为一个统一的入口,由se原创 2022-01-03 11:52:47 · 1454 阅读 · 0 评论 -
k8s学习八-安全机制
1 安全机制概述访问k8s集群的时候,需要经过三个步骤完成具体操作1 认证传输安全:对外不暴露8080端口,只能内部访问,对外使用6443端口,客户端认证常用方式:https证书认证,基于CA证书http token认证,通过token识别用户http基本认证,用户名+密码认证2 鉴权基于RBAC进行鉴权操作基于角色访问控制3 准入控制就是准入控制器的列表,如果列表中有请求内容则通过,没有则拒绝访问过程中,都需要经过apiserver,apiserver做统一协调。同时需原创 2022-01-02 22:13:41 · 3415 阅读 · 0 评论 -
k8s学习七-配置管理
1 SecretSecret可以加密数据存在etcd里,让Pod容器以挂载Volumn的方式进行访问1 yaml文件配置2 创建并查看pod3 以挂载方式进行访问以变量形式挂载1 编写yaml文件2 创建并查看pod3 测试以数据卷方式挂载1 编写yaml文件2 创建并查看pod3 测试2 ConfigMap用于存储非加密数据。通常用于配置文件1 查看并创建configMap2 挂载以数据卷的方式挂载1 编写yaml文件3 启动并查看pod原创 2022-01-02 20:35:34 · 265 阅读 · 0 评论 -
k8s学习六-核心技术~Service
1 Service存在意义1.1 防止pod失联(服务发现)pod每次启动后ip是不固定的,这样就会造成访问pod的ip频繁发生变化。引入Service后,Pod会先把ip地址注册到Service上。不再直接访问pod,而是访问Service的vip(虚拟ip),然后找到具体功能对应的ip,再用最新的ip进行访问。1.2 定义一组pod的访问策略(负载均衡)2 Pod和Service关系同Controller一样,也是通过label标签和selector选择器关联3 Service类型原创 2022-01-02 16:54:06 · 1305 阅读 · 0 评论 -
k8s学习五-核心技术~Controller
controller是在集群上管理和运行容器的对象,pod通过controller来实现应用的运维比如伸缩,滚动升级等。pod和controller之间通过label标签建立联系。1 deployment控制器1.1 应用场景部署无状态应用,如web服务、微服务管理Pod和ReplicaSet部署、滚动升级等功能1.2 部署应用1 导出yaml文件kubectl create deployment web --image=nginx --dry-run -o yaml > w原创 2022-01-02 16:16:09 · 2670 阅读 · 0 评论 -
k8s学习四-核心技术~Pod
1 Pod 概述Pod 是 k8s 系统中可以创建和管理的最小单元,是资源对象模型中由用户创建或部署的最小资源对象模型,也是在 k8s 上运行容器化应用的资源对象,其他的资源对象都是用来支撑或者扩展 Pod 对象功能的,比如控制器对象是用来管控 Pod 对象的,Service 或者Ingress 资源对象是用来暴露 Pod 引用对象的,PersistentVolume 资源对象是用来为 Pod 提供存储等等,k8s 不会直接处理容器,而是 Pod,Pod 是由一个或多个 container 组成Pod原创 2022-01-01 21:36:00 · 675 阅读 · 0 评论 -
k8s学习三-集群命令行工具 kubectl
kubectl 是 Kubernetes 集群的命令行工具,通过 kubectl 能够对集群本身进行管理,并能够在集群上进行容器化应用的安装部署。1 命令语法kubectl 命令的语法如下kubectl [command] [type] [name] [flags]comand:指定要对资源执行的操作,例如 create、get、describe 和 deleteTYPE:指定资源类型,资源类型是大小写敏感的,开发者能够以单数、复数和缩略的 形式。例如:NAME:指定资源的名称,名称也大原创 2022-01-01 16:55:40 · 323 阅读 · 0 评论 -
k8s学习二-集群部署
1 前置知识点目前生产部署 Kubernetes 集群主要有两种方式:(1)kubeadmKubeadm 是一个 K8s 部署工具,提供 kubeadm init 和 kubeadm join,用于快速部署 Kubernetes 集群。官方地址:https://kubernetes.io/docs/reference/setup-tools/kubeadm/kubeadm/(2)二进制包从 github 下载发行版的二进制包,手动部署每个组件,组成 Kubernetes 集群。Kubeadm 降原创 2022-01-01 16:04:27 · 215 阅读 · 0 评论 -
k8s学习-k8s简介
1 k8s核心功能1.1 自动装箱基于容器对运行环境的资源配置要求自动部署容器1.2 自我修复容器失败时会对容器进行重启当所部属的node节点有问题时,会对容器进行重新部署或重新调度当容器未通过监控检查时,会关闭此容器直到容器正常运行时,才会对外提供服务1.3 水平扩展通过简单的命令,用户ui界面或基于CPU等资源的使用情况,对容器进行规模扩大或规模裁剪1.4 服务发现用户不需要使用额外的服务发现机制就可以基于k8s自身能力实现服务发现和负载均衡1.5 滚动更新可以根据应用变化,对应原创 2021-12-31 22:46:27 · 678 阅读 · 0 评论 -
docker学习-docker入门
1 docker简介docker是dotcloud公司开源的一个基于LXC的高级容器引擎,源代码托管在github上,基于go语言编写并遵从apache2.0协议开源,主要是基于PAAS平台为开发者提供服务容器是一种内核虚拟化技术,可以提供轻量级的虚拟化,以便隔离进程和资源docker设想交付运行环境如同海运,OS如同一艘货轮,每一个在OS基础上的软件如同一个集装箱,用户可以通过标准化手段自由组装运行环境,同时集装箱内容可以用户自定义,也可以由专业人士制造2 与传统虚拟化的区别传统虚拟化技术原创 2021-12-12 20:41:54 · 1708 阅读 · 0 评论 -
虚拟化技术学习一-虚拟化概述
1 引入虚拟化的必要性美国环境保护署研究服务器和数据中心的能源效率时发现,实际上服务器只有5%的时间实在工作的,其他时间服务器一直在休眠状态引入虚拟化技术前每台主机只有一个操作系统软硬件紧密结合在同一个主机上运行多个应用程序通常会发生冲突(端口)系统资源利用率低硬件成本高昂且不够灵活引入虚拟化技术后打破操作系统和硬件的互相依赖通过封装到虚拟机的技术,管理操作系统和应用程序为单一的个体强大的安全和故障隔离虚拟机是独立于硬件的,它们能在任何硬件上运行2 虚拟化技术分类虚拟化原创 2021-12-11 23:20:57 · 858 阅读 · 0 评论 -
linux学习三-awk文本分析工具
1 awk简介awk 是一种处理文本文件的语言,是一个强大的文本分析工具。awk 是以文件的一行内容为处理单位的。awk读取一行内容,然后根据指定条件判断是否处理此行内容,若此行文本符合条件,则按照动作处理文本,否则跳过此行文本,读取下一行进行判断。2基本用法 condition:条件。若此行文本符合该条件,则按照 action 处理此行文本。不添加条件时则处理每一行文本; action:动作。按照动作处理符合要求的内容。一般用于打印指定的内容信息; 注意下面的引号为英文...转载 2020-07-27 23:28:33 · 1476 阅读 · 0 评论 -
linux学习二-netstat查看端口占用
netstat -anp执行效果Proto:协议名(tcp协议还是udp协议)Recv-Q:网络接收队列表示收到的数据已经在本地接收缓冲,但是还有多少没有被进程取走Send-Q:网路发送队列对方没有收到的数据或者说没有Ack的,还是本地缓冲区.如果发送队列Send-Q不能很快的清零,可能是有应用向外发送数据包过快,或者是对方接收数据包不够快。这两个值通常应该为0,如果不为0可能是有问题的。packets在两个队列里都不应该有堆积状态。可接受短暂的非0情况。Local Addres原创 2020-07-27 23:20:12 · 329 阅读 · 0 评论 -
linux学习一-top命令简介
top命令执行效果如下第一行:概况HH:mm:ss:当前的系统时间。up xxx days, HH:mm:从本次开机到现在经过的时间。x user:当前有几个用户登录到该机器。load average:系统1分钟、5分钟、15分钟内的平均负载值对于单核系统,Load < 0.7时:系统很闲,可以轻松应对处理任务。load > 0.7的时候就需要找原因了第二行:进程计数(Tasks)total:进程总数。running:正在运行的进程数,对应状态TASK_RUNNING原创 2020-07-27 23:18:50 · 170 阅读 · 0 评论