某运维负责人之死

Posted by Zeusro on June 18, 2020
👈🏻 Select language

缘起

image

2018年3月,我正式成为运维负责人,接管集团内部的云平台账户。

上一任运维负责人是个天才,他给我留了一堆完全没有密码的服务器,涵盖了腾讯云和阿里云,此外还有一大堆无效的DNS记录,CDN域名,处理这些垃圾的善后工作,陆陆续续花了我一年多时间。

2018年6月,因缘巧合之下,阿里云P8口授我 Kubernetes,我当天下午立即决定,无论遇到多大的困难,必定要将其落地。

当时我们的系统已经有一部分运行在阿里云的 docker swarm 上面,但我看了一下 release note ,觉得那玩意肯定是弃子。于是,在三个月左右的时间内,通过看英文版的《kubernetes in action》和参与社群,我从 0 docker 基础的渣渣升级为集团内部首席云原生步道师。并升级为社群的管理员。

阿里云Kubernetes早期产品经理

此外,我还成为了阿里云 Kubernetes 的早期产品经理。很多产品建议都是我提出来,由他们内部加以评估改进的。

  1. 容器镜像服务支持私有仓库海外机器构建
  2. kubernetes web控制台:支持ephemeral-storage的设置
  3. 容器镜像服务:支持gcr.io等镜像的代理
  4. kubernetes:尽快废弃 dashboard,并将其功能集成到阿里云控制台
  5. Kubernetes:改进创建svc
  6. kubernetes:改进RBAC
  7. 阿里云kubernetes:SchedulingDisabled节点会被自动剔除出虚拟服务器组
  8. Kubernetes:扩充”节点不可调度”的功能,改为”维护节点”
  9. Kubernetes:改进创建集群选项
  10. k8s:增强云盘数据卷
  11. k8s:变更service的证书标签无法生效
  12. k8s:增加集群节点管理的相关文档
  13. 云监控:改进K8S云监控
  14. 容器服务:pv显示不友好
  15. K8S:进入POD终端之后的可操作时间过短
  16. k8s:配置deployment页面有问题
  17. k8s:volume的相关局限性以及改进
  18. k8s:namespace信息同步有问题
  19. k8s:取消ingress的TLS不生效
  20. 阿里云镜像仓库:优化用户体验
  21. k8s:维护master的时候会多出一些奇怪的负载均衡
  22. k8s:改进HPA
  23. 希望阿里云容器服务K8S 能够支持自主绑定 SLB
  24. k8s-给路由(Ingress)加上 TLS的时候会有问题
  25. k8s:改进LoadBalancer型服务和负载均衡的绑定
  26. k8s-使用私有镜像创建部署(deployment)的时候会有问题
  27. 无意中发现 K8S的部署详情页面有 bug
  28. 希望阿里云的容器kubernetes界面不要强行翻译专有名词!!!
  29. K8S-创建应用页面的相关教程改进
  30. 优化K8S部署应用的用户体验
  31. 让用户灵活选择 K8S master 付费方式
  32. 容器服务-健康检查形同鸡肋
  33. 容器服务-改进日志服务

2018-05-13 至今,围绕容器领域,陆陆续续提了几十个建议。虽然有一部分没被采纳,但我觉得我应该担得起”阿里云Kubernetes早期产品经理“这个称号。

最有印象的 BUG 是这个 k8s:取消ingress的TLS不生效

当时我跟进了近三个月,还发了个视频给当时的阿里云产品经理。

NoOps

image

传统应用的瀑布模型,我就不吐槽有多糟糕啦,懂的人自然懂。当初在那个运维负责人坑了我一把之后,我看到 Kubernetes 简直像看到了救星一样。后来我就用 Kubernetes 回收了大部分的服务器,至于那些没密码的服务器,要么用休克疗法半夜重置密码后重启,要么耗个一两年,备份云盘后直接退款。

Kubernetes 时代服务器的忘记密码

可参考我写的 扩容阿里云kubernetes集群,并升级节点内核

略有区别的在于,

image

节点维护这里要设置为”不可调度“。然后慢慢耗死节点里面的 pod 。

当节点里面剩下的 pod 都不再重要时,便可以直接删除节点并退款相应的ECS。

吐槽

image

阿里云能不能别老是给我发代金券了。我的域名再续下去得有百年了。

参考链接

[1] 2017年云趋势——从DevOps到NoOps http://dockone.io/article/2126

The Beginning

image

In March 2018, I officially became the operations manager and took over the group’s internal cloud platform accounts.

The previous operations manager was a genius. He left me a bunch of servers with no passwords at all, covering both Tencent Cloud and Alibaba Cloud. In addition, there were a ton of invalid DNS records and CDN domains. Cleaning up this mess took me over a year.

In June 2018, by chance, an Alibaba Cloud P8 gave me a verbal introduction to Kubernetes. That very afternoon, I immediately decided that no matter how difficult it would be, I would definitely implement it.

