微信用户0753222742
1月前来过
全职 · 1000/日  ·  21750/月
工作时间: 工作日9:30-11:00、周末9:30-18:30工作地点: 远程
服务企业: 2家累计提交: 0工时
联系方式:
********
********
********
聊一聊

使用APP扫码聊一聊

个人介绍

熟悉Linux(主要是centos)及Windows等主流操作系统的安装、配置和使用; 
 熟悉 阿里云 以及海外AWS、Linode VPS和Vultr VPS等云平台的相关应用; 
 Linux服务器系统的管理,Linux系统配置调试; 
 apache、nginx、tomcat、mysql、SVN、redis等应用软件的安装、调试与优化等; mysql热备、优化、备份; 
 熟悉网络方案设计、组建、网络维护、网络技术; 熟悉网络设备,防火墙、交换机,排查网络、服务器故障,能处理iptables(firealld)、  DNS、路由等问题。 熟悉各种网络协议和网络工具,熟悉shell脚本; 
 熟悉Nagios,Cacti,Zabbix等监控维护技术,能够编写Shell/python等维护脚本; 
 熟悉常见Web系统系统架构,并具有较强的故障排查和解决问题的能力; 
 熟悉阿里云平台,熟悉ECS、RDS、OSS等配置; 熟悉svn、Jenkins等控制、部署软件;

工作经历

  • 2018-11-01 -至今爱立信云计算架构师

    电信云5gc、主要负责网络设计规划,软硬集成,openstack docker k8s 裸金属等等,技能专注主要是shell ansible python 开发: 负责基于OpenStack的云平台项目实施部署、功能组件改进等工作; 公有云SDN网络整改NFV;熟悉docker ,kubernetes 。 负责基于OpenStack的云平台/容器/微服务的架构设计、技术研究和攻关工作;Python、 ansible、zabbix 熟悉nginx, tomcat, redis, zookeeper,kafka,hbase,elk等技术的原理,安装,排错等 精通虚拟化、分布式存储,具备规划和设计高扩展性、高性能、安全、稳定、可靠的大型云计算系统

  • 2018-03-01 -2018-06-30360企业安全网神信息技术(北京)股份有限公司云计算架构师

    项目描述: 1、采用解耦合方案,即云安全本身是基于私有云的,但与用户的云平台分离。云安全底层的云管平台(CMP,有时也叫私有云)是基于Openstack开发的,云安全通过CMP的API与底层OpenStack交互。安全组件分别、vFW 、vWAF、轻代理杀毒、云堡垒机、数据库审计 ,云安全管理平台调用openstack的API对接用户中心(CAS),目前(P002)CAS是CMP的一部分,CAS也可以是用户云平台的用户中心。CMP为CSMP提供唯一的用户认证和管理接口。云安全平台通过openstack的API进行安全组件的创建、删除、重启等操作,实现安全组件的管控。 交换机引流 目前支持两种方案的引流,1)直接从核心交换机引流. 2)接入引流交换机,将用户流量从核心交换机引到引流交换机,3: 入向引流接口分别在客户端访问核心交换机与边界路由器的上联口,4: 出向引流就是云平台的核心交换机的上联口。

  • 2016-05-06 -2018-08-10京东云云计算运维开发工程师

    京东公有云平台架构设计,openstack 模块规划,分区 、分模块 、分角色管理 、运维体建设 ,controller 高可用多节点设计,消息队列高可用rabbitmq 群集 topic 、network 、neutron 网络高可用高性能并发dpdk技术转发网络小包处理,compute 高可用高性能sriov 技术提高计算能力相关技术研究。 负责基于OpenStack的云平台项目实施部署、功能组件改进等工作; 公有云SDN网络整改NFV;熟悉docker ,kubernetes 。 负责基于OpenStack的云平台/容器/微服务的架构设计、;Python、Go、 anisble、zabbix 熟悉nginx, tomcat, redis, cassandra, zookeeper,kafka,hbase,elk等技术的原理,安装,排错等; 精通虚拟化、分布式存储,具备规划和设计高扩展性、高性能、安全、稳定、可靠的大型云计算系统; 微服务设计 sdn网络规划calico 利用BGP 路由方式解决网络性能问题、数据持久化 ceph 云平台稳定性平衡升级自动化运维工具ansibl

  • 2015-03-01 -2016-05-10中国惠普有限公司云计算开发工程师

    负责基于OpenStack的云平台项目实施部署、功能组件改进等工作; Helion产品的性能优化; Helion软件的软硬件兼容性测试; openstack平台开发,技术方案,运维方案的编写; 以下产品: HPE HelionOpenstack HPE Helion Development Platform HPE Helion OpenstackCG2.0 NFV&SDN 架构设计,帮助L1 / L2/故障排除和解决方案优化,并与L1工程师紧密合作,提供必要的技术支持。 VMware、Citirx、 KVM架构设计,部署实施; 管理系统的数据保护、容量规划、调整、监控,和灾难恢复。服务器性能监控和优化、配置安全策略。 为新的应用程序系统进行联合测试,根据客户战略发展完整的可行性系统规划。 项目验收准备文档工作,项目验收汇报 OpenStack私有云Iaas云平台开发;

