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的更多相关文章

  1. 使用kubeadm平滑地升级kubenetes集群(v1.10.2到v1.10.3)

    写在前面 kubernetes是目前最炙手火热的容器管理.调度.编排平台,不仅拥有全面的生态系统,而且还开源.开放自治,谁贡献的多,谁的话语权就大,云提供商都有专门的工程师来从事kubernetes开 ...

  2. Kubenetes 资源清单定义入门

    Kubernetes 常用资源 资源  对象 工作负载型资源对象(workload): Pod  Replicaset  ReplicationController  Deployments Stat ...

  3. kubenetes安装记录和要点

    https://blog.csdn.net/jinglexy/article/details/79813546 在官网web上进行kubenetes测试:kubectl run kubernetes- ...

  4. kubenetes master使用curl 操作API

    前提条件: 已经使用kubeadm 安装集群 查看 kebelet.conf 配置内容 kubectl --kubeconfig /etc/kubernetes/kubelet.conf config ...

  5. Rancher2.3.2部署Kubenetes Dashboard

    首先进入到集群中的System命令空间,因为kubenetes dashboard是给整个集群使用的,并不是默认的Default命名空间使用的 Default命名空间,是默认的命名空间,也是在部署其他 ...

  6. Docker & Kubenetes 系列四:集群,扩容,升级,回滚

    本篇将会讲解应用部署到Kubenetes集群,集群副本集查看,集群自愈能力演示,集群扩容,滚动升级,以及回滚. 本篇是Docker&Kubenetes系列的第四篇,在前面的篇幅中,我们向Kub ...

  7. K8s炼气期(一)| minikube安装本地Kubenetes环境

    前言 根据Kubenetes学习路径的七大阶段,炼气期.筑基期.金丹期.元婴期.化神期.炼虚期.大乘期:开始炼气期的第一个小阶段,安装Kubenetes环境. 目录 1.安装kubectl 2.安装m ...

  8. 利用shell脚本使用kubeadm部署kubenetes 1.18.6集群环境

    # README # 此脚本需要在master节点上使用 # 注意root密码,请提前修改 # 个人实验环境,注意机器最低配置:master(2G内存,1cpu2核心,否则集群会创建失败),node( ...

  9. kubenetes 环境的塔建

    最近听我朋友说他们公司准备上云,全线把服务迁到 k8s 上面,一下感觉,我们就 lower 了不少,之前服务器一直跑的就是 docker ,想想弄到 k8s 应该还是没有啥,于是我们也开始改造了 参考 ...

随机推荐

  1. python3 升级 pip9.0.1 到pip-9.0.3

    首先试试 python -m pip install --upgrade pip python3.5 升级 pip-9.0.3报错 You are using pip version 9.0.1, h ...

  2. Nginx配置(需要把nginx的根目录指向ftp上传文件的目录。)

    改成

  3. virtual之虚函数,虚继承

    当类中包含虚函数时,则该类每个对象中在内存分配中除去数据外还包含了一个虚函数表指针(vfptr),指向虚函数表(vftable),虚函数表中存放了该类包含的虚函数的地址. 当子类通过虚继承的方式从父类 ...

  4. listener单点登录和在线人数

    1,jsp提交一个form 2,把收集到的数据放到一个personInfo类中,personInfo类放进session中 3,添加的时候触发listener,把一个personInfo的accoun ...

  5. (四)、Fiddler打断点

    一.打断点是Fiddler一个比较好用的功能,它可以做一些手工操作很难做的事情. 那为什么要打断点? 看下图,Fiddler打开后,Client(客户端)发送的请求会先经过Fiddler,然后Fidd ...

  6. 通过Authentication Challenge来信任自签名Https证书

    在开发阶段我们我们经常使用自签名的证书来部署我们的后台rest api.但是在iOS中调用的时候就会因为证书不被信任而调用api不成功.这时候我们就需要通过实现某些网络回调函数来自定义证书的验证逻辑. ...

  7. python3api-ms-win-crt-runtime-l1-1-0.dll丢失解决方法

    先记录一个之前遇到的问题: 在安装了pycharm后,发现 通过上网发现,其实就是没有安装pip和setuptools,其实 Python3以后都是默认安装pip的,所以最后的解决办法是将我目前的Py ...

  8. Android多线程断点下载的代码流程解析

    Step 1:创建一个用来记录线程下载信息的表 创建数据库表,于是乎我们创建一个数据库的管理器类,继承SQLiteOpenHelper类 重写onCreate()与onUpgrade()方法 DBOp ...

  9. windows下编译nginx+nginx_rtmp_modue(vs2013)

    阅读官方编译windows版本的方法 http://nginx.org/en/docs/howto_build_on_win32.html 我的环境 Windows 7 Ultimate 64,Vis ...

  10. java代码----------计算器代码

    总结: 很多不完善—— package com.rue; import java.awt.BorderLayout; import java.awt.FlowLayout; import java.a ...