自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(85)
  • 收藏
  • 关注

原创 k8s编排部署一个java应用

流程项目迁移到k8s平台是怎么样的流程?实战项目制作java镜像//项目结构yum -y install maven git[root@master java]# pwd/root/java[root@master java]# git clone https://gitee.com/forgotten/tomcat-java-demo.git正克隆到 'tomcat-java-demo'...remote: Enumerating objects: 558, done.re

2021-12-28 03:35:32 247

原创 nginx负载均衡k8s中的service

[root@master ~]# cat web01.yaml ---apiVersion: apps/v1kind: Deploymentmetadata: name: web1 namespace: defaultspec: replicas: 1 selector: matchLabels: app: web1 template: metadata: labels: app: web1 spec:

2021-12-27 02:49:58 1493

原创 K8s Service资源用法

操作小练习1、创建一个deployment副本数3,然后滚动更新镜像版本,并记录这个更新记录,最后再回滚到上一个版本[root@master ~]# cat test.yml apiVersion: apps/v1kind: Deploymentmetadata: name: web namespace: defaultspec: replicas: 3 selector: matchLabels: app: web template: metad

2021-12-27 01:29:40 1541

原创 k8s 常用工作负载控制器

常用工作负载控制器工作负载控制器是什么DeploymentDeployment 使用流程Deployment 部署Deployment 升级应用升级(更新镜像三种方式)滚动升级示例水平扩缩容Deployment 回滚Deployment 下线Deployment ReplicaSetDaemonSetJobCeonJob遇到的报错第一个问题解决方法1、token 过期2、k8s api server不可达第二个问题解决方案工作负载控制器是什么工作负载控制器(Workload Controllers)是K

2021-12-25 03:50:31 1134

原创 k8s 资源调度

创建一个Pod的工作流程Kubernetes基于list-watch机制的控制器架构,实现组件间交互的解耦。其他组件监控自己负责的资源,当这些资源发生变化时,kube-apiserver会通知这些组件,这个过程类似于发布与订阅。//帮助[root@master ~]# kubectl explain deploy.spec.template.spec.containers.resourcesKIND: DeploymentVERSION: apps/v1RESOURCE: r

2021-12-24 02:02:21 1678

原创 Pod基本概念

Pod基本概念Pod是Kubernetes创建和管理的最小单元,一个Pod由一个容器或多个容器组成,这些容器共享存储、网络。Pod特点.一个Pod可以理解为是一个应用实例,提供服务.Pod中容器始终部署在一个Node上Pod中容器共享网络、存储资源Kubernetes直接管理Pod,而不是容器Pod存在意义Pod主要用法:·运行单个容器:最常见的用法,在这种情况下,可以将Pod看做是单个容器的抽象封装运行多个容器:封装多个紧密耦合且需要共享资源的应用程序如果有这些需求,你可以运

2021-12-23 01:45:03 938

原创 k8s使用yaml文件创建haproxy

web镜像制作[root@master ~]# cd httpd/[root@master httpd]# lsDockerfile[root@master httpd]# vim Dockerfile [root@master httpd]# cat Dockerfile FROM busyboxRUN mkdir /data && \ echo "test page on v1" > /data/index.htmlENTRYPOINT ["/bin/h

2021-12-22 05:29:31 332

原创 Kubectl基础命令的使用

kubernetes基本概念Pod:k8s最小部署单元,一组容器的集合Deployment:最常见的控制器,用于更高级别部署和管理PodService:为一组Pod提供负载均衡,对外提供统一访问入口Label:标签,附加到某个资源上,用于关联对象、查询和筛选Namespaces:命名空间。将对象逻辑上隔离,也利于权限控制kubectl管理命令类型命令描述基础命令create expose run expose set explain get edit delete

2021-12-21 02:44:37 1022

原创 k8s的pod分类、核心组件、网络模型、kubectl常用命令