At that time, part of our system was already running on Alibaba Cloud’s Docker Swarm, but after looking at the release notes, I felt that thing was definitely abandoned. So, in about three months, by reading the English version of “Kubernetes in Action” and participating in the community, I upgraded from a zero-docker-knowledge noob to the group’s Chief Cloud Native Evangelist. I also became a community administrator.

Alibaba Cloud Kubernetes Early Product Manager

Additionally, I became an early product manager for Alibaba Cloud Kubernetes. Many product suggestions were proposed by me and then evaluated and improved internally by them.

  1. Container Image Service: Support Private Repository Overseas Machine Builds
  2. Kubernetes Web Console: Support ephemeral-storage Settings
  3. Container Image Service: Support Proxy for gcr.io and Other Images
  4. Kubernetes: Deprecate Dashboard ASAP and Integrate Its Features into Alibaba Cloud Console
  5. Kubernetes: Improve Service Creation
  6. Kubernetes: Improve RBAC
  7. Alibaba Cloud Kubernetes: SchedulingDisabled Nodes Will Be Automatically Removed from Virtual Server Groups
  8. Kubernetes: Expand “Node Unschedulable” Function, Change to “Maintenance Node”
  9. Kubernetes: Improve Cluster Creation Options
  10. k8s: Enhance Cloud Disk Data Volumes
  11. k8s: Service Certificate Label Changes Don’t Take Effect
  12. k8s: Add Related Documentation for Cluster Node Management
  13. Cloud Monitor: Improve K8S Cloud Monitoring
  14. Container Service: PV Display Not User-Friendly
  15. K8S: POD Terminal Operation Time Too Short After Entry
  16. k8s: Deployment Configuration Page Has Issues
  17. k8s: Volume Limitations and Improvements
  18. k8s: Namespace Information Sync Issues
  19. k8s: Ingress TLS Cancellation Doesn’t Take Effect
  20. Alibaba Cloud Image Repository: Optimize User Experience
  21. k8s: Strange Load Balancers Appear When Maintaining Master
  22. k8s: Improve HPA
  23. Hope Alibaba Cloud Container Service K8S Can Support Independent SLB Binding
  24. k8s: Issues When Adding TLS to Ingress Routes
  25. k8s: Improve LoadBalancer Service and Load Balancer Binding
  26. k8s: Issues When Creating Deployments with Private Images
  27. Accidentally Discovered K8S Deployment Details Page Has Bug
  28. Hope Alibaba Cloud Container Kubernetes Interface Doesn’t Force Translate Proper Nouns!!!
  29. K8S: Improve Related Tutorials for Application Creation Page
  30. Optimize K8S Application Deployment User Experience
  31. Let Users Flexibly Choose K8S Master Payment Method
  32. Container Service: Health Checks Are Useless
  33. Container Service: Improve Log Service

From 2018-05-13 to now, I’ve submitted dozens of suggestions around the container field. Although some weren’t adopted, I think I deserve the title of “Alibaba Cloud Kubernetes Early Product Manager”.

The most memorable bug was this one: k8s: Ingress TLS Cancellation Doesn’t Take Effect

I followed up on it for nearly three months and even sent a video to the Alibaba Cloud product manager at the time.

NoOps

image

I won’t complain about how terrible the waterfall model for traditional applications is—those who understand, understand. After that operations manager screwed me over, seeing Kubernetes was like seeing a savior. Later, I used Kubernetes to reclaim most of the servers. As for those servers without passwords, I either used shock therapy to reset passwords at midnight and restart, or waited a year or two, backed up the cloud disks, and directly refunded.

Forgetting Server Passwords in the Kubernetes Era

You can refer to what I wrote: Scale Alibaba Cloud Kubernetes Cluster and Upgrade Node Kernel

The slight difference is:

image

Node Maintenance here should be set to “Unschedulable”. Then slowly drain the pods in the node.

When the remaining pods in the node are no longer important, you can directly delete the node and refund the corresponding ECS.

Complaints

image

Can Alibaba Cloud stop sending me vouchers all the time? My domain name will be renewed for a hundred years if this continues.

References

[1] 2017 Cloud Trends—From DevOps to NoOps http://dockone.io/article/2126

Начало

image

В марте 2018 года я официально стал менеджером по эксплуатации и взял на себя управление внутренними учетными записями облачной платформы группы.

Предыдущий менеджер по эксплуатации был гением. Он оставил мне кучу серверов без паролей вообще, охватывающих как Tencent Cloud, так и Alibaba Cloud. Кроме того, была куча недействительных DNS-записей и CDN-доменов. Уборка этого беспорядка заняла у меня более года.

В июне 2018 года, случайно, Alibaba Cloud P8 дал мне устное введение в Kubernetes. В тот же день днем я сразу решил, что как бы трудно это ни было, я определенно реализую это.