教育经历

  • 2009-09-01 - 2013-07-01武汉财经学院计算机科学与技术本科

    计算机网络通信、在校期间也学过在线接单做网络运维工程师。系统运维工程师

技能

0
1
2
3
4
5
作品
Nessus漏洞扫描平台构建

Nessus号称是世界上最流行的漏洞扫描程序,全世界有超过75000个组织在使用它。该工具提供完整的电脑漏洞扫描服务,并随时更新其漏洞数据库。Nessus不同于传统的漏洞扫描软件,Nessus可同时在本机或远端上遥控,进行系统的漏洞分析扫描。Nessus也是渗透测试重要工具之一。所以,本章将介绍安装、配置并启动Nessus。 5.1.1 安装和配置Nessus 为了定位在目标系统上的漏洞,Nessus依赖feeds的格式实现漏洞检查。Nessus官网提供了两种版本:家庭版和专业版。 家庭版:家庭版是供非商业性或个人使用。家庭版比较适合个人使用,可以用于非专业的环境。 专业版:专业版是供商业性使用。它包括支持或附加功能,如无线并发连接等。 本小节使用Nessus的家庭版来介绍它的安装。具体操作步骤如下所示。 (1)下载Nessus软件包。Nessus的官方下载地址是http://www.tenable.com/products/ nessus/select-your-operating-system。在浏览器中输入该地址,将显示如图5.1所示的界面。 128-01 图5.1 Nessus下载界面 (2)在该界面左侧的Download Nessus下,单击Linux,并选择下载Nessus-5.2.6- debian6_i386.deb包,如图5.2所示。 128-02 图5.2 下载Linux系统的Nessus (3)单击Nessus-5.2.6-debian6_i386.deb包后,将显示如图5.3所示的界面。 128-03 图5.3 接收许可证 (4)在该界面单击Agree按钮,将开始下载。然后将下载的包,保存到自己想要保存的位置。 (5)下载完Nessus软件包,现在就可以来安装该工具。执行命令如下所示: root@kali:~# dpkg -i Nessus-5.2.6-debian6_i386.deb Selecting previously unselected package nessus. (正在读取数据库 … 系统当前共安装有 276380 个文件和目录。) 正在解压缩 nessus (从 Nessus-5.2.6-debian6_i386.deb) … 正在设置 nessus (5.2.6) … nessusd (Nessus) 5.2.6 [build N25116] for Linux Copyright (C) 1998 - 2014 Tenable Network Security, Inc Processing the Nessus plugins… [##################################################] All plugins loaded - You can start nessusd by typing /etc/init.d/nessusd start - Then go to https://kali:8834/ to configure your scanner 看到以上类似的输出信息,表示Nessus软件包安装成功。Nessus默认将被安装在/opt/nessus目录中。 (6)启动Nessus。执行命令如下所示: root@kali:~# /etc/init.d/nessusd start $Starting Nessus : . 从输出的信息中可以看到Nessus服务已经启动。 129-01注意:使用Nessus之前,必须有一个注册码。关于获取激活码的方法在第2章已经介绍过,这里就不再赘述。 (7)激活Nessus。执行命令如下所示: root@Kali:~# /opt/nessus/bin/nessus-fetch --register 9CC8-19A0-01A7-D4C1- 4521 (8)为Nessus创建一个用户。执行命令如下所示: root@Kali:~# /opt/nessus/sbin/nessus-adduser (9)登录Nessus。在浏览器中输入地址https://主机IP:8834或https://主机名:8834。 通过以上步骤的详细介绍,Nessus就配置好了,现在就可以使用Nessus扫描各种的漏洞。使用Nessus扫描漏洞之前需要新建扫描策略和扫描任务,为了后面能顺利的扫描各种漏洞,接下来将介绍新建策略和扫描任务的方法。 1. 添加策略 添加策略的具体操作步骤如下所示。 (1)登录Nessus。Nessus是一个安全链接,所以需要添加信任后才允许登录。在浏览器地址栏中输入https://192.168.41.234:8834/,将显示如图5.4所示的界面。 129-02 图5.4 连接不被信任 (2)在该界面单击I Understand the Risks按钮,将显示如图5.5所示的界面。 130-01 图5.5 了解风险 (3)该界面显示了所存在的风险,单击Add Exception按钮,将显示如图5.6所示的界面。 130-02 图5.6 添加安全例外 (4)在该界面单击Confirm Security Exception按钮,将显示如图5.7所示的界面。 131-01 图5.7 Nessus登录界面 (5)在该界面输入前面创建的用户名和密码,然后单击Sign In按钮,将显示如图5.8所示的界面。 131-02 图5.8 Nessus主界面 (6)在该界面使用鼠标切换到Policies选项卡上,将显示如图5.9所示的界面。 132-01 图5.9 策略界面 (7)在该界面单击New Policy按钮,将显示如图5.10所示的界面。 132-02 图5.10 策略向导 (8)该界面选择创建策略类型。Nessus默认支持10种策略类型,在策略类型上有绿色条的表示订阅。这里选择Advanced Policy类型,单击该图标后,将显示如图5.11所示的界面。 133-01 图5.11 新建策略 (9)在该界面设置策略名、可见性和描述信息(可选项)。这里设置策略名为Local VulnerabilityAssessment、可见性为private。然后单击左侧的Plugins标签,将显示如图5.12所示的界面。在图5.11中Visibility有两个选项。 133-02 图5.12 插件程序 private:仅自己能使用该策略扫描。 shared:其他用户也能使用该策略扫描。 (10)该界面显示了所有插件程序,默认全部是启动的。在该界面可以单击Disable All按钮,禁用所有启动的插件程序。然后指定需要启动的插件程序,如启动Debian Local Security Checks和Default Unix Accounts插件程序,启动后如图5.13所示。 134-01 图5.13 启动的插件程序 (11)在该界面单击Save按钮,将显示如图5.14所示的界面。 134-02 图5.14 新建的策略 (12)从该界面可以看到新建的策略Local Vulnerability Assessment,表示该策略已创建成功。 2. 新建扫描任务 策略创建成功后,必须要新建扫描任务才能实现漏洞扫描。下面将介绍新建扫描任务的具体操作步骤。 (1)在图5.14中,将鼠标切换到Scans选项卡上,将显示如图5.15所示的界面。 135-03 图5.15 扫描任务界面 (2)从该界面可以看到当前没有任何扫描任务,所以需要添加扫描任务后才能扫描。在该界面单击New Scan按钮,将显示如图5.16所示。 135-04 图5.16 新建扫描任务 (3)在该界面设置扫描任务名称、使用策略、文件夹和扫描的目标。这里分别设置为Sample Scan、Local Vulnerability Assessment(前面新建的策略)、My Scans和192.168.41.0/24。然后单击Launch按钮,将显示如图5.17所示的界面。 136-01 图5.17 运行扫描任务 (4)从该界面可以看到扫描任务的状态为Running(正在运行),表示Sample Scan扫描任务添加成功。如果想要停止扫描,可以单击135-01(停止一下)按钮。如果暂停扫描任务,单击135-02按钮。 5.1.2 扫描本地漏洞 在前面介绍了Nessus的安装、配置、登录及新建策略和扫描任务,现在可以开始第一次测试组的安全漏洞。对于新建策略和扫描任务这里就不再赘述,本小节中只列出扫描本地漏洞所需添加的插件程序及分析扫描信息。 【实例5-1】扫描本地漏洞具体操作步骤如下所示。 (1)新建名为Local Vulnerability Assessment策略。 (2)添加所需的插件程序。 Ubuntu Local Security Checks:扫描本地Ubuntu安全检查。 Default Unix Accounts:扫描默认Unix账户。 (3)新建名为Sample Scan扫描任务。 (4)扫描漏洞。扫描任务执行完成后,将显示如图5.18所示的界面。 136-02 图5.18 扫描完成 (5)在该界面双击扫描任务名称Sample Scan,将显示扫描的详细信息,如图5.19所示。 137-01 图5.19 扫描的详细信息 (6)从该界面可以看到总共扫描了三台主机。扫描主机的漏洞情况,可以查看Vulnerability列,该列中的数字表示扫描到的信息数。右侧显示了扫描的详细信息,如扫描任务名称、状态、策略、目标主机和时间等。右下角以圆形图显示了漏洞的危险情况,分别使用不同颜色显示漏洞的严重性。本机几乎没任何漏洞,所以显示是蓝色(Info)。关于漏洞的信息使用在该界面可以单击Host列中的任何一个地址,显示该主机的详细信息,包括IP地址、操作系统类型、扫描的起始时间和结束时间等。本例中选择192.168.41.234地址,如图5.20所示。 137-02 图5.20 漏洞信息 (7)在该界面单击INFO按钮,将显示具体的漏洞信息,如图5.21所示。 138-01 图5.21 漏洞详细信息 (8)该界面显示了漏洞的描述信息及扫描到的信息。例如,该主机上开启了68、8834和15774等端口。使用Nessus还可以通过导出文件的方式查看漏洞信息,导出的文件格式包括Nessus、PDF、HTML、CSV和Nessus DB。导出文件的方式如下所示: 在图5.20中单击Export按钮,选择导出文件的格式。这里选择PDF格式,单击PDF命令,将显示如图5.22所示的界面。 138-02 图5.22 可用的内容 (9)该界面分为两部分,包括Available Content(可用的内容)和Report Content(报告内容)。该界面显示了导出的PDF文件中可包括的内容有主机摘要信息、主机漏洞和插件漏洞。在图5.22中将要导出的内容用鼠标拖到Report Content框中,拖入内容后将显示如图5.23所示的界面。 139-01 图5.23 导出的内容 (10)在该界面显示了将要导出的内容。此时单击Export按钮,将显示如图5.24所示的界面。 139-02 图5.24 下载界面 (11)在该界面单击Save File按钮,指定该文件的保存位置,即PDF文件导出成功。 5.1.3 扫描网络漏洞 如果用户想要使用Nessus攻击一个大范围的漏洞,需要配置评估漏洞列表并指定获取信息的评估列表。本小节将介绍配置Nessus在目标主机寻找网络漏洞,这些漏洞指目标主机或其他网络协议。 【实例5-2】扫描网络漏洞的具体操作步骤如下所示。 (1)新建名为Internal Network Scan策略。 (2)添加所需的插件程序,如表5-1所示。 表5-1 所需插件程序 CISCO 扫描CISCO系统 DNS 扫描DNS服务器 Default Unix Accounts 扫描本地默认用户账户和密码 FTP 扫描FTP服务器 Firewalls 扫描代理防火墙 Gain a shell remotely 扫描远程获取的Shell Geeral 扫描常用的服务 Netware 扫描网络操作系统 Peer-To-Peer File Sharing 扫描共享文件检测 Policy Compliance 扫描PCI DSS和SCAP信息 SCADA 扫描设置管理工具 SMTP Problems 扫描SMTP问题 SNMP 扫描SNMP相关信息 Service Detection 扫描服务侦察 Settings 扫描基本设置 (3)新建名为Network Scan扫描任务。 (4)扫描结果如图5.25所示。 140-01 图5.25 网络扫描结果 (5)从该界面可以看到有两个比较严重的漏洞。如果想要详细地分析该漏洞,建议将该信息使用文件的形式导出。 5.1.4 扫描指定Linux的系统漏洞 本小节将介绍使用Nessus扫描指定Linux系统上的漏洞。 【实例5-3】扫描指定Linux系统漏洞的具体操作步骤如下所示。 (1)使用Metasploitable 2.0作为目标主机。用户也可以使用其他版本的Linux系统。 (2)新建名为Linux Vulnerability Scan策略。 (3)添加所需的插件程序,如表5-2所示。 表5-2 所需插件程序 Backdoors 扫描秘密信息 Brute Force Attacks 暴力攻击 CentOSo Local Security Checks 扫描CentOS系统的本地安全漏洞 DNS 扫描DNS服务器 Debian Local Security Checks 扫描Debian系统的本地安全漏洞 Default Unix Accounts 扫描默认Unix用户账号 Denial of Service 扫描拒绝的服务 FTP 扫描FTP服务器 Fedora Local Security Checks 扫描Fedora系统的本地安全漏洞 Firewalls 扫描防火墙 FreeBSD Local Security Checks 扫描FreeBSD系统的本地安全漏洞 Gain a shell remotely 扫描远程获得的Shell General 扫描漏洞 Gentoo Local Security Checks 扫描Gentoo系统的本地安全漏洞 HP-UX Local Security Checks 扫描HP-UX系统的本地安全漏洞 Mandriva Local Security Checks 扫描Mandriva系统的本地安全漏洞 Misc 扫描复杂的漏洞 Red Hat Local Security Checks 扫描Red Hat系统的本地安全漏洞 SMTP Porblems 扫描SMTP问题 SNMP 扫描SNMP漏洞 Scientific Linux Local Security Checks 扫描Scientific Linux系统的本地安全漏洞 Slackware Local Security Checks 扫描Slackware系统的本地安全漏洞 Solaris Local Security Checks 扫描Solaris系统的本地安全漏洞 SuSE Local Security Checks 扫描SuSE系统的本地安全漏洞 Ubuntu Local Security Checks 扫描Ubuntu系统的本地安全漏洞 Web Servers 扫描Web服务器 (4)新建名为Linux Vulnerability Scan扫描任务。 (5)扫描漏洞,扫描结果如图5.26所示。 141-01 图5.26 指定Linux系统扫描结果 (6)从该界面可以看到总共扫描了6台主机上的漏洞信息。其中,主机192.168.41.142上存在7个比较严重的漏洞。关于漏洞的百分比情况,可以从右下角的扇形图中了解到。同样,用户可以使用前面介绍过的两种方法,查看漏洞的详细信息。 5.1.5 扫描指定Windows的系统漏洞 本节将介绍使用Nessus扫描指定Windows系统上的漏洞。 【实例5-4】使用Nessus扫描指定Windows系统漏洞。本例中使用Windows 7系统作为目标主机。具体扫描步骤如下所示。 (1)新建名为Windows Vulnerability Scan策略。 (2)添加所需的插件程序,如表5-3所示。 表5-3 所需插件程序 DNS 扫描DNS服务器 Databases 扫描数据库 Denial of Service 扫描拒绝的服务 FTP 扫描FTP服务器 SMTP Problems 扫描SMTP问题 SNMP 扫描SNMP Settings 扫描设置信息 Web Servers 扫描Web Servers Windows 扫描Windows Windows:Microsoft Bulletins 扫描Windows中微软公告 Windows:User management 扫描Windows用户管理 (3)开始扫描漏洞。扫描结果如图5.27所示。 142-01 图5.27 扫描Windows系统的结果 (4)从该界面可以看到主机192.168.41.1的漏洞情况,该主机中存在一个比较严重的漏洞。同样用户可以使用前面介绍过的两种方法查看漏洞的详细信息,进而修改主机中存在的漏洞。

