k8s部署nacos
如果是在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的更多相关文章
- k8s部署nacos之二 nfs
1.在linux服务器下载nacos 首先安装git命令 yum install git git clone https://github.com/nacos-group/nacos-k8s.git ...
- 阿里nacos k8s部署
阿里nacos k8s部署 [root@master1 nacos]# cat nacos-quick-start.yaml --- apiVersion: v1 kind: Service meta ...
- Kubernetes 部署 Nacos 1.4 集群
文章转载自:http://www.mydlq.club/article/104/ 系统环境: Nacos 版本:1.4.1 Mysql 版本:8.0.19 Kubernetes 版本:1.20.1 一 ...
- Python服务Dokcer化并k8s部署实例
这篇文章记录了我试验将一个基于python的服务docker化并k8s部署的过程. 服务介绍Docker化设计业务代码改造创建docker镜像K8S部署设计yaml文件运行服务介绍这是一个用 pyth ...
- ballerina 学习二十七 项目k8s部署&& 运行
ballerina k8s 部署和docker 都是同样的简单,编写service 添加注解就可以了 参考项目 https://ballerina.io/learn/by-guide/restful- ...
- Rancher+K8S部署手册
目前创建K8S集群的安装程序最受欢迎的有Kops,Kubespray,kubeadm,rancher,以及个人提供的脚本集等. Kops和Kubespary在国外用的比较多,没有处理中国的网络问题,没 ...
- Jenkins+Git+Docker+K8s部署
准备工作 Jenkins已安装 Docker和K8s部署运行成功 代码管理工具使用Git 最近公司项目使用Jenkins+Git+Docker+K8s进行持续化构建部署,这里笔者整理了一下构建部署的相 ...
- K8S部署
k8S部署 柯穴上网 安装openvpn来获取docker镜像(不是本文重点不做详述) 软件包安装 1 关闭iptables,禁用firewalld,关闭selinux 2 配置yum仓库(使用阿里云 ...
- Prometheus K8S部署
Prometheus K8S部署 部署方式:https://github.com/kubernetes/kubernetes/tree/master/cluster/addons/prometheus ...
随机推荐
- Unity制作王者荣耀商业级手游
<王者荣耀>这种现象级手机游戏是如何制作出来的呢?本文以<王者荣耀>MOBO类型的多人在线战术竞技游戏为入口,覆盖Unity游戏制作开发前端与Node.js服务器端的开发必备知 ...
- oracle 删除某个用户下的所有对象
先存放好dropobj.sql 文件 然后登录需要删除的用户 删除前最好备份一下:(备份是在cmd中进行的) C:\Users\panfu>exp file=d:\expall.dmp log= ...
- nrm -- 一键切换npm源
0. 背景 先描述一下没有nrm时我们是怎样使用npm源的 查看npm源地址,终端中输入 npm config list 可以看到npm源 metrics-registry = "https ...
- Android Studio: 查看SDK源代码
有时候在AS里点击某个类跳转到的仍然是这个类反编译的源代码,看起来依然不舒服,今天分享个办法: 1. 查看当前编译的SDK Version: 2. 确保当前版本的SDK源码已下载: 3. 找到andr ...
- 漫谈企业应用架构的演变 CRM & etc
漫谈企业应用架构的演变 goYangKunhttps://mp.weixin.qq.com/s?__biz=MzIzMTc3NTA2NQ==&mid=2247483698&idx=1& ...
- textEdit
textEdit可以添加背景图片.渐变色.文字颜色.大小等等 <?xml version="1.0" encoding="utf-8"?> < ...
- Python3基础 continue while循环示例
Python : 3.7.3 OS : Ubuntu 18.04.2 LTS IDE : pycharm-community-2019.1.3 ...
- 超级简单的checkbox赋值,用于记住登陆名
<input name="rememberme" type="checkbox" id="rememberme" onclick=&q ...
- 123457123457#0#----com.MC.konglongtianse222----前拼后广--恐龙填色mc-mc1111
com.MC.konglongtianse222----前拼后广--恐龙填色mc
- 看烦了VS2012的黑白调调了吗?换
VS2012的默认深色主题的确让整个IDE看起来很有气场,而且深色的主题保护眼睛,还是蛮不错的.但是看久了也会烦啊.虽然说重要的不是IDE看起来怎么样,而是写出来的代码质量怎么样,但一个好的环境也是会 ...