K8s基本概念pod分类自主式pod自我管理的pod,创建以后仍然需要提交给apiserver,由apiserver接收以后借助于调度器将其调度至指定的node节点,由node启动此pod如果此pod出现故障,需要重启容器则由kubelet来完成如果node节点故障了,那么此pod将会消失。便无法实现全局调度。所以不推荐使用此种pod控制器管理的podReplicationController:当启动一个pod时,这个pod如果不够用可以再启一个副本,而后由控制器来管理同一类pod的各种

2021-12-20 03:20:40 713

原创 Kubernetes集群部署

Kubernetes快速部署安装要求在开始之前,部署Kubernetes集群机器需要满足以下几个条件:至少3台机器,操作系统 RedHat硬件配置:2GB或更多RAM,2个CPU或更多CPU,硬盘20GB或更多集群中所有机器之间网络互通可以访问外网,需要拉取镜像禁止swap分区准备环境主机名系统IP地址安装软件masterredhat8192.168.47.115Docker/kubeadm/kubeletnode1redhat8192.

2021-12-18 02:15:46 1448

原创 Kubernetes

KubernetesK8s官方代码k8s是什么k8s是一个可移植的、可扩展的开源平台,用于管理容器化的工作负载和服务,可以促进声明式配置和自动化。Kubernetes是Google在2014年开源的一个容器集群管理系统,Kubernetes简称K8S。K8S用于容器化应用程序的部署,扩展和管理。K8S提供了容器编排,资源调度,弹性伸缩,部署管理,服务发现等一系列功能。Kubernetes目标是让部署容器化应用简单高效。官方网站:https://kubernetes.io/一个容器平台

2021-12-17 01:47:44 101

原创 Harbor

Harbor无论是使用Docker-distribution去自建仓库,还是通过官方镜像跑容器的方式去自建仓库,通过前面的演示我们可以发现其是非常的简陋的,还不如直接使用官方的Docker Hub去管理镜像来得方便,至少官方的Docker Hub能够通过web界面来管理镜像,还能在web界面执行搜索,还能基于Dockerfile利用Webhooks和Automated Builds实现自动构建镜像的功能,用户不需要在本地执行docker build,而是把所有build上下文的文件作为一个仓库推送到git

2021-12-16 04:10:29 854

原创 podman 容器的开机自启

podman网络创建网络[root@localhost ~]# podman network create mynetwork/etc/cni/net.d/mynetwork.conflist[root@localhost ~]# podman network lsNETWORK ID NAME VERSION PLUGINS2f259bab93aa podman 0.4.0 bridge,portmap,firewall,tuning6d1

2021-12-15 04:27:28 1829

原创 podman

什么是podman?Podman 是一个开源的容器运行时项目,可在大多数 Linux 平台上使用。Podman 提供与 Docker 非常相似的功能。正如前面提到的那样,它不需要在你的系统上运行任何守护进程,并且它也可以在没有 root 权限的情况下运行。Podman 可以管理和运行任何符合 OCI(Open Container Initiative)规范的容器和容器镜像。Podman 提供了一个与 Docker 兼容的命令行前端来管理 Docker 镜像。Podman 官网地址:https://p

2021-12-14 02:12:13 151

原创 Alpine

简介alpine是一个轻量级的Linux发行版本,轻量级不仅体现在其占用空间的大小,还因为他没有图形化界面,只有命令行界面。alpine特点:小巧:基于Musl libc和busybox,和busybox一样小巧,最小的Docker镜像只有5MB;安全:面向安全的轻量发行版;简单:提供APK包管理工具,软件的搜索、安装、删除、升级都非常方便。适合容器使用:由于小巧、功能完备,非常适合作为容器的基础镜像。下载alpine.isoalpine-standard-3.15.0-x86_64.

2021-12-13 04:39:14 2494

原创 基于Alpine 编写Haproxy的Dockerfile

基于Alpine 编写Haproxy的DockerfileDockerfile编写目录[root@localhost haproxy]# pwd/root/haproxy[root@localhost haproxy]# tree.├── Dockerfile├── entrypoint.sh├── files│ ├── haproxy-2.4.0.tar.gz│ └── install.sh└── haproxy_config └── RSs.txt2 dire

