栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Go语言

JK云原生学习笔记

Go语言 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JK云原生学习笔记

极客时间云原生训练营
下栽地止:ukoou.com/resource/1055

云原生自动化部署

系统突发流量通常无法预计,因此常用的解决方案是,通过人工扩容系统的方式,使系统具备支持更大规模用户访问的能力。在完成架构拆分之后,弹性系统还需要具备自动化部署能力,以便根据既定的规则或者外部流量突发信号触发系统的自动化扩容功能,满足系统对于缩短突发流量影响时长的及时性要求,同时在峰值时段结束后自动缩容系统,降低系统运行的资源占用成本。

配置Kubernetes开发环境
我们将在Mac上使用docker环境编译kuberentes。

安装依赖

brew install gnu-tar

Docker环境,至少需要给容器分配4G内存,在低于3G内存的时候可能会编译失败。

执行编译
切换目录到kuberentes源码的根目录下执行:

./build/run.sh make可以在docker中执行跨平台编译出二进制文件。

需要用的的docker镜像:

gcr.io/google_containers/kube-cross:v1.7.5-2

该镜像基于Ubuntu构建,大小2.15G,编译环境中包含以下软件:

Go1.7.5
etcd
protobuf
g++

其他golang依赖包
在我自己的电脑上的整个编译过程大概要半个小时。

编译完成的二进制文件在/_output/local/go/bin/目录下。

---
apiVersion: v1
kind: Service
metadata:
  name: nginx
  labels:
    app: nginx
spec:
  ports:
  - port: 80
    name: web
  clusterIP: None
  selector:
    app: nginx
---
apiVersion: apps/v1beta1
kind: StatefulSet
metadata:
  name: web
spec:
  serviceName: "nginx"
  replicas: 2
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: gcr.io/google_containers/nginx-slim:0.8
        ports:
        - containerPort: 80
          name: web
        volumeMounts:
        - name: www
          mountPath: /usr/share/nginx/html
  volumeClaimTemplates:
  - metadata:
      name: www
      annotations:
        volume.alpha.kubernetes.io/storage-class: anything
    spec:
      accessModes: [ "ReadWriteOnce" ]
      resources:
        requests:
          storage: 1Gi
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/990985.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号