实现springcloud微服务+网关部署到k8s多节点
1. 部署k8s环境
192.168.56.46: 主master节点,k8s-master
192.168.57.98:k8s-node1
192.168.57.99:k8s-node2
2. 安装k8s dashboard
在主节点上面安装k8s 面板
[root@master1 ~]# kubectl describe secret dashboard-admin-token-m5wmg -n kube-system|grep’^token’|awk ‘{print $2}’
3.开启远程访问centos7并进行Docker的配置开放2375端口
4.配置nexus私服包括maven私服和docker私服
我在192.168.57.220上面已经配置好了nexus私服
登录成功后进行docker 配置,我已经配置好了
5.docker配置私服地址
在我的docker目录下面/etc/docker/daemon.json,
配置私服地址和端口号
配置完成后需要重启daemon,重启docker
执行命令
systemctldaemon-reload
systemctlrestart docker
执行命令后,就可以正常使用私服进行docker镜像的上传和下载
6. idea连接docker远程地址和端口
点击idea 界面的setting界面,搜索docker,点击dockerfile菜单,配置docker远程地址和端口
7. springcloud+dockerfile部署到远程docker机器
正确配置好dockerfile文件,点击‘edit configurations..’配置docker名称,镜像名称,容器名称,dockerfile所在路径
8.启动idea的docker
9.docker机器上传镜像到私服
1.使用如下命令,给刚才在idea建立的镜像重新建立一个私服的tag
3.在私服看到上传后的镜像
下图是我上传的镜像
10.k8s环境使用远程镜像,建立deployment,建立service
使用如下yml配置建立deployment
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: gateway-server
name: gateway-server
spec:
replicas: 3
selector:
matchLabels:
app: gateway-server
template:
metadata:
labels:
app: gateway-server
spec:
containers:
– image: 192.168.57.220:5000/gateway-server:v1
name: gateway-server
界面如下图
上传建立了三个pod的deployment如下
建立service,建立对外端口号,通过ip和对外端口号访问pod,进而访问容器里面的服务
targetport是容器公开的端口
port是集群内部的端口
nodeport是对外端口,可以通过k8s的三个节点的ip:nodeport访问容器内部的微服务
11. 浏览结果
下图的30085就是我的nodeport,ip是我的k8s环境的任何一台节点的ip,这样就可以访问我容器内部的服务。
总结步骤:
1.Nacos安装到56.46上面,然后进行启动,进入到 nacos/bin /startup.sh 进行启动
2.Springcloud里面用spring-gateway进行网关转发和过滤,application yml文件里面配置nacos地址,转发的地址等
3.Springcloud里面进行dockefile文件编写,对外提供一个端口号
a.(需要配置idea里面的setting-docker tcp://192.168.57.220:2375)
b. idea和docker 机器57.220进行关联
c. 直接在springcloud进行容器和镜像的创建,idea点击start
d. 57.220上面配置/etc/docker/ daemon 配置docker私服地址
e. idea点击通过dockefile启动远程启动和部署容器
f. 57.220 远程docker机器提交镜像到私服
4. 在k8s所在机器上面 deployment 远程镜像,镜像地址为57.220:5000
5. 有几个服务就部署几个
原文链接:https://www.jianshu.com/p/b8947533096f