kubernetes 留言版DEMO
kubernates hello world
1 关闭防火墙
$systemctl disable firewalld
$systemctl stop firewalld
2 安装etcd 和 kubernates
$yum install -y etcd kubernates
3 修改配置
docker /etc/sysconfig/docker
OPTIONS='--registry-mirror=http://06ec3c30.m.daocloud.io --selinux-enabled=false --insecure-registry gcr.io'
kubernetes apiserver /etc/kubernates/apiserver
--admission-control 参数中的ServiceAccount 删除
4 顺序启动
$systemctl start etcd
$systemctl start docker
$systemctl start kube-apiserver
$systemctl start kube-controller-manager
$systemctl start kube-scheduler
$systemctl start kubelet
$systemctl start kube-proxy
单机版k8s 搭建完成
Hello word 留言板系统
依赖三个镜像:
docker.io/kubeguide/guestbook-php-frontend WEB前端
docker.io/kubeguide/redis-master 写留言
docker.io/kubeguide/guestbook-redis-slave 读取留言
1 创建master pod 和服务
编写 redis-master-controller.yaml
apiVersion: v1
kind: ReplicationController
metadata:
name: redis-master
labels:
name: redis-master
spec:
replicas:
selector:
name: redis-master
template:
metadata:
labels:
name: redis-master
spec:
containers:
- name: master
image: kubeguide/redis-master
ports:
- containerPort:
发布到k8s集群
$kubectl create -f redis-master-controller.yaml
查看
$kubectl get rc
CONTROLLER CONTAINER(S) IMAGE(S) SELECTOR REPLICAS AGE
redis-master master kubeguide/redis-master name=redis-master 21d
$kubectl get po
NAME READY STATUS RESTARTS AGE
redis-master-69j7a / Running 20d
创建与之对应的service
编写 redis-master-service.yaml
apiVersion: v1
kind: Service
metadata:
name: redis-master
labels:
name: redis-master
spec:
ports:
- port:
targetPort:
selector:
name: redis-master
$kubectl create -f redis-master-service.yaml
$kubectl get svc
NAME CLUSTER_IP EXTERNAL_IP PORT(S) SELECTOR AGE
redis-master 10.254.38.83 <none> /TCP name=redis-master 20d
2 创建redis-salve Pod 和服务
编写 redis-slave-controller.yaml
apiVersion: v1
kind: ReplicationController
metadata:
name: redis-slave
labels:
name: redis-slave
spec:
replicas:
selector:
name: redis-slave
template:
metadata:
labels:
name: redis-slave
spec:
containers:
- name: slave
image: kubeguide/guestbook-redis-slave
env:
- name: GET_HOSTS_FROM
value: env
ports:
- containerPort:
发布到k8s集群
$kubectl create -f redis-slave-controller.yaml
$kubectl get rc
$kubectl get pod
创建 与之对应的service
编写 redis-slave-service.yaml
apiVersion: v1
kind: Service
metadata:
name: redis-slave
labels:
name: redis-slave
spec:
ports:
- port:
selector:
name: redis-slave
$kubectl create -f redis-slave-service.yaml $kubectl get svc
3 创建frontend Pod 和服务
编写 frontend-controller.yaml
apiVersion: v1
kind: ReplicationController
metadata:
name: frontend
labels:
name: frontend
spec:
replicas:
selector:
name: frontend
template:
metadata:
labels:
name: frontend
spec:
containers:
- name: frontend
image: kubeguide/guestbook-php-frontend
env:
- name: GET_HOSTS_FROM
value: env
ports:
- containerPort:
发布到k8s集群
$kubectl create -f frontend-controller.yaml
$kubectl get rc
$kubectl get pod
创建与之对应的service
编写 frontend-service.yaml
apiVersion: v1
kind: Service
metadata:
name: frontend
labels:
name: fronted
spec:
type: NodePort
ports:
- port:
nodePort:
selector:
name: frontend
创建服务
$kubectl create -f frontend-service.yaml
查看
$kubectl get svc
4 通过浏览器访问
localhost:30001
备注 k8s需要容器 gcr.io/google_containers/pause
kubernetes 留言版DEMO的更多相关文章
- 基于Koa实现留言版demo
学习node.koa,随手做了一个留言板demo. 基本功能如下: 未登录用户可以查看主题列表和主题内容. 用户注册和登录功能. 登录用户可以发表.修改.删除自己的主题. 登录用户主题列表下方有发表主 ...
- 前端用Webpact打包React后端Node+Express实现简单留言版
前言 React官方推荐用Browserify或者Webpack 来开发React组件. Webpack 是什么?是德国开发者 Tobias Koppers 开发的模块加载器.Instagram 工程 ...
- web storage 简单的网页留言版
html <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <ti ...
- 夺命雷公狗---微信开发53----网页授权(oauth2.0)获取用户基本信息接口(3)实现世界留言版
前面两节课我们讲的是base型的授权了,那么现在我们开始Userinfo型授权, 先来看下我们的原理图 我们这节课来做一个 世界留言版 系统 1..首先我还是在微信测试平台那里设置好回调页面的域名 2 ...
- vue.js介绍,常用指令,事件,以及制作简易留言版
一.vue是什么? 一个mvvm框架(库).和angular类似,比较容易上手.小巧,让我们的代码更加专注于业务逻辑,而不是去关注DOM操作 二.vue和angular之间的区别 vue--简单易学 ...
- 020——VUE中变异方法push的留言版实例讲解
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- 主流 Kubernetes 发行版梳理
2014 年,Kubernetes 作为内部 Google orchestrator Borg 开源版本推出,目前已是最成功和发展最快的 IT 基础架构项目之一.2018 年,Kubernetes 已 ...
- 6个出色的Kubernetes发行版,哪款最适合你?
作者简介 Christopher Tozzi,自2008年来以自由职业者的身份对Linux.虚拟化.容器.数据存储及其相关主题进行报道. 本文来自Rancher Labs 时至今日,通过Kuberne ...
- Kubernetes 笔记 02 demo 初体验
本文首发于我的公众号 Linux云计算网络(id: cloud_dev),专注于干货分享,号内有 10T 书籍和视频资源,后台回复「1024」即可领取,欢迎大家关注,二维码文末可以扫. 从前面的文章我 ...
随机推荐
- 动态的改变标签内的src属性
<body> <ul> <li class='on'>1</li> <li>2</li> <li>3</li& ...
- 模拟点击a链接
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> </head&g ...
- 《JS权威指南学习总结--7.9 ES5中的数组方法》
内容要点: ES5中定义了9个新的数组方法来遍历.映射.过滤.检测.简化和搜索数组. 概述:首先,大多数方法的第一个参数接收一个函数,并且对数组的每个元素(或一个元素)调用一次该函数. 如果是稀疏数组 ...
- PHP导出一个txt文本文件
<?php Header( "Content-type: application/octet-stream "); Header( "Accept-Ranges ...
- Apache httpd.conf配置详解
常用配置指令说明 1. ServerRoot:服务器的基础目录,一般来说它将包含conf/和logs/子目录,其它配置文件的相对路径即基于此目录.默认为安装目录,不需更改. 语法:ServerRoot ...
- 如何使用cygwin去编译cocos2dx项目中的C++文件
将生成的cocos2dx的Android项目导入到eclipse 可以先测试一下如何编译C++项目: 1.打开cygwin,进入到Android项目对应的目录下面去: 2.编译脚本 在编译脚本之间,如 ...
- 【Sort】希尔排序
希尔排序(ShellSort),缩小增量排序,使用希尔增量时最坏运行时间O(n^2),不同的增量会对运行时间产生显著影响. void shellsort(int *nums,int n) { int ...
- javascript的insertBefore、insertAfter和appendChild简单介绍
target.insertBefore(newChild,existingChild)参数说明:1.target:被添加节点和现有节点的父节点.2.newChild:将要被插入的节点.3.exis ...
- 一行一行分析JQ源码学习笔记-01
jQuery (function(window,undefined){ }) undefined 防止外部参数中 var undefined =10:以此来改变内部 undefined 不太建议用严 ...
- 浅析const标识符在C++函数的功能
范例: class matrix { public: matrix(){}; const double getvalue(const unsigned row, const unsigned colu ...