加入收藏 | 设为首页 | 会员中心 | 我要投稿 揭阳站长网 (https://www.0663zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 云计算 > 正文

Kubernetes Google分布式容器技术初体会

发布时间:2022-05-26 11:54:57 所属栏目:云计算 来源:互联网
导读:Kubernetes是Google开源的容器集群管理系统。前几天写的 分布式服务框架的4项特性中提到一个良好的分布式服务框架需要实现。 服务的配置管理。包括服务发现、负载均衡及服务依赖管理。 服务之间的调度及生命周期管理。 由于Kubernetes包含了上述部分特性,加

 
安装说明
 
Kubernetes cluster简单安装说明如下,需要尝试的朋友可参考。
 
前提准备
 
一个64 bit linux环境,***在墙外的,避免访问google cloud出现超时或reset等问题;另外创建Google Cloud帐号,确保创建instances以及Cloud Storage功能可用;
 
安装步骤
 
1. 安装go语言环境(可选,如果需要编译代码则需要)
 
2. 安装Google cloud sdk
 
$ curl https://sdk.cloud.google.com | bash
 
$ gcloud auth login
 
按提示完成授权及登录
 
3. 安装 etcd 二进制版本(V0.4.6), 解压后将其目录加入PATH
 
4. 安装 kubernetes***的relase binary版本(V0.5.1)
 
修改 cluster/gce/config-default.sh,主要是修改以下字段以便节约资源。
 
复制
MASTER_SIZE=f1-micro
MINION_SIZE=f1-micro
NUM_MINIONS=3
 
在kubernetes目录运行
$ cluster/kube-up.sh
 
执行成功后会显示 done
 
5. 测试pod
以上脚本启动了examples/monitoring 下面定义的service,如果尝试启动其它自己的pods,比如启动一个tomcat集群
 
复制
{
  "id": "tomcatController",
  "kind": "ReplicationController",
  "apiVersion": "v1beta1",
  "desiredState": {
    "replicas": 2,
    "replicaSelector":{"name": "tomcatCluster"},
    "podTemplate":{
  "desiredState": {
    "manifest": {
      "version": "v1beta1",
      "id": "tomcat",
      "containers": [{
        "name": "tomcat",
        "image": "tutum/tomcat",
     "ports": [
     {"containerPort":8080,"hostPort":80}
     ]
     }]
    }
  },
  "labels": {"name": "tomcatCluster"}}
  },
  "labels": {
    "name": "tomcatCluster",
 
其中pod的tomcat image可以通过Docker Hub Registry https://registry.hub.docker.com/ 搜索及获取
 
$ cluster/kubectl.sh create -f tomcat-pod.json
 
创建成功后通过 cluster/kubectl.sh get pods 来查看它所在minion及ip,可以通过curl或浏览器来访问(请开启GCE防火墙端口设置)。
 
再定义一个 service
 
复制
{
  "id": "tomcat",
  "kind": "Service",
  "apiVersion": "v1beta1",
  "port": 8080,
  "containerPort": 8080,
  "labels": {
    "name": "tomcatCluster"
  },
  "selector": {
    "name": "tomcatCluster"
 
保存为 tomcat-service.json
 
$ cluster/kubectl.sh create -f tomcat-service.json
 
检查service启动后的ip及端口,由于service是内部ip,可以在GCE上通过curl来测试及验证。
 
$ cluster/kubectl.sh get services
 
6. 关闭cluster

(编辑:揭阳站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!