2021-12-13 04:24:20 218

原创 用Dockerfile部署Haproxy负载均衡

准备两台web测试容器[root@localhost ~]# docker run -d --name httpd01 httpd[root@localhost ~]# docker run -d --name nginx01 nginx[root@localhost ~]# docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS

2021-12-11 04:53:23 203

原创 Dockerfile

基本结构Dockerfile 是一个文本格式的配置文件,用户可以使用 Dockerfile 快速创建自定义镜像。Dockerfile 由一行行命令语句组成,并且支持以 # 开头的注释行。Docker分为四部分:基础镜像信息维护者信息镜像操作指令容器启动时默认要执行的指令例如:# This dockerfile uses the ubuntu image# VERSION 2 - EDITION 1# Author: seancheng# Command format: Instr

2021-12-09 19:32:11 71

原创 创建一个nginx容器,同时提供配置文件和网页文件

创建一个nginx容器,同时提供配置文件和网页文件获取nginx配置文件[root@localhost ~]# mkdir config[root@localhost ~]# cd config/[root@localhost config]# ls[root@localhost config]# yum -y install nginx[root@localhost config]# cp /etc/nginx/* ./[root@localhost config]# lsconf.d

2021-12-08 04:43:26 296

原创 docker存储卷

COW机制Docker镜像由多个只读层叠加而成,启动容器时,Docker会加载只读镜像层并在镜像栈顶部添加一个读写层。如果运行中的容器修改了现有的一个已经存在的文件,那么该文件将会从读写层下面的只读层复制到读写层,该文件的只读版本依然存在,只是已经被读写层中该文件的副本所隐藏,这就是“写时复制(COW)”机制。对于这种方式来说,我们去访问一个文件,修改和删除等一类的操作,其效率会非常的低,因为隔着很多层镜像。而要想绕过这种限制,我们可以通过使用存储卷的机制来实现。什么是存储卷存储卷就是将宿主机

2021-12-07 13:29:34 88

原创 Docker四种网络配置以及Docker常用操作

容器名称空间管理Linux内核实现名称空间的创建可以借助ip netns命令来完成对 Network Namespace 的各种操作。ip netns命令来自于iproute安装包,一般系统会默认安装,如果没有的话,请自行安装。注意:ip netns命令修改网络配置时需要 sudo 权限。可以通过ip netns命令完成对Network Namespace 的相关操作,可以通过ip netns help查看命令帮助信息:[root@docker ~]# ip netns helpUsage:

2021-12-06 04:03:05 309

原创 多容器共用一个网卡

基于容器制作镜像拉取一个centos镜像[root@localhost ~]# docker pull centosUsing default tag: latestlatest: Pulling from library/centosa1d0c7532777: Pull complete Digest: sha256:a27fd8080b517143cbbbab9dfb7c8571c40d67d534bbdee55bd6c473f432b177Status: Downloaded newe

2021-12-04 04:35:23 3419

原创 Docker镜像

Docker镜像简介什么是Docker镜像?Docker镜像是一种轻量级,可执行的独立软件包,用来打包软件运行环境和基于运行环境开发的程序,它包含运行某个程序所需要所有内容,包括代码、库文件、环境变量和配置文件。简单来说Docker镜像就好比是一个模板,可以通过这个模板来创建容器服务;一个镜像可以创建多个容器(程序运行在容器中)。镜像的生成途径Dockerfile基于容器制作Docker Hub automated buildsDocker镜像层典型的Linux

2021-12-03 02:51:51 119

原创 Docker

Docker什么是容器容器技术是一种虚拟化的方案传统虚拟机是通过中间层,将一台或多台独立的机器虚拟运行在硬件之上而容器时直接运行在系统内核之上的用户空间因此,容器虚拟化也被称为操作系统虚拟化由于运行在操作系统上,所以容器只能运行相同或相似内核的操作系统容器和传统虚拟化的区别传统虚拟化:通过虚拟化技术模拟真实的硬件从而创建出来的一台拥有完整功能的逻辑计算机。Docker容器:Docker容器也是一种虚拟化技术,和传统虚拟化不一样的是Docker只模拟一个程序最核心的运行环境,所以十分小巧

