- 博客(58)
- 收藏
- 关注
原创 Envoy 1.14.1配置入门
Envoy架构图。Envoy中的一些术语。Host:能够进行网络通信的实体(如服务器上的应用程序)。Downstream:下游主机连接到Envoy,发送请求并接收响应。Upstream:上游主机接收来自Envoy连接和请求并返回响应。Listener:可以被下游客户端连接的命名网络(如端口、unix套接字)。Cluster:Envoy连接到的一组逻辑上相似的上游主机。Mesh:以提供一致的网络拓扑的一组主机。Runtime configuration:与Envo
2020-05-31 20:16:01
1971
1
原创 OpenShift 3.11单机安装和使用
安装建议系统内存>=6G,CPU>=4。在hosts中添加主机名。vi /etc/hosts192.168.1.42 os-node开启SELINUX。vi /etc/selinux/config# This file controls the state of SELinux on the system.# SELINUX= can take one of these three values:# enforcing - SELinux security policy
2020-05-30 11:26:36
4301
8
原创 CentOS 7.7下Kubernetes 1.18.0安装
系统环境。cat /etc/redhat-releaseCentOS Linux release 7.7.1908 (Core)uname -aLinux k8s-master 3.10.0-1062.18.1.el7.x86_64 #1 SMP Tue Mar 17 23:49:17 UTC 2020 x86_64 x86_64 x86_64 GNU/Linuxvi /etc/ho...
2020-04-08 11:07:03
5859
1
原创 CentOS 7代理设置(Yum/cURL/Wget/Docker)
很多企业员工不能直接访问Internet,通常需要通过Proxy访问,而且一般都需要使用员工账号和密码登录。全局配置配置proxy全局配置Proxy时,对Yum,cURL,Wget同时生效。命令行代理配置直接在命令行中,这样的配置只在当前会话中生效,该会话断开后,该配置将不存在。格式:export http_proxy=http://[username]:[password]@your...
2020-04-05 12:23:28
4522
原创 Ambassador系列-12-Prometheus Operator监控Ambassador Edge Stack
Prometheus Operatorde的安装部署见Helm部署Prometheus Operator和自定义监控。Ambassador Edge Stack的安装部署见Ambassador系列-11-Helm安装Ambassador Edge Stack 1.1.0。Ambassador安装后的的概况。kubectl get all -nambassadorNAME ...
2020-04-02 12:01:54
609
原创 Helm部署Prometheus Operator和自定义监控
安装建议将Prometheus Operator部署在专门的命名空间中,一般为monitoring。kubectl create namespace monitoringHelm v3安装时,在crds/目录中的清单文件会自动提交给Kubernetes。helm install prometheus stable/prometheus-operator \ --namespa...
2020-04-02 09:45:26
3326
1
原创 Prometheus Operator部署和使用
说明Prometheus-Operator官方提供的架构图:Operator是最核心的部分,作为一个控制器,他会去创建Prometheus、PodMonitor、ServiceMonitor、AlertManager以及PrometheusRule这5个CRD资源对象,然后会一直监控并维持这5个资源对象的状态。其中创建的Prometheus这种资源对象就是作为Prometheus ...
2020-04-02 09:09:38
14756
原创 Helm Chart模板详述和样例
Helm最核心的就是模板,即模板化的Kubernetes清单文件,模板经过渲染后会被提交到Kubernetes中,本质上就是Go语言的template模板,模板文件位于template/目录中。将Kubernetes清单文件中可能经常变动的字段,通过指定一个变量,在安装的过程中该变量将被值value动态替换掉,这个过程就是模板的渲染。变量的值定义在values.yaml文件中,该文件中定义了变...
2020-03-29 22:50:35
4864
原创 Helm Chart开发入门
本文我们展示如何开发一个简单的Chart,其中包含了一个Deployment和Service简单的Template,最后安装该Chart。整个Chart的代码已经放到https://github.com/twingao/httpbin。先使用helm create命令创建一个Chart。helm create httpbinCreating httpbin查看httpbin的目录结构。...
2020-03-29 13:29:21
1430
原创 Chrome安装Markdown Viewer 3.9插件
下载https://github.com/simov/markdown-viewer/archive/3.9.zip。解压markdown-viewer-3.9.zip,并将该文件夹放到合适的位置。在Chrome浏览器中打开扩展程序:chrome://extensions/。打开右上角的“开发者模式”,点击“加载已解压的扩展程序”按钮,选择markdown-viewer目录,即可安装Mark...
2020-03-28 22:20:46
15694
6
原创 python -m json.tool中文乱码问题
我们在bash中可以通过python -m json.tool将json字符串格式化,以易于阅读的缩进方式输出到控制台上。如:echo '{"key1":"value1","key2":{"key3":"value3","key4":"value4"}}' | python -m json.tool{ "key1": "value1", "key2": { "k...
2020-03-28 22:17:16
3858
2
原创 CentOS 7下NFS v4的安装和使用
搭建nfs服务器安装nfs和rpc服务。yum install -y nfs-utilsyum install -y rpcbind启动并配置自启动,注意需要先启动rpcbind。systemctl start rpcbindsystemctl enable rpcbindsystemctl start nfssystemctl enable nfs创建和配置共享文件...
2020-03-28 22:15:04
2811
2
原创 CentOS 7修改IP地址和主机名
修改为静态IP地址,以root用户操作。vi /etc/sysconfig/network-scripts/ifcfg-ens33TYPE=EthernetPROXY_METHOD=noneBROWSER_ONLY=noBOOTPROTO=staticDEFROUTE=yesIPV4_FAILURE_FATAL=noNAME=ens33UUID=24705db8-d3e5-4d1...
2020-03-28 22:12:33
978
原创 语义化版本 2.0.0
看到很多开源软件的版本号定义的规则是一样的,原来都源自于语义化版本 2.0.0(Semantic Versioning 2.0.0),简体中文版-语义化版本 2.0.0,简称SemVer。为了方便,以下直接给出简体中文版本。语义化版本 2.0.0摘要版本格式:主版本号.次版本号.修订号,版本号递增规则如下:主版本号:当你做了不兼容的 API 修改,次版本号:当你做了向下兼容的功能性...
2020-03-28 13:41:03
259
原创 Prometheus+Altermanger+Grafana+node-exporter安装和使用
简述Prometheus是一个开源的系统监控和警报工具,该项目拥有非常活跃的开发人员和用户社区。它现在是一个独立的开源项目,独立于任何公司进行维护。Prometheus于2016年加入CNCF(云原生计算基金会),成为继 Kubernetes之后的第二个托管项目。2018年8月9日,CNCF宣布开放源代码监控工具 Prometheus已从孵化状态进入毕业状态。Prometheus的主要...
2020-03-28 13:21:17
3738
原创 使用spotify的docker-maven-plugin插件将SpringBoot项目打包为Docker镜像
此项目的代码已经放到GitHub中,地址。先展示SpringBoot项目的目录结构。tree springboot-docker/springboot-docker/├── pom.xml└── src └── main ├── docker │ └── Dockerfile ├── java │ └── c...
2020-03-28 11:22:49
3230
原创 Helm Hook钩子详述
HooksHelm提供了Hook的机制,允许Chart开发人员在Release的生命周期中的某些节点来进行干预,比如我们可以利用Hooks来做下面的这些事情:在加载Chart的其它资源之前,先加载ConfigMap或Secret。在安装新Chart之前执行作业以备份数据库,然后在升级后执行第二个作业以恢复数据。在删除Release之前运行作业,以便在删除Release之前优雅地停...
2020-03-28 11:17:44
4301
原创 Helm 3安装Nginx Ingress Controller和使用
安装先添加Chart仓库。helm repo add nginx-stable https://helm.nginx.com/stable查找nginx-ingress,我们选择nginx-stable/nginx-ingress Chart。helm search repo nginx-ingressNAME ...
2020-03-28 11:12:57
6825
原创 通过etcdctl查询Kubernetes中etcd数据
先确定Kubernetes的etcd版本。docker images | grep etcdregistry.aliyuncs.com/google_containers/etcd 3.3.15-0 b2756210eeab 6 months ago 247MB下载etcd二级制版本文件https:...
2020-03-28 11:10:00
4179
原创 etcd 3.3.11安装和使用介绍
环境准备# Linux版本uname -aLinux etcd1 3.10.0-1062.9.1.el7.x86_64 #1 SMP Fri Dec 6 15:49:49 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux# 三个节点cat /etc/hosts192.168.1.66 etcd1192.168.1.67 etcd2192.168.1....
2020-03-28 10:56:27
2324
原创 Helm v3概念和常用命令详述
Helm v3概念ChartHelm的应用包,采用tgz格式。类似于Yum的RPM包,其包含了一组定义Kubernetes资源相关的YAML文件。也称为应用Chart。RepoistoryHelm的应用仓库,Repository本质上是一个Web服务器,该服务器保存了一系列的Chart应用包以供用户下载,并且提供了一个该Repository的Chart包的清单文件以供查询。Helm可以同时...
2020-02-12 17:37:21
5043
原创 Ambassador系列-11-Helm安装Ambassador Edge Stack 1.1.0
Ambassador已经发布1.1.0版本,其中最大的变化就是将原来的版本Ambassador和Ambassador Pro版本拆为三个版本:Ambassador API Gateway、Ambassador Edge Stack Community和Ambassador Edge Stack Enterprise。其中Ambassador API Gateway对应0.x版本的Ambassado...
2020-02-08 07:12:02
3274
原创 Kong系列-15-自定义插件for Kong Ingress Controller
下面演示如何在Kong for Kubernetes加载自定义插件。先准备自定义插件的Lua代码。mkdir myheadercd myheadervi handler.lualocal MyHeader = {}MyHeader.PRIORITY = 1000function MyHeader:header_filter(conf) -- do custom logic ...
2020-01-22 23:16:21
1859
原创 Kong系列-14-自定义插件
Kong开源了大量的开源插件,当这些开源插件不能满足我们的需求,就需要修改这些开源插件或者自定义插件。Kong提供了方便地自定义插件机制,用户可以开发自己的定制插件。自定义插件可以和Kong进行深层次的集成,如使用数据库表结构,或者扩展Admin API。如果插件实现了所有可选模块,则其目录结构如下所示:complete-plugin├── api.lua├── daos.lua├── h...
2020-01-22 23:13:51
2217
原创 Kong系列-13-官方开源插件介绍
Kong官方预置大量的插件,可以在Kong Hub查看官方插件,其中有三类插件,官方开发的开源插件;第三方开发的开源插件;适用于Kong Enterprise的收费插件。其中官方开发的开源插件有35个。Kong安装完成后已经预置了开源插件的代码,可以在/usr/local/share/lua/5.1/kong/plugins目录查看。也可以在Kong的github代码库https://gith...
2020-01-22 23:09:42
2716
原创 Kong系列-12-KongConsumer和KongCredential介绍
KongConsumer资源是用来身份验证的消费者。下面介绍一下如何使用KongConsumer资源,先将Kong初始化为空配置。curl -i http://192.168.1.55:32080HTTP/1.1 404 Not FoundDate: Tue, 24 Dec 2019 14:03:40 GMTContent-Type: application/json; charset=u...
2020-01-22 23:07:05
2458
原创 Kong系列-11-KongIngress介绍
Kubernetes的Ingress资源基于HTTP报文头和路径定义路由策略。在大多数情况下这已足够,但有时希望在Ingress级别对路由进行更多控制,通用的Ingress资源无法满足需求,所以Kong提供KongIngress CRD对Ingress资源进行了扩展,以提供对代理行为更细粒度控制,KongIngress与Ingress资源协同工作并对其进行扩展。它并不是在Kubernetes中替代...
2020-01-22 23:02:26
4444
原创 Kong系列-10-KongPlugin介绍
KongPlugin资源的定义:apiVersion: configuration.konghq.com/v1kind: KongPluginmetadata: name: <名称> namespace: <命名空间> labels: global: "true" #可选,如果设置,该插件为全局插件,应该使用双引号将true引起来disabl...
2020-01-22 22:59:03
1769
原创 Kong系列-09-Kong Ingress Controller介绍和入门
Kong之前都是使用Admin API来进行管理的,Kong主要暴露两个端口管理端口8001和代理端口8000,管理Kong主要的是为上游服务配置Service、Routes、Plugins、Consumer等实体资源,Kong按照这些配置规则进行对上游服务的请求进行路由分发和控制。在Kubernetes集群环境下,Admin API方式不是很适应Kubernetes声明式管理方式。所以Kong在...
2020-01-22 22:48:53
5338
3
原创 Kong系列-08-无数据库DB-less
Kong无数据库介绍Kong在1.1.0版本(2019-03-27)开始支持无数据库模式,只需要将kong.conf中的配置项database = off即可启用无数据库方式。无数据库采用声明方式定义实体,所有的实体都配置在其中。一旦该文件加载到Kong中,它将替换整个配置。当需要增量更改时,将对声明性配置文件进行更改,然后将其全部重新加载。由于没有中心数据库进行协调,多个Kong节点是完...
2020-01-22 22:46:21
3165
原创 Kong系列-07-负载均衡
Kong提供了两种负载均衡方案:基于DNS的负载均衡当使用基于DNS的负载均衡时,上游服务的注册是在Kong之外完成,而Kong只接收来自DNS服务器的负载均衡域名解析。使用包含主机名(而不是IP地址)URL定义的每个API将自动使用基于DNS的负载均衡。Ring-Balancer环形均衡器使用环形均衡器时,上游服务的添加和删除将由Kong处理,不需要进行DNS域名解析(当然如果t...
2020-01-22 22:43:41
1539
原创 Kong系列-06-代理路由与匹配
代理协议Kong支持http/https、tcp/tls和grpc/grpcs协议的代理。http: methods, hosts, headers, paths (and snis, if https)tcp: sources, destinations (and snis, if tls)grpc: hosts, headers, paths (and snis, if grpcs)...
2020-01-22 22:37:59
2891
原创 Kong系列-05-使用入门
Kong是一个API网关,其核心能力是代理客户端对上游服务的访问,下面我们演示一下如何配置Kong来进行代理服务。Kong传统是通过Admin API进行管理的,对于Kong直接在操作系统如CentOS之上直接部署时,Kong的8001为管理端口,8000为Proxy端口;如果在Kubernetes集群部署,gateway-kong-admin服务提供管理接口,gateway-kong-prox...
2020-01-22 22:35:43
751
原创 Kong系列-04-Helm安装Kong 1.3.0 with PostgreSQL and with Ingress Controller
系统环境。kubeadm versionkubeadm version: &version.Info{Major:"1", Minor:"16", GitVersion:"v1.16.4", GitCommit:"224be7bdce5a9dd0c2fd0d46b83865648e2fe0ba", GitTreeState:"clean", BuildDate:"2019-12-11T...
2020-01-22 22:26:24
1967
原创 Kong系列-03-Helm安装Kong 1.3.0 DB-less with Ingress Controller
系统环境。kubeadm versionkubeadm version: &version.Info{Major:"1", Minor:"16", GitVersion:"v1.16.4", GitCommit:"224be7bdce5a9dd0c2fd0d46b83865648e2fe0ba", GitTreeState:"clean", BuildDate:"2019-12-11T...
2020-01-22 22:20:27
2001
原创 Kong系列-02-CentOS 7下Kong 1.4.2安装
先安装PostgreSQL,请参见CentOS下PostgreSQL 12 安装。然后为Kong初始化数据库。su - postgessu: user postges does not exist[root@kong postgresql]# su - postgres上一次登录:日 12月 15 08:17:06 CST 2019pts/0 上-bash-4.2$ psql用户 po...
2020-01-22 22:16:11
831
原创 Kong系列-01-介绍
Kong系列-01-介绍Kong的由来Nginx是模块化设计的反向代理软件,C语言开发。Lua是一个小巧的脚本语言,C语言开发,Lua脚本可以容易的被C/C++代码调用,也可以反过来调用C/C++的函数。通过lua-nginx-module模块将luaJIT解释器集成进Nginx,使得Nginx可以执行Lua脚本,灵活但不宜用。OpenResty是一个基于Nginx与Lua的高性能We...
2020-01-22 22:13:07
2347
1
原创 Kubernetes持久化存储PV、PVC和StorageClass介绍
Kubernetes PV、PVC和StorageClass介绍PV和PVCKubernetes Volume提供了非常好的数据持久化方案,不过对于大型Kubernetes集群来说管理上还有不方便之处。Volume方案需要创建Pod或者Deployment的管理员对共享存储的参数和机制比较清楚,甚至对一些存储的访问是需要身份验证的,这导致集群用户(存储使用者)和系统管理员(存储管理员)的职责耦...
2020-01-12 20:41:50
4155
2
原创 Kubernetes存储卷介绍-emptyDir/hostPath/NFS/configMap
Kubernetes存储卷介绍一个容器的对文件系统的写入都是发生在文件系统的可写层的,一旦该容器运行结束,所有写入数据都会被丢弃。在K8S集群之中,Pod会在各个节点之间漂移,如何保障Pod的数据持久和不同节点数据的共享。Kubernetes提出了存储卷Volume的概念,Kubernetes存储卷主要解决了依次递增的几个问题:当运行的容器崩溃时,kubelet会重新启动该容器,但容器会以干...
2020-01-12 20:25:41
2844
原创 Helm v3.0.2 安装和使用
下载helm v3.0.2,地址https://get.helm.sh/helm-v3.0.2-linux-amd64.tar.gz。上传并解压。tar zxvf helm-v3.0.2-linux-amd64.tar.gz将helm拷贝到系统path路径下,以下为/usr/local/bin/helm。mv linux-amd64/helm /usr/local/bin/helm查...
2020-01-01 16:24:13
5946
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人