nacosk8s部署_kubernetes中部署nacos

本文详细介绍了如何在Kubernetes环境中,使用NFS作为数据存储卷来部署Nacos。首先,文章讲解了如何安装和配置NFS服务,包括创建共享目录、配置NFS服务和启动服务。接着,部署NFS provisioner,修改相关配置以适应集群环境。然后,部署MySQL数据库,同样利用NFS作为后端存储。最后,部署Nacos本身,并进行参数调优和监控设置,确保Nacos在Kubernetes中的稳定运行。
摘要由CSDN通过智能技术生成

部署在kubernetes中,以NFS作为数据存储卷

环境介绍:

名称

版本

K8S

v1.17.2

Docker

19.03.5

nacos

1.3.0

一、拉取代码

git clone https://github.com/nacos-group/nacos-k8s.git

二、安装NFS服务

1、安装服务

yum install nfs-utils rpcbind -y

2、创建共享目录

mkdir /data/k8s -p

3、配置NFS配置文件

[root@master ~]# vim /etc/exports

/data/k8s *(rw,sync,no_root_squash)

配置详解:

ro 只读访问

rw 读写访问

sync 所有数据在请求时写入共享

async NFS在写入数据前可以相应请求

secure NFS通过1024以下的安全TCP/IP端口发送

insecure NFS通过1024以上的端口发送

wdelay 如果多个用户要写入NFS目录,则归组写入(默认)

no_wdelay 如果多个用户要写入NFS目录,则立即写入,当使用async时,无需此设置。

Hide 在NFS共享目录中不共享其子目录

no_hide 共享NFS目录的子目录

subtree_check 如果共享/usr/bin之类的子目录时,强制NFS检查父目录的权限(默认)

no_subtree_check 和上面相对,不检查父目录权限

all_squash 共享文件的UID和GID映射匿名用户anonymous,适合公用目录。

no_all_squash 保留共享文件的UID和GID(默认)

root_squash root用户的所有请求映射成如anonymous用户一样的权限(默认)

no_root_squas root用户具有根目录的完全管理访问权限

anonuid=xxx 指定NFS服务器/etc/passwd文件中匿名用户的UID

4、启动服务

先启动rpcbind,再启动nfs

systemctl start rpcbind && systemctl enable rpcbind

systemctl start nfs && systemctl enable nfs

5、客户端安装nfs和rpcbind测试

安装见第一步。

[root@node01 ~]# showmount -e 172.16.1.128

Export list for 172.16.1.128:

/data/k8s *

自此,NFS创建完成。

三、部署NFS provisioner

上面拉取完代码后,进入nacos-k8s/deploy/nfs,然后修改deployment.yaml中的NFS配置,如下:

apiVersion: v1

kind: ServiceAccount

metadata:

name: nfs-client-provisioner

---

kind: Deployment

apiVersion: apps/v1

metadata:

name: nfs-client-provisioner

spec:

replicas: 1

selector:

matchLabels:

app: nfs-client-provisioner

strategy:

type: Recreate

template:

metadata:

labels:

app: nfs-client-provisioner

spec:

serviceAccount: nfs-client-provisioner

containers:

- name: nfs-client-provisioner

image: quay.io/external_storage/nfs-client-provisioner:latest

volumeMounts:

- name: nfs-client-root

mountPath: /persistentvolumes

env:

- name: PROVISIONER_NAME

value: fuseim.pri/ifs

- name: NFS_SERVER

value: 172.17.100.50

- name: NFS_PATH

value: /home/middleware/nacos/cluster_nacos

volumes:

- name: nfs-client-root

nfs:

server: 172.17.100.50

path: /home/middleware/nacos/cluster_nacos

其中需要修改的地方:

1、NFS_SERVER:NFS Server地址

2、NFS_PATH:NFS地址

3、PROVISIONER_NAME:可选泽修改,默认也可以,如果修改,后面使用的时候就用修改后的名字。

另外,由于我的集群版本是v1.17.2,所以Deployment的版本还有一些语法需要修改,如上。

然后创建即可:

kubectl apply -f .

四、部署数据库

数据库依然部署在集群中,这里只部署单节点模式。进入数据库部署目录nacos-k8s/deploy/mysql

先创建namespace

kubectl create ns nacos

(1)、部署数据库,依然以NFS作为后端存储,修改配置文件

mysql-nfs.yaml的配置如下:

apiVersion: apps/v1

kind: Deployment

metadata:

name: mysql

namespace: nacos

labels:

name: mysql

spec:

replicas: 1

selector:

matchLabels:

name: mysql

template:

metadata:

labels:

name: mysql

spec:

containers:

- name: mysql

image: nacos/nacos-mysql:5.7

ports:

- containerPort: 3306

volumeMounts:

- name: mysql-data

mountPath: /var/lib/mysql

env:

- name: MYSQL_ROOT_PASSWORD

value: "root&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值