2021-05-15 从阿里云k8s到aws eks

从阿里云到aws ,从保姆式服务到自力更生
阿里云点点点就可以搭建ci/cd k8s一整套服务

aws除了买了eks外其它全要自立更生
从命令行工具aws cli ,kubectl
到写Deployment.yaml Service.yaml (全靠从阿里云抄来的yaml)
从点点点到各种命令

描述

更新流程1->2->3 这个流程一定能成功,但是会停服

4查看pod正常启动则可以访问

5常用于pod内测试(解决不能理解的问题)

6滚动更新 (会因为性能起不起来,确实能用)

8修改yaml后滚动更新(不知道为啥没效果)

9日志查看全解决

1查询所有Deployment

kubectl get Deployment 

2删除Deployment

kubectl delete Deployment <name>
#example
kubectl delete Deployment <pic-chat-prod>

3新建Deployment

#进入目标文件下执行
kubectl create -f Deployment.yml

4查询所有pods详情

kubectl get pods -o wide

5进入节点

kubectl exec -ti <your-pod-name>  -n <your-namespace>  -- /bin/sh
#example
kubectl exec -ti pic-chat-prod-5f7d6b996c-56jhf -n default -- /bin/sh

6 平滑重启

kubectl rollout restart deployment <deployment>

7 查看滚动升级状态

kubectl rollout status deployment/<deployment>

8 修改yaml后升级

kubectl apply -f Deployment.yaml

9 日志查看

# Return snapshot logs from pod nginx with only one container
kubectl logs <podname>

# Return snapshot of previous terminated ruby container logs from pod web-1
kubectl logs -p -c <containName> <podname>

# Begin streaming the logs of the ruby container in pod web-1
kubectl logs -f -c <containName> <podname>

# Display only the most recent 20 lines of output in pod nginx
kubectl logs --tail=20 <podname>

# Show all logs from pod nginx written in the last hour
kubectl logs --since=1h <podname>

关于自动化部署

虽然aws给了cicd的解决方案,但是太过复杂以至于没搞出来,一段时间后突然剑走偏锋,想到了一个不错的解决方案。
1.dockile打包一个新镜像 push ecr
主要包含:docker aws kubectl
2.使用aws code build 监听github webhook

在源码中添加buildspace (aws基于该文件构建) 完成3步
2.1 aws ecr login
2.2 docker build
2.3 docker psuh
2.4 kubectl rollout restart deployment

3.存在问题及解决方案
3.1打包过慢:可以继续构建自己的maven image,里面下好需要的jar
3.2重复拉去限制: docker 目前设置了重复拉去限制,频繁更新会导致拉取失败,同样也可以自己打个image推到ecr
3.3滚动更新客户端感知明显:
项目为spring boot 项目:从2点出发解决。总结,合理更新基础包,少走弯路
3.3.1.k8s活检 支持 spring boot 2.3.x actuator
3.3.2.springboot 优雅停止 springboot 2.3.x 支持
3.4 oom kill
还是2个层面解决问题:
3.4.1.depolyment 限定cpu,内存大小
3.4.2 jvm限定:
3.4.2.1 jdk8老版本需要启动时设置堆栈空间 -Xms 1024M -Xmx1024M(事实上依然存在OOM异常,所以才发现了第二种方案)
3.4.2.2 jdk8新版本已经特意支持容器部署,只需要-XX:+UseContainerSupport
3.5 kubectl操作eks
3.5.1 安装aws
3.5.2 安装eks
3.5.3 安装kubectl
3.5.4 认证 aws eks --region <region-code> update-kubeconfig --name <cluster_name>
3.6 eks 挂载efs
官方教程
官方教程有个问题,就是只部署了一个efs,如果想在eks中部署多个efs,只需要在通过yaml创建多个pv,pvc即可,该教程中无pvc与pc的关联配置,所以系统默认选择空闲空间使用。如果想创建关联关系,可在pvc中添加labels

metadata:
  labels:
    pv: xx-pv
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,029评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,238评论 3 388
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,576评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,214评论 1 287
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,324评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,392评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,416评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,196评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,631评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,919评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,090评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,767评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,410评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,090评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,328评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,952评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,979评论 2 351

推荐阅读更多精彩内容