K8s搭建-YAPI
YAPI搭建
概述
YApi 是一个可本地部署的、打通前后端及QA的、可视化的接口管理平台
准备工作
1、准备Yapi镜像
2、准备Mongo镜像
3、创建NFS共享文件
这些准备工作,都在我的博客中有写道,有疑问可以去找一下 http://blog.appydm.com
YApi 是一个可本地部署的、打通前后端及QA的、可视化的接口管理平台
1、准备Yapi镜像
2、准备Mongo镜像
3、创建NFS共享文件
这些准备工作,都在我的博客中有写道,有疑问可以去找一下 http://blog.appydm.com
CoreDNS 其实就是一个 DNS 服务,而 DNS 作为一种常见的服务发现手段,所以很多开源项目以及工程师都会使用 CoreDNS 为集群提供服务发现的功能,Kubernetes 就在集群中使用 CoreDNS 解决服务发现的问题。
如果想要在分布式系统实现服务发现的功能,CoreDNS 其实是一个非常好的选择,CoreDNS作为一个已经进入CNCF并且在Kubernetes中作为DNS服务使用的应用,其本身的稳定性和可用性已经得到了证明,同时它基于插件实现的方式非常轻量并且易于使用,插件链的使用也使得第三方插件的定义变得非常的方便。
整个 CoreDNS 服务都建立在一个使用 Go 编写的 HTTP/2 Web 服务器 Caddy 。
下载地址1:
wget https://github.com/coredns/deployment/archive/master.zip
unzip master.zip
下载地址2:
git clone https://github.com/coredns/deployment.git
服务器地址 | k8s | NFS |
---|---|---|
172.24.2.67 | k8s-node-3 | service |
172.24.2.69 | k8s-master | client |
172.24.2.70 | k8s-node-2 | client |
172.24.2.71 | k8s-node-1 | client |
1、在67服务器中安装NFS
1 | #master节点安装nfs |
2、所有node节点安装客户端,开机启动
1 | yum -y install nfs-utils |
Kubernetes Dashboard是Kubernetes集群的基于Web的通用UI。它允许用户管理在群集中运行的应用程序并对其进行故障排除,以及管理群集本身。
创建Dashboard的yaml文件,并设置端口为30001,拉取镜像文件地址
1 | wget https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.1/src/deploy/recommended/kubernetes-dashboard.yaml |
1)生成证书请求的key
openssl genrsa -out dashboard.key 2048
2)生成证书请求
1 | openssl req -days 3650 -new -out dashboard.csr -key dashboard.key -subj '/CN=**172.24.2.69**' |
3)生成自签证书
openssl x509 -req -in dashboard.csr -signkey dashboard.key -out dashboard.crt
以上都是在服务器上执行
Kubernetes支持在物理服务器或虚拟机中运行,本次使用虚拟机准备测试环境,硬件配置信息如表所示
IP地址 | 节点角色 | Hostname |
---|---|---|
172.24.2.69 | master | k8s-master |
172.24.2.71 | worker | k8s-node-1 |
172.24.2.70 | worker | k8s-node-2 |
1、设置主机名hostname,管理节点设置主机名为 k8s-master 。
1 | hostnamectl set-hostname k8s-master |
2、关闭防火墙、selinux和swap
1 | systemctl stop firewalld |
3、配置内核参数,将桥接的IPv4流量传递到iptables的链
1 | cat > /etc/sysctl.d/k8s.conf <<EOF |
Spring OAuth2.0提供者实际上分为
虽然这两个提供者有时候可能存在同一个应用程序中,但在Spring Security OAuth中你可以把他它们各自放在不同的应用上,而且你可以有多个资源服务,它们共享同一个中央授权服务。
配置一个授权服务必须要实现的endpoints:
配置一个资源服务必须要实现的过滤器:
最近公司项目使用了Spring Security,下面整理一下基础知识
一个能够为基于Spring的企业应用系统提供声明式的安全訪问控制解决方式的安全框架(简单说是对访问权限进行控制嘛),应用的安全性包括用户认证(Authentication)和用户授权(Authorization)两个部分。用户认证指的是验证某个用户是否为系统中的合法主体,也就是说用户能否访问该系统。用户认证一般要求用户提供用户名和密码。系统通过校验用户名和密码来完成认证过程。用户授权指的是验证某个用户是否有权限执行某个操作。在一个系统中,不同用户所具有的权限是不同的。比如对一个文件来说,有的用户只能进行读取,而有的用户可以进行修改。一般来说,系统会为不同的用户分配不同的角色,而每个角色则对应一系列的权限。
spring security的主要核心功能为 认证和授权,所有的架构也是基于这两个核心功能去实现的。
Nexus是用于Maven私服的,不过在官网上发现最新的Nexus 3.x还支持Docker仓库了,所以使用docker来搭建一下Nexus
前面安装docker,docker-compose就不说了,直接来文件
docker-compose.yml
1 | nexus: |
注意:端口5000,是为了让docker能登录的端口地址和nexus上要设置一样
在Spring Boot 2.0 整合携程Apollo配置中心一文中,我们在本地快速部署试用了Apollo。本文将介绍如何按照分布式部署(采用Docker部署)的方式编译、打包、部署Apollo配置中心,从而可以在开发、测试、生产等环境分别部署运行。
| 工程名 | 优先级 | 说明 | 端口 | sql |
|————————-|
| apollo-configservice | 1 | 服务 | 8090 | apolloconfigdb.sql |
| apollo-adminservice | 2 | 管理 | 8091 | apolloconfigdb.sql |
| apollo-portal | 3 | 界面 | 8092 | apolloportaldb.sql |