0
2023-03-02 12:33
Docker搭建Harbor私有仓库

一、Harbor 介绍 Docker容器应用的开发和运行离不开可靠的镜像管理,虽然Docker官方也提供了公共的镜像仓库,但是从安全和效率等方面考虑,部署我们私有环境内的Registry也是非常必要的。Harbor是由VMware公司开源的企业级的Docker Registry管理项目,它包括权限管理(RBAC)、LDAP、日志审核、管理界面、自我注册、镜像复制和中文支持等功能。 二、环境、软件准备 本次演示环境,我是在虚拟机 Linux RedHat 7.2 上操作,以下是安装的软件及版本: Docker:version 17.09.0-ce Docker-compose: version 1.21.2 Harbor: version 1.5.1 注意:Harbor的所有服务组件都是在Docker中部署的,所以官方安装使用Docker-compose快速部署,所以我们需要安装Docker、Docker-compose。由于Harbor是基于Docker Registry V2版本,所以就要求Docker版本不小于1.10.0,Docker-compose版本不小于1.6.0 1)Docker 安装 阿里云地址:https://mirrors.aliyun.com/docker-ce/linux/centos/7/x86_64/stable/ yum install docker-ce # 安装社区版本 1 2) Docker-compose 安装 1、下载指定版本的docker-compose (https://github.com/docker/compose/releases) $ curl -L https://github.com/docker/compose/releases/download/1.13.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose 2、对二进制文件赋可执行权限 $ sudo chmod +x /usr/local/bin/docker-compose 3、测试下docker-compose是否安装成功 $ docker-compose --version 1 2 3 4 5 6 三、Harbor 服务搭建 1)下载Harbor安装文件 从 github harbor 官网 release 页面下载指定版本的安装包。 1、在线安装包 $ wget https://github.com/vmware/harbor/releases/download/v1.1.2/harbor-online-installer-v1.1.2.tgz $ tar xvf harbor-online-installer-v1.1.2.tgz 2、离线安装包 $ wget https://storage.googleapis.com/harbor-releases/release-1.5.0/harbor-offline-installer-v1.5.1.tgz $ tar xvf harbor-offline-installer-v1.5.1.tgz 1 2 3 4 5 6 2)配置Harbor 解压缩之后,目录下回生成 harbor.conf 文件,该文件就是Harbor的配置文件 ## Configuration file of Harbor # hostname设置访问地址,可以使用ip、域名,不可以设置为127.0.0.1或localhost hostname = 192.168.80.42 # 访问协议,默认是http,也可以设置https,如果设置https,则nginx ssl需要设置on ui_url_protocol = http # mysql数据库root用户默认密码root123,实际使用时修改下 db_password = root123 max_job_workers = 3 customize_crt = on ssl_cert = /data/cert/server.crt ssl_cert_key = /data/cert/server.key secretkey_path = /data admiral_url = NA # 邮件设置,发送重置密码邮件时使用 email_identity = email_server = smtp.mydomain.com email_server_port = 25 email_username = sample_admin@mydomain.com email_password = abc email_from = admin email_ssl = false # 启动Harbor后,管理员UI登录的密码,默认是Harbor12345 harbor_admin_password = Harbor12345 # 认证方式,这里支持多种认证方式,如LADP、本次存储、数据库认证。默认是db_auth,mysql数据库认证 auth_mode = db_auth # LDAP认证时配置项 #ldap_url = ldaps://ldap.mydomain.com #ldap_searchdn = uid=searchuser,ou=people,dc=mydomain,dc=com #ldap_search_pwd = password #ldap_basedn = ou=people,dc=mydomain,dc=com #ldap_filter = (objectClass=person) #ldap_uid = uid #ldap_scope = 3 #ldap_timeout = 5 # 是否开启自注册 self_registration = on # Token有效时间,默认30分钟 token_expiration = 30 # 用户创建项目权限控制,默认是everyone(所有人),也可以设置为adminonly(只能管理员) project_creation_restriction = everyone verify_remote_cert = on 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 3)启动 Harbor 修改完配置文件后,在的当前目录执行 ./install.sh,Harbor服务就会根据当期目录下的 docker-compose.yml开始下载依赖的镜像,检测并按照顺序依次启动各个服务,Harbor依赖的镜像及启动服务如下: # docker images vmware/redis-photon v1.5.1 19245c7a4f51 12 days ago 207MB vmware/clair-photon v2.0.1-v1.5.1 e7f0ab982469 12 days ago 303MB vmware/notary-server-photon v0.5.1-v1.5.1 611385e920c3 12 days ago 211MB vmware/notary-signer-photon v0.5.1-v1.5.1 f9e01495db0e 12 days ago 209MB vmware/registry-photon v2.6.2-v1.5.1 2efae6b250b1 12 days ago 198MB vmware/nginx-photon v1.5.1 90d35cd72a68 12 days ago 135MB vmware/harbor-log v1.5.1 67000769dfac 12 days ago 200MB vmware/harbor-jobservice v1.5.1 3f7a7987ca5b 12 days ago 194MB vmware/harbor-ui v1.5.1 8dbe945233a8 12 days ago 212MB vmware/harbor-adminserver v1.5.1 a11b8eb3f9d8 12 days ago 183MB vmware/harbor-db v1.5.1 afa780d73279 12 days ago 526MB vmware/mariadb-photon v1.5.1 59ed57632415 12 days ago 526MB vmware/postgresql-photon v1.5.1 41b693c0ce50 12 days ago 221MB vmware/harbor-migrator v1.5.0 466c57ab0dc3 5 weeks ago 1.16GB vmware/photon 1.0 4b481ecbef2a 6 weeks ago 130MB 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 # docker-compose ps Name Command State Ports ---------------------------------------------------------------------------------------------------------------------------------------------- harbor-adminserver /harbor/start.sh Up (health: starting) harbor-db /usr/local/bin/docker-entr ... Up (health: starting) 3306/tcp harbor-jobservice /harbor/start.sh Up harbor-log /bin/sh -c /usr/local/bin/ ... Up (health: starting) 127.0.0.1:1514->10514/tcp harbor-ui /harbor/start.sh Up (health: starting) nginx nginx -g daemon off; Up (health: starting) 0.0.0.0:443->443/tcp, 0.0.0.0:4443->4443/tcp, 0.0.0.0:80->80/tcp redis docker-entrypoint.sh redis ... Up 6379/tcp registry /entrypoint.sh serve /etc/ ... Up (health: starting) 5000/tcp 1 2 3 4 5 6 7 8 9 10 11 12 启动完成后,我们访问刚设置的 hostname 即可 http://192.168.80.42/,默认是80端口,如果端口占用,我们可以去修改docker-compose.yml文件中,对应服务的端口映射 4) 配置并启动Harbor之后,本地执行登录操作,报错: docker login 192.168.80.42 Username: admin Password: Error response from daemon: Get https://192.168.80.42/v1/users/: dial tcp 192.168.80.42:443: getsockopt: connection refused 1 2 3 4 这是因为 docker1.3.2 版本开始默认 docker registry 使用的是 https,我们设置 Harbor 默认 http 方式,所以当执行用 docker login、pull、push 等命令操作非 https 的 docker regsitry 的时就会报错。解决办法: 如果系统是MacOS,则可以点击“Preference”里面的“Advanced”在“Insecure Registry”里加上192.168.80.42,重启Docker客户端就可以了; 如果系统是Ubuntu,则修改配置文件/lib/systemd/system/docker.service,修改[Service]下ExecStart参数,增加–insecure-registry 192.168.80.42 如果系统是Centos或RedHat,可以修改配置 /usr/lib/systemd/system/docker.service,将 ExecStart 增加 –insecure-registry 192.168.80.42 四、部署 SSL 认证 1) 概念理解 签名证书与自签名证书 签名证书:由权威颁发机构颁发给服务器或者个人用于证明自己身份的东西 自签名证书:由服务器自己颁发给自己,用于证明自己身份的东西,非权威颁发机构发布 openssl openssl 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用 KEY与CSR的区别 Key通常用来存放一个公钥或者私钥,并非X.509证书,编码同样的,可能是PEM,也可能是DER。证书自身拥有一个密钥对(即一个公钥和一个私钥),由公钥(Public Key)与私钥(Private Key)是通过一种算法得到,公钥是密钥对中公开的部分,私钥则是非公开的部分。一般公钥和密钥的关系为:1,公钥和私钥成对出现、2,公开的密钥叫公钥,只有自己知道的叫私钥、3,用公钥加密的数据只有对应的私钥可以解密、4,用私钥加密的数据只有对应的公钥可以解密、5,如果可以用公钥解密,则必然是对应的私钥加的密、6,如果可以用私钥解密,则必然是对应的公钥加的密 CSR文件必须在申请和购买SSL证书之前创建。也就是证书申请者在申请数字证书时由CSP(加密服务提供者)在生成私钥的同时也生成证书请求文件,证书申请 者只要把CSR文件提交给证书颁发机构后,证书颁发机构使用其根证书私钥签名就生成了证书公钥文件,也就是颁发给用户的证书 2) 创建根证书 # 创建证书存放目录 mkdir -p /data/cert && cd /data/cert # 创建自己的CA证书(不使用第三方权威机构的CA来认证,自己充当CA的角色) openssl genrsa -out ca.key 2048 # 生成根证书私钥(无加密) # 生成自签名证书(使用已有私钥ca.key自行签发根证书) openssl req -x509 -new -nodes -key ca.key -days 10000 -out ca.crt -subj “/CN=Harbor-ca” req  产生证书签发申请命令 -x509 签发X.509格式证书命令。X.509是最通用的一种签名证书格式。 -new  生成证书请求 -key  指定私钥文件 -nodes 表示私钥不加密 -out   输出 -subj 指定用户信息 -days 有效期 3) 创建服务器端证书 # 生成服务器端私钥和CSR签名请求 openssl req -newkey rsa:4096 -nodes -sha256 -keyout server.key -out server.csr    # 一路回车 # 签发服务器证书 echo subjectAltName = IP:192.168.80.42 > extfile.cnf openssl x509 -req -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -days 365 -extfile extfile.cnf -out server.crt x509  签发X.509格式证书命令。 -req   表示证书输入请求。 -days  表示有效天数 -extensions 表示按OpenSSL配置文件v3_req项添加扩展。 -CA   表示CA证书,这里为ca.crt -CAkey  表示CA证书密钥,这里为ca.key -CAcreateserial 表示创建CA证书序列号 -extfile  指定文件 4) 修改 Harbor 的配置文件 hardor.cfg # 修改成 https ui_url_protocol = https # 认证文件的路径 ssl_cert = /data/cert/server.crt ssl_cert_key = /data/cert/server.key 1 2 3 4 5 6 5) 设置 docker 证书 # 如果如下目录不存在,请创建,如果有域名请按此格式依次创建 mkdir -p /etc/docker/certs.d/192.168.80.42 # mkdir -p /etc/docker/certs.d/[IP2] # mkdir -p /etc/docker/certs.d/[example1.com] # 如果端口为443,则不需要指定。如果为自定义端口,请指定端口 # /etc/docker/certs.d/yourdomain.com:port 1 2 3 4 5 6 mkdir -p /etc/docker/certs.d/192.168.80.42 # 将 ca 根证书依次复制到上述创建的目录中 cp ca.crt /etc/docker/certs.d/192.168.80.42 cp server.crt /etc/docker/certs.d/192.168.80.42 6) 重启 docker 和 启动 Harbor # 重启 docker systemctl restart docker # 启动Harbor ./install.sh 启动完成后,我们访问刚设置的 hostname 即可 https://192.168.80.42/,默认是80端口,如果端口占用,我们可以去修改docker-compose.yml文件中,对应服务的端口映射 7 ) 后台登录 # 登录仓库 docker login -u admin -p Harbor12345 192.168.80.42 # 登出仓库 docker logout 192.168.80.42 1 2 3 4 5 注:其他服务器如果需要访问 Harbor 仓库,把 /etc/docker/certs.d/192.168.80.42 文件夹复制到该主机的相同位置即可 灬勿忘丶心安 关注 5 2 25 专栏目录 Docker之Harbor私服的搭建及使用 张益达的博客 2万+ 今天给大家带来Harbor环境的搭建,以及使用介绍 Harbor介绍: Docker容器应用的开发和运行离不开可靠的镜像管理,虽然Docker官方也提供了公共的镜像仓库,但是从安全和效率等方面考虑,部署我们私有环境内的Registry 也是非常必要的。Harbor是由VMware公司开源的企业级的Docker Registry管理项目,它包括权限管理(RBAC)、LDAP、日志审核、管理界面、... Finn:博主有个问题请教下,我配置了这个 ExecStart=/usr/bin/dockerd -H fd:// --insecure-registry xxx.xxx.xxx.xxx还是登陆不上harbor,我重启服务用systemctl restart docker报错(Unit docker.service failed to load: No such file or directory),用的是service docker restart重启的,是不是这个原因(ubunto系统)1 年前回复 Alone1717:讲的非常详细,解决了我的问题2 年前回复 相关推荐 Docker镜像仓库Harbor之搭建及配置_哎_小羊的博客-CSDN... 7-1 Docker容器应用的开发和运行离不开可靠的镜像管理,虽然Docker官方也提供了公共的镜像仓库,但是从安全和效率等方面考虑,部署我们私有环境内的Registry也是非常必要的。Harbor是由VMware公司开源的企业级的Docker Registry管理项目,它包括权限管理... Docker 之 部署 Harbor_Dusty丶one的博客_docker harbor

