dbcm with kubenetes
1. create consul
# kcompose convert -f /root/gitSwarm/dbcm-base-managers/compose/consul.yml
genetate two files:
consul-deployment.yaml consul-service.yaml
# kubectl create -f consul-deployment.yaml -f consul-service.yaml
get consul cluster virtual ip:
# kubectl get svc consul
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
consul ClusterIP 10.0.54.163 <none> 8500/TCP,8300/TCP,8301/TCP,8302/TCP,8400/TCP 16h
2. create mysql
After put metadata to consul(no change):
# kcompose convert -f /root/gitSwarm/dbcm-base-managers/compose/mysql.yml
genetate two files:
mysql-deployment.yaml mysql-service.yaml
modify mysql-deployment.yaml:
------------
spec.replicas = (instance number)
image = (mysql latest image)
env:
CLUSTER_ID
CONSUL = (consul cluster virtual ip)
-------------
# kubectl create -f mysql-deployment.yaml -f mysql-service.yaml
# kubectl get po -l io.kompose.service=mysql
NAME READY STATUS RESTARTS AGE
mysql-5b5d895b79-gxrbl 1/1 Running 0 2h
mysql-5b5d895b79-s9j5k 1/1 Running 0 2h
note:
consul service name no change
service id changes to mysql-all-{pod name} mysql-primary-{pod name}
just like "mysql-all-mysql-5b5d895b79-gxrbl" "mysql-primary-mysql-5b5d895b79-gxrb2"
3. scale cluster
# kubectl scale -f mysql-deployment.yaml --replicas=3
auto scale:
# kubectl autoscale -f mysql-deployment.yaml --min=2 --max=5 --cpu-percent=70
4. delete cluster
# kubectl delete -f mysql-deployment.yaml
5. get node log
# kubectl logs mysql-5b5d895b79-gxrbl(pod name)
6. RollingUpdate
# kubectl set image deployment/mysql mysql=registry.bst-1.cns.bstjpc.com:5000/dbelt/mysql-ms-mysql-v5.6.36-v0.5.0:20180206_update
check update status
# kubectl rollout status deployment/mysql
rollback
# kubectl rollout undo deployment/mysql
7. multiAZ
# kubectl label nodes mhc zone=beijing
modify mysql-deployment.yaml:
add:
spec.nodeSelector.zone=north
8. run command
kubectl exec [flag] pod_name shell_command
# kubectl exec -ti mysql-55d5cbc5c4-fjgfj bash
9. resize
resize:
kubectl set resources deployment nginx-deployment -c=nginx --limits=cpu=200m,memory=512Mi
lack:
1. stop/restart cluster
2. get cluster log
other:
1. make deployment name unique
[root@mhc k8s]# kubectl label pod consul-5f557878f4-974hw role=master
pod "consul-5f557878f4-974hw" labeled
[root@mhc k8s]#
[root@mhc k8s]# kubectl label pod consul-5f557878f4-hg6sh role=slave
pod "consul-5f557878f4-hg6sh" labeled
[root@mhc k8s]# kubectl get po -l role=master
NAME READY STATUS RESTARTS AGE
consul-5f557878f4-974hw 1/1 Running 0 17h
1. https://github.com/kubernetes/kompose
2. https://github.com/kubernetes/kubernetes
dbcm with kubenetes的更多相关文章
- 使用kubeadm平滑地升级kubenetes集群(v1.10.2到v1.10.3)
写在前面 kubernetes是目前最炙手火热的容器管理.调度.编排平台,不仅拥有全面的生态系统,而且还开源.开放自治,谁贡献的多,谁的话语权就大,云提供商都有专门的工程师来从事kubernetes开 ...
- Kubenetes 资源清单定义入门
Kubernetes 常用资源 资源 对象 工作负载型资源对象(workload): Pod Replicaset ReplicationController Deployments Stat ...
- kubenetes安装记录和要点
https://blog.csdn.net/jinglexy/article/details/79813546 在官网web上进行kubenetes测试:kubectl run kubernetes- ...
- kubenetes master使用curl 操作API
前提条件: 已经使用kubeadm 安装集群 查看 kebelet.conf 配置内容 kubectl --kubeconfig /etc/kubernetes/kubelet.conf config ...
- Rancher2.3.2部署Kubenetes Dashboard
首先进入到集群中的System命令空间,因为kubenetes dashboard是给整个集群使用的,并不是默认的Default命名空间使用的 Default命名空间,是默认的命名空间,也是在部署其他 ...
- Docker & Kubenetes 系列四:集群,扩容,升级,回滚
本篇将会讲解应用部署到Kubenetes集群,集群副本集查看,集群自愈能力演示,集群扩容,滚动升级,以及回滚. 本篇是Docker&Kubenetes系列的第四篇,在前面的篇幅中,我们向Kub ...
- K8s炼气期(一)| minikube安装本地Kubenetes环境
前言 根据Kubenetes学习路径的七大阶段,炼气期.筑基期.金丹期.元婴期.化神期.炼虚期.大乘期:开始炼气期的第一个小阶段,安装Kubenetes环境. 目录 1.安装kubectl 2.安装m ...
- 利用shell脚本使用kubeadm部署kubenetes 1.18.6集群环境
# README # 此脚本需要在master节点上使用 # 注意root密码,请提前修改 # 个人实验环境,注意机器最低配置:master(2G内存,1cpu2核心,否则集群会创建失败),node( ...
- kubenetes 环境的塔建
最近听我朋友说他们公司准备上云,全线把服务迁到 k8s 上面,一下感觉,我们就 lower 了不少,之前服务器一直跑的就是 docker ,想想弄到 k8s 应该还是没有啥,于是我们也开始改造了 参考 ...
随机推荐
- RF自定义系统关键字
如果您准备学习Python,船长在这里给大家推荐几个学习Python的好地方: 1.廖雪峰官网 http://www.liaoxuefeng.com/wiki/001374738125095c95 ...
- LG3690 【模板】Link Cut Tree (动态树)
题意 给定n个点以及每个点的权值,要你处理接下来的m个操作.操作有4种.操作从0到3编号.点从1到n编号. 0:后接两个整数(x,y),代表询问从x到y的路径上的点的权值的xor和.保证x到y是联通的 ...
- 洛谷P1309 瑞士轮
传送门 题目大意: 2*n个人,有初始的比赛分数和实力值. 每次比赛前总分从大到小排序,总分相同编号小的排在前面. 每次比赛是1和2比,3和4比,5和6比. 实力值大的获胜得1分. 每次比赛前排序确定 ...
- vue 中import和export如何一起使用(一)
前段时间碰到一个问题,vue js中要使用import来加载第三方的js,但是后面使用exports.XXX的话会报exports is not defined.那要怎么解决呢? 首先,我们要了解ES ...
- openresty 几个插件使用
1. jwt opm get SkyLothar/lua-resty-jwt 2. cookie opm get p0pr0ck5/lua-resty-cookie 3. http ...
- i.e 和e.g 的区别
i.e 和e.g 的区别 两者都是拉丁文缩写 i.e是id est的缩写,意思是that is. e.g是exempli gration的缩写,意思是for example;
- angularJS自定义一个过滤器
ng允许我们自定义指令 下面来我们自己来定义一个过滤指令:filter,返回一个函数的形式 filter(name,callback(){//name:过滤器的名字,callback:匿名函数 ret ...
- STL容器——对map排序
STL容器(三)——对map排序 对于map的排序问题,主要分为两部分:根据key排序:根据value排序.下面我们就分别说一下~ 1. 根据key进行排序 map默认按照key进行升序排序 ,和输入 ...
- mysql 查看并修改默认端口号
1. 登录mysql [root@test /]# mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands en ...
- Ten Qualities of an Effective Team Player
If you were choosing team members for a business team in your organization, who would the best team ...