Guestbook的文档,根据kubernetes的不同版本而不同,具体的版本信息:
releases.k8s.io.
kubernetes发现Service有2种方式:环境变量,DNS
环境变量
服务可用被之前的容器发现。
DNS
使用cluster's DNS service, 所有的pod基于Service name自动解析到service。这种方式,需要安装cluster DNS
本例使用环境变量env的方式,无需安装cluster DNS。因此在创建之前,需要修改examples/guestbook/redis-slave-deployment.yaml 和 examples/guestbook/frontend-deployment.yaml中变量GET_HOSTS_FROM 的值,由dns变更为env
1 准备工作
需要准备一套kubernetes的运行环境,因此我们通过kubectl来检查集群的情况,如果没安装,请参考之前的帖子
# kubectl cluster-info
2 创建redis master
本例中的redis master并不是高可用的
2.1 定义Deployment
定义文件redis-master-deployment.yaml:
2.2 定义Service
定义文件redis-master-service.yaml:
2.3 创建Service
# kubectl create -f redis-master-service.yaml
2.4 查看Service
# kubectl get service
2.5 创建Deployment
#kubectl create -f redis-master-deployment.yaml
2.6 查看Deployment
# kubectl get deployments
# kubectl get pods
3 创建redis slave
定义两个slave pod
3.1 定义Deployment
由于没安装cluster DNS,先修改GET_HOSTS_FROM为env
3.2 定义Service
定义文件redis-slave-service.yaml:
3.3 创建Service
# kubectl create -f redis-slave-service.yaml
3.4 创建Deployment
# kubectl create -f redis-slave-deployment.yaml
3.5 构建image
# docker build -t gcr.io/google_samples/gb-redisslave:v1 .
3.6 验证
# kubectl get services
# kubectl get deployments
# kubectl get pods
4 创建frontend
4.1 定义Deployment
定义文件frontend-deployment.yaml
4.2 定义Service
定义文件frontend-service.yaml
4.3 创建Service
# kubectl create -f frontend-service.yaml
4.4 创建Deployment
# kubectl create -f frontend-deployment.yaml
4.5 构建image
# docker build -t gcr.io/google-samples/gb-frontend:v4 .
4.6 验证
# kubectl get services
# kubectl get deployments
# kubectl get pods -L tier
查找label为tier的所有pod
php的代码:
5 外部访问guestbook
kubernetes支持2种方式暴露一个服务到外部:NodePort和LoadBalancer
NodePort:
修改front-service.yaml, 设置type为NodePort,这样kubernetes会为其随机分配一个端口(默认:30000-32767)
如果希望指定nodePort的端口号,而不是系统自动分配。设置spec.ports
.nodePort的值为自定义的数字,当然这样需要自己保障不要和其他端口冲突
重启frontend的service
重新创建Service成功以后,我们再次查看所有的Service,发现frontend的EXTERNAL-IP更新为nodes
在外部用浏览器访问的效果
6 清理
使用label标签,快速查找相关的资源,并且删除
# kubectl delete deployments,services -l "app in (redis, guestbook)"
参考:
https://github.com/kubernetes/kubernetes/tree/master/examples/guestbook#guestbook-example
- 大小: 4.2 KB
- 大小: 28.1 KB
- 大小: 12 KB
- 大小: 3.7 KB
- 大小: 7.3 KB
- 大小: 4.1 KB
- 大小: 5.3 KB
- 大小: 5.8 KB
- 大小: 39.1 KB
- 大小: 9.3 KB
- 大小: 10.8 KB
- 大小: 3.5 KB
- 大小: 3.8 KB
- 大小: 31.2 KB
- 大小: 25.5 KB
- 大小: 35.2 KB
- 大小: 15.6 KB
- 大小: 3.8 KB
- 大小: 3.8 KB
- 大小: 42.9 KB
- 大小: 31.9 KB
- 大小: 36.3 KB
- 大小: 21.9 KB
- 大小: 21.6 KB
- 大小: 12.9 KB
- 大小: 19.8 KB
- 大小: 12.7 KB
分享到:
相关推荐
包含guestbook-php-frontend,guestbook-redis-slave,pause-amd64,redis-master四个tar的docker镜像包
GuestBook示例程序源码 ASP.NET Mvc + NHibernate + Unity Application Block 示例程序 今天无意间看到了Unity Application Block (以下简称Unity),感觉很不错,用起来挺方便的说。于是一时兴起写了这个留言本...
Guestbook k8s示例旨在展示k14s工具如何与实际应用程序一起工作。 本示例基于。 进行了更改以删除未使用的功能。 安装k14s工具 转至以获得安装说明。 部署 git clone ...
DR -- 使用 Google Storage 使 Kubernetes Guestbook 的 Redis 数据库持久化。介绍Google Cloud Platform 的应用程序是开始使用的好地方。 一旦一切开始工作,就可以轻松地扩展/缩减 Web 服务器和 Redis 工作线程以...
商业源码-编程源码-GuestBook示例程序源码.zip
HyperBook Guestbook 汉化版
guestbook1.zip 希望对感兴趣的有所帮助
16个留言板(GuestBook),来源于网络
Grav Guestbook插件 用于的Guestbook插件增加了添加可以接收... 默认示例页面为: --- title: Guestbook form: name: guestbook fields: - name: author label: Name placeholder: Enter your name autofocus:
基本的Kubernetes实验室和各种测试 瘦的 将此示例库用作一组示例。 我已经在实验室中使用Fedora和Atomic图像上传了一组针对一个Master和5个节点的工作配置。 我最终将清理此存储库,并在以后使它更有用(此功能很快...
一个不错的JAVA guestbook
简易的guestbook系统,数据库为oracle,编程语言为JSP。
asp_留言簿guestbook,语言ASP
PHP_guestbook_v2.0,一个基于PHP语言开发的留言本,后台强大
2018年无需数据库,虚拟主机可用很简单的php文本xml留言板guestbook,注释是英文的,文件结构并不复杂,一般懂点php的都能搞明白。文件齐全不缺文件,传到虚拟主机就能用哦!
provider-k14s Slack:带有有关资源及其属性,示例的主题的请参阅以获取设置说明状态:实验中k14s Terraform提供程序当前具有以下功能: 模板使用解决图像摘要部署K8S资源与有关安装Kubernetes Guestbook的示例,请...
PHP+MYSQL留言本
这是一个JSP写的留言板程序,给大家共享一下
CK留言本(C#版)_guestbook
axeon的guestbook程序代码