Kubernetes 笔记

Kubernetes

开源容器编排引擎

CentOS 安装

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
curl -C- -fLO https://github.91chifun.workers.dev/https://github.com//easzlab/kubeasz/releases/download/3.1.0/ezdown
chmod +x ./ezdown
./ezdown -D
./ezdown -P
./ezdown -S
docker exec -it kubeasz ezctl start-aio

kubectl version
kubectl get node
kubectl get pod -A
kubectl get svc -A
kubectl cluster-info

kubernetes-dashboard 需要用Firefox浏览器打开

Mac 安装 Kubernetes

Kubernetes 指南

1
2
3
4
5
6
7
8
$ kubectl cluster-info
$ kubectl get nodes
$ kubectl describe node

$ kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/master/aio/deploy/recommended.yaml

# 开启本机访问代理
$ kubectl proxy

Kubernetes DashBoard Token

1
2
3
4
5
# 创建 ServiceAccount kubernetes-dashboard-admin 并绑定集群管理员权限
$ kubectl apply -f https://raw.githubusercontent.com/gotok8s/gotok8s/master/dashboard-admin.yaml

# 获取登陆 token
$ kubectl -n kubernetes-dashboard describe secret $(kubectl -n kubernetes-dashboard get secret | grep kubernetes-dashboard-admin | awk '{print $1}')

helm

helm, The Kubernetes Package Manager.

1
2
3
4
5
6
7
# Linux 用户
$ curl -s https://get.helm.sh/helm-v3.5.2-linux-amd64.tar.gz | tar xzv
$ sudo cp linux-amd64/helm /usr/local/bin
$ rm -rf linux-amd64

# Mac 用户
$ brew install helm

Starred

Starred, creating your own Awesome List by GitHub stars!

1
2
export GITHUB_TOKEN=xxx
starred --username laijingwei --sort > stars.md

Stanford CS Curriculum : Stanford

Sentry

Sentry 是一个开源的实时错误追踪系统,可以帮助开发者实时监控并修复异常问题。它主要专注于持续集成、提高效率并且提升用户体验。Sentry 分为服务端和客户端 SDK,前者可以直接使用它家提供的在线服务,也可以本地自行搭建;后者提供了对多种主流语言和框架的支持,包括 React、Angular、Node、Django、RoR、PHP、Laravel、Android、.NET、JAVA 等。同时它可提供了和其他流行服务集成的方案,例如 GitHub、GitLab、bitbuck、heroku、slack、Trello 等。目前公司的项目也都在逐步应用上 Sentry 进行错误日志管理。

使用 docker-compose 搭建

Sentry 本身是基于 Django 开发的,而且也依赖到其他的如 Postgresql、 Redis 等组件,所以一般有两种途径进行安装:通过 Docker 或用 Python 搭建。官网下分别有以下的两个介绍:

如果你选择了通过 Docker 进行安装,其实还有更加便捷的方式 —— docker-compose 。在 github 上有一个开源项目用于部署 Sentry ,我们可以直接使用该项目进行部署,首先是克隆该项目:

1
git clone https://github.com/getsentry/onpremise.git

注意,通过 Docker 本地搭建 Sentry 的时候,需要 docker 版本为 1.10.0 以上,docker-compose 版本为 1.17.0 以上,同时要求最低有 3GB 的可用内存。

如果并没有特殊要求或者额外的组件配置的话(比如说使用已有的 Postgresql 和 redis),可以直接运行 ./install.sh 将 Sentry 及其依赖都通过 docker 安装。

Sentry 的邮件配置

Sentry 支持邮件发送的功能非常重要,当 Sentry 捕获事件之后,可以将此捕获的事件发送到你的个人邮箱(针对 Sentry 管理员账号)。要修改目前的邮件配置是不能在界面上操作的,需要进行以下步骤:

  • 修改 .env 文件,补充以下环境变量

    • SENTRY_SERVER_EMAIL 邮件的发送地址
    • SENTRY_EMAIL_HOST smtp 服务器主机地址
    • SENTRY_EMAIL_USER smtp 服务器用户
    • SENTRY_EMAIL_PASSWORD smtp 服务器密码
    • SENTRY_EMAIL_PORT smtp 服务器端口
    • SENTRY_EMAIL_USE_TLS 是否使用 TLS,默认为 false
  • 修改 docker-compose.yml ,注释掉 SENTRY_EMAIL_HOST 配置,因为这个配置默认为 smtp ,会导致 .env 文件中的相同配置失效。

  • 配置修改后 update 一下 Sentry 并重启

    1
    2
    3
    
    docker-compose build
    docker-compose run --rm web upgrade
    docker-compose up -d
    

然后可以测试一下邮件发送

wiki.js

1
docker run -d -p 8300:3000 --name wiki --restart unless-stopped -e "DB_TYPE=mysql" -e "DB_HOST=192.168.110.165" -e "DB_PORT=3306" -e "DB_USER=wiki" -e "DB_PASS=S4NdTMXzCnGETHCE" -e "DB_NAME=wiki" requarks/wiki:2