手机随时阅读
新人专享大礼包¥24
豆子最近开始看EKS的使用。EKS是AWS托管的k8s服务,使用起来和baremetal的k8s还是有些区别的。下面是一个简单的学习测试,看看如何在AWS上面使用他自己的ALBIngressController。在裸机的k8s上面,我们一般是通过NginxIngressController来进行第7层的负载均衡。AWS上面我们当然也可以这么做,然后再通过一个第四层的NLBservice来访问Ngi
这段时间在看韩先超老师的k8s课程,并成功地通过了CKA的考试。把之前的一些重要的笔记整理一下。k8s里面service和ingress是两个很重要的概念。下面简单的总结一下,并配置一个实验环境。service的主要作用是把集群内部的容器的端口暴露出来,以便集群内部的其他服务或者集群外部来访问。service分成了三大类型,分别是NodePort,ClusterIP和Loadbalance。Clu
个人感受
Prometheus默认是使用pull 模式,也就是每隔一段时间,prometheus去主动获取Metric信息。这种方式有个问题就是有些批处理的脚本他们的结果可能存在时间很短,如果错过了就没法收集metric了,这种时候,我们可以使用pushgateway,把这些metric都push给这个pushgateway,然后稍后让Prometheus来pushgateway这里来取数据。 下面看看如
工作需要安装一个新的DHCP服务器给Fortigate 提供IP,要求使用kea这个开源软件。上线之前,先在本地模拟一下,简单的记录一下配置安装的过程 ## 安装 他可以通过现成的包来安装,也可以通过source手动安装。官方的教程是通过source来安装,我也这么做。 下载解压kea,注意下载最新版本,官方文档很久没更新了,导致了一个大坑,他的的例子是一个旧版本的型号,这个例子的版本号有b
登陆grafana的服务器 安装下面的包 ``` sudo apt-get install -y apt-transport-https software-properties-common wget ``` 添加gpg key ``` wget -q -O - https://packages.grafana.com/gpg.key | sudo apt-key add - ``` 添加re
Prometheus 除了监控服务器节点,还可以对application和容器进行监控。下面看看4个例子,监控apache,监控 docker daemon,监控docker container和 监控 kubenetes ## 例1 监控Apache 相关服务 和监控Linux 节点类似,我们也需要安装对应的exporter 登陆进apache 服务器,创建新用户,下载exporter,解压,
Prometheus是一个很强大的监控工具,尤其适合于基于时间流的各种metric的日志,可以用来监控Linux,Windows节点,各种应用程序,比如apache,docker,kubernetes等容器编排工具等等。 他的安装和配置相对来说还是比较直观容易的。下面看一个简单的例子,安装一个Prometheus服务器,并且监控一个Linux的节点服务器性能 安装Prometheus
Sonarqube是一个开源的代码质量检测工具,可以单独使用,也可以作为一个检测步骤放在Jenkins的pipelineCI/CD流水线。简单的理解,他通过一个snarqubescanner的工具来扫描代码,然后把结果发给sonarqubeserver,用户可以在这个sonarqubeserver的网页界面查看报告。每次运行的时候,他会通过一系列条件检测,我们可以看见这些检测的内容,这些检测的内容
最近在学习ECS和Terraform,于是用Terraform配置了一个基本的ECSCluster,Cluster里面有2个EC2,上面跑了4个Nginx的容器。整个配置的流程用resource完成,并未使用Module,思路和用AWSConsole手动创建的过程一一匹配。https://github.com/beanxyz/ecs执行terraformapply的效果基本流程:配置基本的VPC网
之前豆子在公司配置了SnipeIT的容器。Docker的配置命令很简单配置Mysql数据库dockerrun\--namesnipe-mysql\-d\-eMYSQL_ROOT_PASSWORD="Ylh16888test"\-eMYSQL_DATABASE=snipe\-eMYSQL_USER=snipe\-eMYSQL_PASSWORD="Ylh16888test"\-eTZ=America/
Docker的网络可以分为Bridge,Host,Overlay,None和Macvlan。其中,默认的类型为Bridge类型。下面来看看几个常见的命令和配置。和虚拟机,宿主机的网络关系类似,容器的宿主上也可以有不同的网络。相同的网络上的容器可以互相通信。例1创建一个Bridge的网络,指定subnet和gatewaydockernetworkcreate--subnet10.1.0.0/24--
今天写了个Terraform的小练习,内容很简单,通过resources创建一个VPC,公网上是跳板机,私网上是内部服务器,配置好之后可以通过跳板机访问内网服务器。写好的内容在这。https://github.com/beanxyz/task1这个内容比较基础,就不赘述。这个过程中遇见了两个比较有趣的问题,记录一下。第一个问题是,当我执行terraformapply的时候,当他开始创建EC2的时候
当我们在Terraform模板里面创建资源的时候,如果有多个重复的资源,我们可以通过count来指定个数,他会自动执行一个类似forloop的循环,然后我们可以通过count.index来指向他每次循环的索引值。从编程的思维来理解,就是我们执行一个for循环,每次循环获取index的值,从一个对应长度的数组里面获取元素值赋给name这个参数例如我创建3个IAM用户,分别有三个不同的名字。注意这里为
这一章笔记总结一下变量在Terraform里面的定义和使用。变量在Terraform里面可以通过多种方式来定义:系统的环境变量命令行里面指定从文件里面指定从variabledefault的值指定下面来看几个例子例1我创建一个EC2,把一个自定义的变量传给我的instance_type在terraform,我们可以额外创建一个文件叫做variables.tf,在里面声明我们的变量值,然后就可以从主文
和Cloudformation类似,我们也可以在Terraform的模板文件里面定义output,输出对应的resource的属性。例1:配置一个EIP和S3,输出他们的属性provider"aws"{region="us-west-2"access_key="AKIA23243L4J2KL243GX"secret_key="fw2fia3aeTAARhL2LuX3Tsd97KM73+M7JE82
Terraform的安装很容易,从官方网站下载二进制文件解压之后就可以直接使用了。https://www.terraform.io/以windows为例的话,我为了在cmd里面直接使用,需要把下载解压后的文件加入到环境变量Path里面。使用的话,直接先看两个简单的例子。例1在指定的AWS账号里面创建一个新的EC2实例,他有多种验证的方式,这里我们使用最简单的静态密码验证(非常不安全)https:/
用GithubAction做了一个简单的CI/CD,这一次我上传cloudformation的yaml文件,首先把他推送到我的一个S3Bucket里面,然后利用这个yaml文件来生成对应的服务。https://github.com/vetpartner/cfworkflow文件如下所示,首先checkout,然后检测cloudformation的语法,然后通过secret的值进行aws的登录验证,
继续学习GithubAction,下面的例子里面我尝试上传一个lambda_function.py的python文件,自动检测语法无误之后,给我更新到指定的AWSLambdaFunction上面去。https://github.com/vetpartner/lambdatestname:deploy-py-lambdaon:push:branches:-masterjobs:build:runs-
最近在看GithubAction,学习他的基本的CI/CD的操作。简单的记录一下他的基本流程。Githubaction是Github网站提供的一个托管的CI/CD的工具。具体的文档可以参考https://docs.github.com/en/actions/creating-actions/about-actionsGithubaction本身支持javascriptaction和Dockerac
今天早上有个诊所无法连接他们的EC2实例,简单的Troubleshoot了一下,发现安全组被人改动了,他们的IPsubnet被移除了3389的访问权限,自然无法远程连接。把对应的子网加进去,就都okay了。这个操作估计是某个管理员无意造成的。我们可以通过cloudtrail来进行删选。比如说我们可以查看revokesecuritygroupIngress的操作,就可以知道谁进行了安全组inboun
学习AWSEC2的第一件事情一般都是创建一个新的实例,然后最后他会要求用户创建一个KeyPair,然后通过这个KeyPair来进行SSH的连接。他的本质其实是创建了一个公钥/私钥对之后,把公钥保留在EC2的实例上,然后用户下载私钥。系统创建的KeyPair我们可以在EC2旁边的KeyPairs里面找到。我们也可以自己创建之后,手动上传PublicKey的BASE64的内容。手动创建的话Linux/
Cloudwatch在AWS的服务里面占据了很重要的部分。他的基本功能是监控服务的性能,发送警报以外,还可以通过各种事件来触发Lamda等服务,他还可以接收第三方的app和服务的日志等等。下面我们来看看如何通过Cloudwatchlogs的Metricfilter来自定义一个Metric,并通过他来发送一个警报。例子:当一个用户删除KMS的CMK时候,给管理员发送一个警告邮件。首先我们来配置一下C
当我们使用AWSKMS的时候,我们可以选择三种Keymaterial的来源,当然最简单的是KMS,完全由AWS提供,我们也可以选择External,也就是从第三方平台导入,下面看看如何实现。进入KMS,新建一个CMK,选择Symmetric和External添加名字选择Key的管理员和用户Review一下选择算法为SHA1,因为之后我用openssl,他只支持这个,下载我们的wrappingkey
AWSKMS服务是AWS提供的一个托管服务,用户可以用这个服务来创建和管理CMK,加密秘钥等等任务。值得注意的是,KMS的硬件平台是对多个用户开放的,尽管逻辑上他们彼此不能访问,但是如果特别在意安全性的话,可以使用AWSHSM模块,这个就是指定的设备了,当然他的价格就贵了几十倍不止了。下面看看如何使用KMS加密来加强我们S3Bucket的安全性。例子:我们打算创建2个用户James和Johnny,
S3里面的对象默认都是私有的,仅仅所有者可以访问。但是,所有者可以通过自己的权限对对象文件创建presignedURL,这样子在指定的时间内允许其他人来下载这个文件。AWSPresignedURL一般是在SDK里面使用,允许生成一个临时的URL,这个URL里面包含了Token和过期时间,这样子用户可以通过这个临时的URL来访问S3的资源。我们用AWSCLI也可以生成PresignedURL。比如说
AWSS3的权限设置一直是一个重难点,而且是比较混淆的一个概念。比较混淆的地方在于,用户可以通过三个不同的地方进行权限管理,这三个地方分别是IAMPolicy,BucketPolicy以及BucketACL。下面通过一些简单的例子来看看这三个东西到底是怎么用的,如果有了冲突的设置,顺序是怎么处理的。首先简单的说明一下他们的应用场景,IAMPolicy是global级别的,他是针对用户来设置的,比如
豆子最近在忙着做服务器的迁移,大概有20多个站点的服务器都需要迁移到AWS上去。说说自己的心得和一点浅见。几年前我最开始使用的传统的迁移方式是VMImport/Export,这个简单的说就是上传虚拟机文件到S3bucket上,然后通过Import的命令转换成AMI镜像,最后通过镜像生成EC2实例。这个确实工作,就是宕机时间太长了,没有一天的时间别想弄完;后来呢,很多第三方的备份软件都支持还原到EC
这两天豆子在学习Python的pandas模块。这个模块可以很方便的处理各个格式的文本文件,结合前面学习的Turtle绘图模块,我们可以做一个检测记忆的小游戏,通过输入中国的省份名字,他会自动地在空白地图上表明出来。如果实在想不起了,输入exit可以退出,然后会生成一个csv文件,标明我漏掉的省份名称。截图如下输入exit退出之后,会自动生成一个csv,里面是我漏掉的省份名字下面看看思路和实现的要
前面豆子学习制作了贪吃蛇,乒乓球等小游戏,这次再来做一个类似的小游戏,我们控制一个小乌龟横穿马路,马路上会出现各种随机的障碍车辆,我们需要小心不要撞车。游戏界面如下在前面游戏的基础上,这个游戏写起来就感觉非常的轻松了。仍然是把一个大问题分解成几个小问题,挨个解决就ok了小问题:1创建一个乌龟,控制前进2创建随机颜色的车辆,从右边往左移动3乌龟撞车算GAMEOVER4乌龟到达对岸,重置回到起点位置5
Copyright © 2005-2022 51CTO.COM 版权所有 京ICP证060544号