2021-12-01 03:28:41 264

原创 LinuX Containers

LXC什么是LXCLXC 是 Linux 内核包含功能的用户空间接口。通过强大的API和简单的工具,它使Linux用户可以轻松创建和管理系统或应用程序容器。LXC(LinuX Containers)Linux容器,一种操作系统层虚拟化技术,为Linux内核容器功能的一个用户空间接口。它将应用软件系统打包成一个软件容器(Container),内含应用软件本身的代码,以及所需要的操作系统核心和库。透过统一的名字空间和共享API来分配不同软件容器的可用硬件资源,创造出应用程序的独立沙箱运行环境,使得Linu

2021-12-01 03:26:11 1224

原创 saltstack进阶

masterless应用场景master 与 minion 网络不通或通信有延迟,即网络不稳定想在 minion 端直接执行状态传统的 SaltStack 是需要通过 master 来执行状态控制 minion 从而实现状态的管理,但是当网络不稳定的时候,当想在minion本地执行状态的时候,当在只有一台主机的时候,想执行状态该怎么办呢?这就需要用到 masterless 了。有了masterless,即使你只有一台主机,也能玩saltstack,而不需要你有N台主机架构。masterles

2021-11-30 03:11:34 852

原创 salt-ssh部署salt-minion

安装与配置在 master 上安装 salt-ssh[root@master ~]# yum -y install salt-ssh修改配置文件[root@master ~]# vim /etc/salt/roster# Sample salt-ssh config file#web1:# host: 192.168.42.1 # The IP addr or DNS hostname# user: fred # Remote executions will be ex

2021-11-29 04:11:33 241

原创 Prometheus

目录1.普罗米修斯概述2.时间序列数据2.1什么是序列数据2.2时间序列数据特点2.3Prometheus的主要特征2.4普罗米修斯原理架构图3.Prometheus搭建3.1安装prometheus3.2prometheus界面3.3主机数据展示3.4监控远程Linux主机1.普罗米修斯概述Prometheus(由go语言(golang)开发)是一套开源的监控&报警&时间序列数 据库的组合。适合监控docker容器。因为kubernetes(俗称k8s)的流行带动 了prometheu

2021-11-26 04:36:30 396

原创 saltstack部署mysql主从

文章目录saltstack部署mysql主从pillar变量文件目录一、mysql安装目录结构状态文件mysql环境变量脚本systemctl控制开机自启文件mysqld.service控制开启文件二、mysql主主机配置目录结构状态文件mysql主 配置文件三、mysql从主机配置目录结构状态文件mysql从主机配置文件配置从库及开启slave脚本saltstack部署mysql主从pillar变量文件目录[root@master ~]# cd /srv/pillar/[root@master p

2021-11-20 14:43:22 675

原创 系统初始化状态编写saltstack

文章目录状态文件目录结构1.selinux2.防火墙3.chrony时间同步3.kernel文件描述符4.history历史记录5. timeout连接超时6.yum源7. 基础命令安装8.安装各种agent ,安装salt-minion、zabbix-agent状态文件目录结构[root@master ~]# cd /srv/salt/base/[root@master base]# tree init/init/├── chrony│ ├── files│ │ └── chro

2021-11-13 03:49:50 942

原创 saltstack部署lamp与zabbix

saltstack部署lamp与zabbix环境如下主机名ip服务master192.168.47.115salt-masternode1192.168.47.120salt-minion[root@node1 ~]# yum -y install epel-*[root@master lamp]# salt 'node1' test.pingnode1: True全局目录结构[root@master ~]# cd /srv/salt/

2021-11-11 13:32:21 1204

原创 SaltStack之returners与job_cache的配置及job管理

