如果是在centos7上直接启动nacos

注意修改启动命令   sh startup.sh -m standalone

访问路径 http://********:8848/nacos/index.html

https://nacos.io/zh-cn/docs/use-nacos-with-kubernetes.html?tdsourcetag=s_pctim_aiomsg

1. 安装git 并在每台机器上面clone nacos-k8s

yum install nfs-utils

yum install -y git

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

2. 部署NFS

a 创建角色

cd /root/nacos-k8s/deploy/nf

[root@master nfs]# kubectl create -f rbac.yaml
clusterrole.rbac.authorization.k8s.io/nfs-client-provisioner-runner created
clusterrolebinding.rbac.authorization.k8s.io/run-nfs-client-provisioner created
role.rbac.authorization.k8s.io/leader-locking-nfs-client-provisioner created
rolebinding.rbac.authorization.k8s.io/leader-locking-nfs-client-provisioner created

b 创建 ServiceAccount 和部署 NFS-Client Provisioner  如果挂载失败参考下一篇挂载方式

[root@master nfs]# kubectl create -f deployment.yaml
serviceaccount/nfs-client-provisioner created
deployment.extensions/nfs-client-provisioner created

c 创建 NFS StorageClass

[root@master nfs]# kubectl create -f class.yaml
storageclass.storage.k8s.io/managed-nfs-storage created

d 验证NFS部署成功

[root@master nfs]# kubectl get pod -l app=nfs-client-provisioner
NAME READY STATUS RESTARTS AGE
nfs-client-provisioner-7f468b4bb6-qlr7g / Running 21m

3.1 部署数据库  通过本地方式

由于nfs阿里埋了很多坑,只有用本地创建

部署主库

kubectl apply -f mysql-master-local.yaml

部署从库

kubectl apply -f mysql-slave-local.yaml

从库要修改部分配置不然报错

service

工作模式:

1.11之后 ipvs  1.10 iptables 1.10之前 userspace

type:

ClusterIP  集群内部通讯  NodePort 集群外部通讯

ports:

port  service上面的端口

targetPort   pod上面的端口

nodePort  集群外部被访问的端口 只有当type等于NodePort才生效

资源记录:

SVC_NAME.NS_NAME.DOMAIN.LTD

查看pod的详细信息

kubectl get svc

kubectl describe svc 名称

访问顺序  service-> endPoints-> pod

定义一个能被外部访问的pod

apiVersion: v1

kind: Service

metadata:

name: myapp

namespace: default

spec:

selector:

app: myapp

release: canary

clusterIP: 10.99.99.99

type: NodePort

ports:

port: 80

targetPort: 80

nodePort: 30055  #如果不指定会动态分配

外部访问方式

while true;do curl http://ip:30055/hostname.html; sleep 1; done

apiVersion: v1
kind: ReplicationController
metadata:
name: mysql-slave
labels:
name: mysql-slave
spec:
replicas:
selector: #关联到那个pod上面,name就是pod的名字在
name: mysql-slave
template:
metadata:
labels:
name: mysql-slave
spec:
containers:
- name: slave
image: nacos/nacos-mysql-slave:latest
ports:
- containerPort:
volumeMounts:
- name: mysql-slave-data
mountPath: /var/lib/mysql1
env:
- name: MYSQL_ROOT_PASSWORD
value: "root"
- name: MYSQL_REPLICATION_USER
value: 'nacos_ru'
- name: MYSQL_REPLICATION_PASSWORD
value: 'nacos_ru'
volumes:
- name: mysql-slave-data
hostPath:
path: /var/lib/mysql1
---
apiVersion: v1 #核心容器
kind: Service
metadata:
name: mysql-slave
labels:
name: mysql-slave
spec:
ports:
- port:
targetPort:
selector:
name: mysql-slave

3.2 部署数据库 通过nfs

部署主库

kubectl apply -f mysql-master-nfs.yaml

部署从库  挂载到另外一台服务器

4. 部署nacos

kubectl apply -f nacos-quick-start.yaml

查看标签

kubectl get pods -L app,run --show tables

5. 外部

查看我们创建的服务

[root@master nacos]# kubectl get service
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.96.0.1 <none> /TCP 2d1h
mysql-master ClusterIP 10.107.47.155 <none> /TCP 27m
mysql-slave ClusterIP 10.105.236.228 <none> /TCP 14m
nacos-headless ClusterIP 10.97.251.211 <none> /TCP 11m