В то время часть нашей системы уже работала на Docker Swarm Alibaba Cloud, но после просмотра заметок о выпуске я почувствовал, что эта штука определенно заброшена. Итак, примерно за три месяца, читая английскую версию “Kubernetes in Action” и участвуя в сообществе, я перешел от новичка с нулевыми знаниями Docker к Главному Евангелисту Cloud Native группы. Я также стал администратором сообщества.

Ранний менеджер продукта Alibaba Cloud Kubernetes

Кроме того, я стал ранним менеджером продукта Alibaba Cloud Kubernetes. Многие предложения по продуктам были предложены мной, а затем оценены и улучшены внутри них.

  1. Сервис образов контейнеров: Поддержка сборок на зарубежных машинах частных репозиториев
  2. Веб-консоль Kubernetes: Поддержка настроек ephemeral-storage
  3. Сервис образов контейнеров: Поддержка прокси для образов gcr.io и других
  4. Kubernetes: Как можно скорее устареть Dashboard и интегрировать его функции в консоль Alibaba Cloud
  5. Kubernetes: Улучшение создания сервисов
  6. Kubernetes: Улучшение RBAC
  7. Alibaba Cloud Kubernetes: Узлы SchedulingDisabled будут автоматически удалены из групп виртуальных серверов
  8. Kubernetes: Расширение функции “Узел не планируется”, изменение на “Узел обслуживания”
  9. Kubernetes: Улучшение опций создания кластера
  10. k8s: Усиление томов данных облачного диска
  11. k8s: Изменения меток сертификата сервиса не вступают в силу
  12. k8s: Добавление связанной документации по управлению узлами кластера
  13. Облачный монитор: Улучшение облачного мониторинга K8S
  14. Сервис контейнеров: Отображение PV неудобно для пользователя
  15. K8S: Время работы терминала POD слишком короткое после входа
  16. k8s: Страница конфигурации развертывания имеет проблемы
  17. k8s: Ограничения тома и улучшения
  18. k8s: Проблемы синхронизации информации пространства имен
  19. k8s: Отмена TLS Ingress не вступает в силу
  20. Репозиторий образов Alibaba Cloud: Оптимизация пользовательского опыта
  21. k8s: Появляются странные балансировщики нагрузки при обслуживании мастера
  22. k8s: Улучшение HPA
  23. Надеюсь, что сервис контейнеров Alibaba Cloud K8S может поддерживать независимую привязку SLB
  24. k8s: Проблемы при добавлении TLS к маршрутам Ingress
  25. k8s: Улучшение привязки сервиса LoadBalancer и балансировщика нагрузки
  26. k8s: Проблемы при создании развертываний с частными образами
  27. Случайно обнаружена ошибка на странице деталей развертывания K8S
  28. Надеюсь, что интерфейс Kubernetes контейнеров Alibaba Cloud не принудительно переводит собственные имена!!!
  29. K8S: Улучшение связанных руководств для страницы создания приложений
  30. Оптимизация пользовательского опыта развертывания приложений K8S
  31. Позволить пользователям гибко выбирать способ оплаты мастера K8S
  32. Сервис контейнеров: Проверки работоспособности бесполезны
  33. Сервис контейнеров: Улучшение сервиса логов

С 2018-05-13 по настоящее время я подал десятки предложений в области контейнеров. Хотя некоторые не были приняты, я думаю, что заслуживаю титула “Ранний менеджер продукта Alibaba Cloud Kubernetes”.

Самая запоминающаяся ошибка была эта: k8s: Отмена TLS Ingress не вступает в силу

Я отслеживал ее почти три месяца и даже отправил видео менеджеру продукта Alibaba Cloud в то время.

NoOps

image

Я не буду жаловаться на то, насколько ужасна модель водопада для традиционных приложений—те, кто понимает, понимают. После того, как тот менеджер по эксплуатации меня подставил, увидеть Kubernetes было как увидеть спасителя. Позже я использовал Kubernetes для возврата большинства серверов. Что касается тех серверов без паролей, я либо использовал шоковую терапию для сброса паролей в полночь и перезапуска, либо ждал год или два, делал резервную копию облачных дисков и напрямую возвращал деньги.

Забывание паролей серверов в эпоху Kubernetes

Вы можете обратиться к тому, что я написал: Масштабирование кластера Kubernetes Alibaba Cloud и обновление ядра узла

Небольшая разница в том, что:

image

Обслуживание узла здесь должно быть установлено как “Не планируется”. Затем медленно истощите поды в узле.

Когда оставшиеся поды в узле больше не важны, вы можете напрямую удалить узел и вернуть соответствующий ECS.

Жалобы

image

Может ли Alibaba Cloud перестать постоянно отправлять мне ваучеры? Мой домен будет продлеваться на сто лет, если это продолжится.

Ссылки

[1] Тренды облака 2017 года—От DevOps к NoOps http://dockone.io/article/2126



💬 讨论 / Discussion

对这篇文章有想法?欢迎在 GitHub 上发起讨论。
Have thoughts on this post? Start a discussion on GitHub.

在 GitHub 参与讨论 / Discuss on GitHub