0
2023-03-02 12:35
Devops之运维平台构建

如今很多人认为devops将彻底取代传统运维,我不这么认为,在我看来devops只是很大程度上的代替了传统运维的手工操作,运维人员只需写好自动化运维脚本,利用自动化工具(zabbix,elk,ansible等)就可以实现自动发布和监控,省去了很多人力。因此Devops能否顺利落地,运维平台的建设将会很重要。本文主要简单介绍下我司的三大运维平台。 运维职责 运维平台 当前我司运维平台主要有3个: 持续集成和交付 ①基于Jenkins持续构建 ②支持容器化打包和部署 ③发布平台,支持灰度发布,异常快速回滚 监控告警平台 ①完善的监控体系:覆盖机器、网络、服务和客户设备维度 ②快速的异常发现和告警 ③灵活的告警通知方式:LCP、邮件、*、* 问题定位平台 ①基于ELK实现日志采集、上报、告警 ②采集软件平台所有组件的运行日志 ③通过调用链分析和定位设备问题 平台运营情况 持续集成和交付 持续集成(CI),微服务组件全部改造成容器化部署,并通过K8S实现编排。 持续交付(CD),做一个版本发布平台:支持灰度、蓝绿发布、版本回滚。 监控平台 公司之前一直使用的是zabbix+grafana的监控方式,随着我们的微服务推行容器化后,k8s应用的监控需求增加,Prometheus会更适合容器的监控。另外,Prometheus用的就是自研的 TSDB,Zabbix 则用的是 MySQL 或 PostgreSQL,在高并发的情况下,时序型数据库读写性能是远高于关系型数据库的,同时还提供了很多内置的基于时间的处理函数,简化数据聚合的难度。因此我们现在也逐步将Zabbix迁移到Prometheus。目前监控平台采集覆盖基础资源38项,102个组件、9项业务监控。 问题定位平台 背景:线上用户反馈设备使用异常,研发或QA介入排查,经常出现问题定位时间太长,问题反馈不及时,客户体验较差。因此需要开发一个问题定位平台,聚合一些设备日志和监控数据进行分析,缩短研发定位时间。 模块涉及到主要概念 •Flow:表示处理问题的流程 •Action:表示Flow中需要执行的操作,是有序的,是在程序中封装好的对数据源的小粒度操作 •Situation:用户定义的问题场景,用于描述该问题场景下日志的分析规则 situation由用户创建,在查询时需要指定该参数,会根据situation中的规则分析出请求日志之间的顺序。 平台演示 后记 这三大运维平台用的都是开源系统,总共有12个系统,Sonar、Jenkins、Ranche、Consul、ELK、Admin-Service、Zabbix、Prometheus、Smokeping、Grafana、Skywalking、Jumpserver。后续会基于Jenkins开发一个Devops集成平台,将这些系统进行整合,以便更好地支持前端业务交付。

0
2021-08-02 12:32
更新于: 2021-07-31 浏览: 934