k8s部署nacos的更多相关文章

  1. k8s部署nacos之二 nfs

    1.在linux服务器下载nacos 首先安装git命令 yum install git git clone https://github.com/nacos-group/nacos-k8s.git ...

  2. 阿里nacos k8s部署

    阿里nacos k8s部署 [root@master1 nacos]# cat nacos-quick-start.yaml --- apiVersion: v1 kind: Service meta ...

  3. Kubernetes 部署 Nacos 1.4 集群

    文章转载自:http://www.mydlq.club/article/104/ 系统环境: Nacos 版本:1.4.1 Mysql 版本:8.0.19 Kubernetes 版本:1.20.1 一 ...

  4. Python服务Dokcer化并k8s部署实例

    这篇文章记录了我试验将一个基于python的服务docker化并k8s部署的过程. 服务介绍Docker化设计业务代码改造创建docker镜像K8S部署设计yaml文件运行服务介绍这是一个用 pyth ...

  5. ballerina 学习二十七 项目k8s部署&& 运行

    ballerina k8s 部署和docker 都是同样的简单,编写service 添加注解就可以了 参考项目 https://ballerina.io/learn/by-guide/restful- ...

  6. Rancher+K8S部署手册

    目前创建K8S集群的安装程序最受欢迎的有Kops,Kubespray,kubeadm,rancher,以及个人提供的脚本集等. Kops和Kubespary在国外用的比较多,没有处理中国的网络问题,没 ...

  7. Jenkins+Git+Docker+K8s部署

    准备工作 Jenkins已安装 Docker和K8s部署运行成功 代码管理工具使用Git 最近公司项目使用Jenkins+Git+Docker+K8s进行持续化构建部署,这里笔者整理了一下构建部署的相 ...

  8. K8S部署

    k8S部署 柯穴上网 安装openvpn来获取docker镜像(不是本文重点不做详述) 软件包安装 1 关闭iptables,禁用firewalld,关闭selinux 2 配置yum仓库(使用阿里云 ...

  9. Prometheus K8S部署

    Prometheus K8S部署 部署方式:https://github.com/kubernetes/kubernetes/tree/master/cluster/addons/prometheus ...

随机推荐

  1. 使用FCKeditor编辑器上传文件时中文文件名乱码

    修改:editor\filemanager\browser\default\frmupload.html 文件的编码改为UTF-8 实在不行:fckeditor/editor/filemanager/ ...

  2. 截取完整网页图片的方法 Chrome 浏览器

    截取完整网页图片的方法:https://sspai.com/post/42193 要想使用截图功能,你需要首先确保 Chrome 已升级至 59 或更高版本.在想要截图的网页中,首先按下 ⌘Comma ...

  3. Faster, more memory efficient and more ordered dictionaries on PyPy

    Faster, more memory efficient and more ordered dictionaries on PyPy https://morepypy.blogspot.com/20 ...

  4. Object.keys()、Object.values()、Object.entries()的用法

    一.Object.keys(obj) 参数:要返回其枚举自身属性的对象 返回值:一个表示给定对象的所有可枚举属性的字符串数组 处理对象,返回可枚举的属性数组 let person = {name:&q ...

  5. 悟空CRM(基于jfinal+vue+ElementUI的前后端分离的开源CRM系统)

    https://www.jfinal.com/share/1591 官网:http://www.5kcrm.com 官网:http://www.72crm.com 论坛:http://bbs.72cr ...

  6. Spring 接口日志 AOP

    接口日志记录AOP实现-LogAspect - 91博客it技术开发者 - 博客园https://www.cnblogs.com/007sx/p/5810818.html Spring AOP(一) ...

  7. Typescript中的可索引接口 类类型接口

    /* 5.typeScript中的接口 可索引接口 类类型接口 */ /* 接口的作用:在面向对象的编程中,接口是一种规范的定义,它定义了行为和动作的规范,在程序设计里面,接口起到一种限制和规范的作用 ...

  8. Jmeter之__CSVRead随机读取变量

    背景:当你需要从一些数据中随机的取值用的话可以用这个函数来实现__CSVRead __CSVRead函数用于对脚本进行参数化,当脚本中不同变量需要不同参数值时,可以考虑__CSVRead函数. _CS ...

  9. 【mysql】reset Password

    https://www.cnblogs.com/josn1984/p/8550419.html https://blog.csdn.net/l1028386804/article/details/92 ...

  10. 删除pod后又重新创建pod发现还是访问原先的服务状态---解决

    因为做了数据持久化存储,需要删除数据目录下的数据才可以 参照: https://www.cnblogs.com/effortsing/p/10496391.html