SaltStack组件之returnreturn组件可以理解为SaltStack系统对执行Minion返回后的数据进行存储或者返回给其他程序,它支持多种存储方式,比如用MySQL、MongoDB、Redis、Memcache等,通过return我们可以对SaltStack的每次操作进行记录,对以后日志审计提供了数据来源。目前官方已经支持30种return数据存储与接口,我们可以很方便的配置与使用它。当然也支持自己定义的return,自定义的return需由python来编写。在选择和配置好要使用的retu

2021-11-08 13:00:54 87

原创 SaltStack常用模块

SaltStack常用模块SaltStack模块介绍环境说明角色主机名IP地址salt-mastermaster192.168.47.115salt-minionminion192.168.47.120官方文档:https://docs.saltproject.io/en/latest/Module是日常使用SaltStack接触最多的一个组件,其用于管理对象操作,这也是SaltStack通过Push的方式进行管理的入口,比如我们日常简单的执行命令、查看包安

2021-11-04 04:27:13 2033

原创 SaltStack数据系统

SaltStack数据系统SaltStack有两大数据系统,分别是:GrainsPillarSaltStack数据系统组件SaltStack组件之GrainsGrains是SaltStack的一个组件,其存放着minion启动时收集到的信息。Grains是SaltStack组件中非常重要的组件之一,因为我们在做配置部署的过程中会经常使用它,Grains是SaltStack记录minion的一些静态信息的组件。可简单理解为Grains记录着每台minion的一些常用属性,比如CPU、内存、磁

2021-11-03 04:25:20 74

原创 SaltStack高级状态的使用

YAML语言YAML是一种直观的能够被电脑识别的数据序列化格式,是一个可读性高并且容易被人类阅读,容易和脚本语言交互,用来表达资料序列的编程语言。它类似于标准通用标记语言的子集XML的数据描述语言,语法比XML简单很多。YAML语言的格式如下:house: family: name: Doe parents: - John - Jane children: - Paul - Mark - Simone add

2021-11-03 03:39:06 147

原创 SaltStack安装

SaltStacksaltstack特点基于python开发的C/S架构配置管理工具底层使用ZeroMQ消息队列pub/sub方式通信使用SSL证书签发的方式进行认证管理,传输采用AES加密SaltStack有四大功能,分别是:远程执行配置管理/状态管理云管理(cloud)事件驱动SaltStack可以通过远程执行实现批量管理,并且通过描述状态来达到实现某些功能的目的。SaltStack四大运行方式:local本地运行Master/Minion传统方式Syndic分布

2021-11-02 04:03:32 242

原创 nginx负载均衡配置实现动静分离

反向代理与负载均衡环境说明主机名IP服务agent192.168.47.115nginxnginx192.168.47.120nginxhttpd192.168.129.121httpd注:nginx服务都是源码安装 、httpd为yum安装nginx源码安装请参考:nginx准备工作每台主机开启服务,并关闭防火墙与selinuxsystemctl distable --now firewalldsed -ri 's/^(SELINUX=).

2021-10-31 15:16:45 105

原创 zabbix监控nginx状态页面

zabbix监控nginx状态页面环境说明系统服务ip主机名centos7zabbix192.168.47.140zabbix_serverredhat8nginx192.168.47.115nginx一、zabbix服务配置请参考这里[root@zabbix_server ~]# ss -anltState Recv-Q Send-Q Local Address:Port

2021-10-29 04:57:51 91

原创 lnmp部署

部署nginx//关闭防火墙与SELINUX[root@localhost ~]# systemctl disable --now firewalld.service Removed /etc/systemd/system/multi-user.target.wants/firewalld.service.Removed /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.[root@localhost ~]# sed -ri

2021-10-27 03:20:06 147

原创 nginx

1. nginx简介nginx(发音同engine x)是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like协议下发行。nginx由俄罗斯的程序设计师Igor Sysoev所开发,最初供俄国大型的入口网站及搜寻引擎Rambler使用。第一个公开版本0.1.0发布于2004年10月4日。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。2011年6月1日,nginx 1.0.4发布。ngin

2021-10-26 02:00:22 433

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除