焦作焦煤电子商务网站建设,灰色词快速上排名,免费网站后台管理系统模板下载,wordpress 显示文章作者飞鼠异地组网工具实战之访问k8s集群内部服务 一、飞鼠异地组网工具介绍1.1 飞鼠工具简介1.2 飞鼠工具官网 二、本次实践介绍2.1 本次实践场景描述2.2 本次实践前提2.3 本次实践环境规划 三、检查本地k8s集群环境3.1 检查k8s各节点状态3.2 检查k8s版本3.3 检查k8s系统pod状态 四… 飞鼠异地组网工具实战之访问k8s集群内部服务 一、飞鼠异地组网工具介绍1.1 飞鼠工具简介1.2 飞鼠工具官网 二、本次实践介绍2.1 本次实践场景描述2.2 本次实践前提2.3 本次实践环境规划 三、检查本地k8s集群环境3.1 检查k8s各节点状态3.2 检查k8s版本3.3 检查k8s系统pod状态 四、本地部署wordpress服务4.1 创建部署目录4.2 创建密码文件4.3 创建命名空间4.4 创建secret资源对象4.5 查看secret资源对象状态4.6 编辑wordpress.yaml文件4.7 部署wordpress服务4.8 检查pod状态4.9 查看service状态 五、本地访问wordpres服务5.1 wordpres初始化配置5.2 设置站点信息5.3 初始化完成5.4 访问wordpress前台首页 六、飞鼠中心控制器节点后台设置工作6.1 创建区域6.2 添加用户6.3 下载客户端配置文件 七、外部客户端安装wireguard7.1 登录外部客户端7.2 下载wireguard软件7.3 运行wireguard7.4 导入配置文件7.5 连接隧道7.6 查看VPN连接状态 八、外部客户端访问wordpress相关服务8.1 外部客户端访问VPC内网IP8.2 远程连接中心控制器节点服务器8.3 访问k8s的wordpress的数据库服务8.4 访问wordpress网站服务 一、飞鼠异地组网工具介绍
1.1 飞鼠工具简介 飞鼠异地组网工具是一款能够突破地域限制、实现高效异地组网的强大工具。它采用标准的OSPF路由协议具备跨平台兼容性可以应对大批量数据中心之间的异地组网需求。 1.2 飞鼠工具官网 飞鼠官方网站https://www.feishuwg.com/ 二、本次实践介绍
2.1 本次实践场景描述 1.本次实践的两个局域网为本地局域网和阿里云VPC专有网络 2.其中阿里云服务器为中心控制器节点服务器本地局域网部署子网节点服务器 3.本地局域网部署k8s单master集群环境k8s部署wordpress服务 4.在华为云开通一台ECS弹性云服务器模拟外部外部出差员工可以访问内网的wordpress网站服务及访问wordpress数据库。 2.2 本次实践前提
本次实践前提为已经搭建好飞鼠异地组网的初步环境。
参考博文飞鼠异地组网工具基本使用教程
本地局域网环境已经提前部署好k8s单master集群环境。需要提前在华为云或其他云厂商购买一台云服务器模拟外部客户端。
2.3 本次实践环境规划
本次实践环境
hostnameIP地址操作系统版本服务器类别角色备注cloud内网IP172.22.48.72、公网IP120.79.233.45ubuntu22.04阿里云服务器中心控制器master阿里云VPC专有网络172.22.48.0/24jeven192.168.3.246ubuntu22.04本地服务器子网节点本地局域网192.168.3.0/24mywin10192.168.3.168win10——本地客户端192.168.3.0/24ecs-e238192.168.0.168Windows Server2012 R2——外部客户端华为云VPC虚拟私有云192.168.0.0/24
本地局域网k8s环境
hostnameIP地址操作系统版本k8s版本角色k8s-master192.168.3.201centos7.6v1.27.4master节点k8s-node01192.168.3.202centos7.6v1.27.4worker节点k8s-node02192.168.3.203centos7.6v1.27.4worker节点
三、检查本地k8s集群环境
3.1 检查k8s各节点状态 检查k8s各节点状态确保k8s集群各节点状态正常。 [rootk8s-master ~]# kubectl get nodes
NAME STATUS ROLES AGE VERSION
k8s-master Ready control-plane 108d v1.27.4
k8s-node01 Ready none 108d v1.27.4
k8s-node02 Ready none 108d v1.27.43.2 检查k8s版本 查看k8s的版本注意部署应用时兼容的k8s版本。 [rootk8s-master ~]# kubectl version --short
Flag --short has been deprecated, and will be removed in the future. The --short output will become the default.
Client Version: v1.27.4
Kustomize Version: v5.0.1
Server Version: v1.27.43.3 检查k8s系统pod状态 检查k8s集群的系统pod状态确保所有系统pod运行正常。 [rootk8s-master ~]# kubectl get pods -n kube-system
NAME READY STATUS RESTARTS AGE
calico-kube-controllers-85578c44bf-rgxkx 1/1 Running 5 (14m ago) 5d23h
calico-node-8tts7 1/1 Running 10 (14m ago) 108d
calico-node-fx8mv 1/1 Running 10 (14m ago) 108d
calico-node-n8rt4 1/1 Running 11 (14m ago) 108d
coredns-7bdc4cb885-88qng 1/1 Running 3 (14m ago) 5d23h
coredns-7bdc4cb885-brdhk 1/1 Running 3 (14m ago) 5d23h
etcd-k8s-master 1/1 Running 11 (14m ago) 108d
kube-apiserver-k8s-master 1/1 Running 11 (14m ago) 108d
kube-controller-manager-k8s-master 1/1 Running 15 (14m ago) 108d
kube-proxy-6vvw5 1/1 Running 10 (14m ago) 108d
kube-proxy-867jg 1/1 Running 10 (14m ago) 108d
kube-proxy-lgsc8 1/1 Running 10 (14m ago) 108d
kube-scheduler-k8s-master 1/1 Running 14 (14m ago) 108d
四、本地部署wordpress服务
4.1 创建部署目录 创建wordpress应用的目录使用以下命令创建 /data/wordpress 。 mkdir -p /data/wordpress cd /data/wordpress4.2 创建密码文件 使用以下命令创建存放账号和密码的mysql_pw.txt文件。 cat EOF mysql_pw.txt
usernamewordpress
passwordwordpress
EOF4.3 创建命名空间 创建命名空间wordpress kubectl create namespace wordpress4.4 创建secret资源对象 创建secret资源对象mysecret kubectl --namespacewordpress create secret generic mysecret --from-env-file./mysql_pw.txt4.5 查看secret资源对象状态 查看secret资源对象mysecret当前状态 [rootk8s-master wordpress]# kubectl get secrets -n wordpress
NAME TYPE DATA AGE
mysecret Opaque 2 14s4.6 编辑wordpress.yaml文件 编辑wordpress.yaml部署文件内容如下 ---apiVersion: v1
kind: Service
metadata:name: wordpressnamespace: wordpresslabels:app: wordpress
spec:ports:- protocol: TCPtargetPort: 80port: 80nodePort: 30020selector:app: wordpresstype: NodePort---apiVersion: apps/v1
kind: Deployment
metadata:name: wordpressnamespace: wordpresslabels:app: wordpress
spec:replicas: 2selector:matchLabels:app: wordpresstemplate:metadata:labels:app: wordpressspec:containers:- name: wordpressimage: wordpressports:- containerPort: 80env:- name: WORDPRESS_DB_HOSTvalue: 10.96.0.100- name: WORDPRESS_DB_USERvalue: wordpress- name: WORDPRESS_DB_PASSWORDvalueFrom: secretKeyRef:name: mysecretkey: passwordvolumeMounts:- mountPath: /var/www/htmlname: wordpress-datavolumes:- name: wordpress-datahostPath:path: /data/wordpress/data ---apiVersion: v1
kind: Service
metadata:name: wordpress-mysqlnamespace: wordpresslabels:app: wordpress
spec:ports:- port: 3306type: ClusterIPclusterIP: 10.96.0.100selector:app: wordpresstier: mysql---apiVersion: apps/v1
kind: StatefulSet
metadata:name: wordpress-mysqlnamespace: wordpresslabels:app: wordpress
spec:replicas: 1selector:matchLabels:app: wordpresstier: mysqlserviceName: wordpress-mysqltemplate:metadata:labels:app: wordpresstier: mysqlspec:nodeSelector:kubernetes.io/hostname: k8s-node01containers:- name: mysqlimage: mysql:5.7env:- name: MYSQL_ROOT_PASSWORDvalueFrom:secretKeyRef:name: mysecretkey: password- name: MYSQL_DATABASEvalue: wordpress- name: MYSQL_USERvalueFrom: secretKeyRef:name: mysecretkey: username- name: MYSQL_PASSWORDvalueFrom:secretKeyRef:name: mysecretkey: passwordports:- containerPort: 3306name: mysqlvolumeMounts:- mountPath: /var/lib/mysqlname: mysql-storagevolumes:- name: mysql-storagehostPath:path: /var/lib/mysql
4.7 部署wordpress服务 执行wordpress.yaml文件开始部署wordpress应用。 [rootk8s-master wordpress]# kubectl apply -f wordpress.yaml
service/wordpress created
deployment.apps/wordpress created
service/wordpress-mysql created
statefulset.apps/wordpress-mysql created4.8 检查pod状态 在wordpress命名空间下查看wordpress服务的pod状态确保所有pod都正常启动。 [rootk8s-master wordpress]# kubectl get pods -n wordpress
NAME READY STATUS RESTARTS AGE
wordpress-7c68d9b7b6-g64s5 1/1 Running 0 2m12s
wordpress-7c68d9b7b6-zsgdg 1/1 Running 0 2m12s
wordpress-mysql-0 1/1 Running 0 2m12s4.9 查看service状态 在wordpress命名空间下查看wordpress服务的service状态可以看到对外映射的访问端口为30020。 [rootk8s-master wordpress]# kubectl get service -n wordpress
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
wordpress NodePort 10.110.180.202 none 80:30020/TCP 3m14s
wordpress-mysql ClusterIP 10.96.0.100 none 3306/TCP 3m14s五、本地访问wordpres服务
5.1 wordpres初始化配置 访问地址http://192.168.3.202:30020/将IP替换为自己工作节点IP地址进入 wordpres初始化配置界面设置系统语言为简体中文。 5.2 设置站点信息 设置站点名称、用户名、密码、邮箱等信息自定义设置即可。 5.3 初始化完成 初始化完成后点击“登录”。 输入刚才设置的用户名和密码进入wordpress后台管理页面。 5.4 访问wordpress前台首页 访问地址http://192.168.3.202:30020/将IP替换为自己服务器IP地址进入wordpress前台首页。 六、飞鼠中心控制器节点后台设置工作
6.1 创建区域 在中心控制器节点的管理后台区域管理——创建区域。 名字自定义这里填写my-k8s 网络协议FS-NAT无限制访问 选择端口50030 对外网络地址选择公网IP地址这里是中心控制器节点所在的公网IP地址 网卡名称选择本地网卡eth0 允许网络192.168.0.0/24192.168.3.0/24,172.22.48.0/24填写需要连接的局域网网络。 其余默认即可选择“创建”。 6.2 添加用户 区域管理——新建的区域(my-k8s)——客户端管理选择“添加用户”。 用户名jeven; Email地址jevenqq.com 客户端IP默认10.5.0.2/32 保存即可。 6.3 下载客户端配置文件 点击下载下载jeven.conf配置文件。 七、外部客户端安装wireguard
7.1 登录外部客户端 提前准备好一台华为云服务器或者其他云服务器操作系统为windows即可这里使用的是Windows Server2012 R2版本使用远程桌面连接云服务器。 7.2 下载wireguard软件 下载地址https://github.com/xingkongwangbin/feishuwg/releases/tag/1.0打开下载地址下载wireguard软件。 7.3 运行wireguard 将下载的wireguard安装包在外部客户端直接运行即可。 7.4 导入配置文件 将之前下载的jeven.conf配置文件导入到wireguard中。 7.5 连接隧道 在wireguard中点击连接可以看到处于已连接状态。 7.6 查看VPN连接状态 在my-k8s区域中状态查看页面可以看到VPN连接状态显示小绿灯表示连接处于正常状态。 八、外部客户端访问wordpress相关服务
8.1 外部客户端访问VPC内网IP 外部客户端访问中心控制器节点的内网IP地址172.22.48.72可以正常ping通。 8.2 远程连接中心控制器节点服务器 外部客户端远程连接中心控制器节点服务器 ssh root172.22.48.728.3 访问k8s的wordpress的数据库服务 在master节点远程访问子网节点服务器。如果k8s部署在中心控制器节点内网环境则可以直接访问k8s映射的服务无需在跳转到子网节点进行跳转连接。 ssh root192.168.3.246ssh远程连接k8s-master节点 ssh root192.168.3.201查看k8s的wordpress的数据库服务地址 [rootk8s-master ~]# kubectl get service -n wordpress
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
wordpress NodePort 10.110.180.202 none 80:30020/TCP 14h
wordpress-mysql ClusterIP 10.96.0.100 none 3306/TCP 14h访问k8s的wordpress的数据库服务 kubectl exec -it -n wordpress wordpress-mysql-0 -- /bin/bash查询wordpress数据表 mysql use wordpress;
Database changed
mysql show tables;
-----------------------
| Tables_in_wordpress |
-----------------------
| wp_commentmeta |
| wp_comments |
| wp_links |
| wp_options |
| wp_postmeta |
| wp_posts |
| wp_term_relationships |
| wp_term_taxonomy |
| wp_termmeta |
| wp_terms |
| wp_usermeta |
| wp_users |
-----------------------
12 rows in set (0.00 sec)mysql8.4 访问wordpress网站服务 在外部客户端通过以上方法连接到子网节点服务器后可以直接links访问wordpress服务http://192.168.3.202:30020也可以自行安装火狐进行浏览器访问。 links http://192.168.3.202:30020