components
DOK 是一个 Kubernetes 集群的部署工具,并且跟 Kubernetes 本身的耦合程度不高,只要通过 DOK 创建出来的集群之后,后面集群的管理和运维是完全可以脱离 DOK 的。当然 DOK 同样也集成了很多关于集群运维的命令和工具,包括增加、减少节点,etcd备份恢复等,下面是 DOK 集群创建之后的一些配置信息的总结,关于各组件的运维相关的资料,请分别查看组件目录下的文档。
组件 | 版本 | 类型 | 备注 |
---|---|---|---|
OS-release | centos7 | 其他 | |
Kernel | 3.10.0-1160.71.1.el7.x86_64 | rpm | |
Kubernetes | v1.24.8 | bin | |
Containerd | v1.5.5 | bin | |
runc | v1.1.3 | bin | |
octant | 0.25.1 | bin | |
k9s | 0.25.18 | bin | |
nerdctl | 0.21.0 | bin | |
helm | 3.6.0 | bin | |
n9e | 0.0.1 | helm | |
Flannel | v0.18.1 | yaml | |
Calico | v3.24.0 | yaml | 可选 |
kube-ovn | v1.10.0 | shell | 可选 |
multus | v3.9.2 | yaml | 可选 |
zsh | 5.0.2 | rpm | 可选 |
git | 1.8.3.1 | rpm | 可选 |
onmyzsh | master | zip | 可选 |
kubectx | 0.9.4 | bin | |
kubens | 0.9.4 | bin | |
kubecm | 0.17.0 | bin | |
krew | 0.17.0 | bin | |
buildkit | v0.10.3 | bin | |
knd | master | 脚本 | |
bat | 0.7.0 | rpm | |
fzf | master | zip |
# tree -d
.
├── app [预安装的helm charts]
│ ├── harbor
│ ├── ingress-nginx
│ ├── kube-prometheus-stack
│ ├── longhorn
│ ├── metrics-server
│ ├── minio
│ └── n9e
├── bin [二进制相关]
│ ├── cni
│ ├── containerd
│ ├── k8s
│ ├── kernel [包含内核和某些软件的rpm包]
│ ├── runc
│ └── tools [包含nerdctl/k9s/octant/ctr等工具]
├── conf [配置文件]
├── docs [安装运维文档]
├── image [镜像压缩包]
└── network [不同的网络方案]
组件 | cpu request | cpu limit | memory request | memory limit | replicas |
---|---|---|---|---|---|
minio | 500Mi | 4 | |||
metrics-server | 100Mi | 1 |
32xxx端口作为协议,请留给 DOK 使用,组件以及应用如果有 NodePort 需求,请避开这个范围的端口。
组件 | 端口 | 协议 |
---|---|---|
octant | 8900 | http |
longhorn | 32100 | http |
prometheus | 32200 | http |
grafana | 32300 | http |
minio | 32400 | http |
n9e | 32500 | http |
node-exporter | 19100 | http |
permission-manager | 32700 | http |
harbor | - | ingress |
前提是主机已经挂载好 /data
目录,DOK 安装的时候一般会建议主机把 /data
目录挂载到一个空间较大的磁盘,并且与根目录隔离开。
组件 | 新路径 | 原路径 |
---|---|---|
containerd | /data/containerd/var/lib/containerd/ |
/var/lib/containerd |
longhorn | /data/longhorn/var/lib/longhorn |
/var/lib/longhorn |
大部分组件的账号密码都是 Helm 部署的时候采用默认的方式给出。
组件 | 账号 | 密码 |
---|---|---|
harbor | admin | Harbor12345 |
minio-console | console | console123 |
grafana | admin | admin |
n9e | root | root.2020 |
permission-manager | admin | admin |
默认日志地址在 /tmp/dok.log
下面的3个 controlplane 和3个 worker 的集群的部署结果。
# kubectl get pod -A
NAMESPACE NAME READY STATUS RESTARTS AGE
kube-system coredns-558bd4d5db-nvzxq 1/1 Running 0 114m
kube-system coredns-558bd4d5db-ww6cj 1/1 Running 0 114m
kube-system etcd-vm-0-142-centos 1/1 Running 0 113m
kube-system etcd-vm-0-234-centos 1/1 Running 0 111m
kube-system etcd-vm-1-63-centos 1/1 Running 0 114m
kube-system kube-apiserver-vm-0-142-centos 1/1 Running 0 114m
kube-system kube-apiserver-vm-0-234-centos 1/1 Running 1 112m
kube-system kube-apiserver-vm-1-63-centos 1/1 Running 0 114m
kube-system kube-controller-manager-vm-0-142-centos 1/1 Running 0 114m
kube-system kube-controller-manager-vm-0-234-centos 1/1 Running 0 112m
kube-system kube-controller-manager-vm-1-63-centos 1/1 Running 1 114m
kube-system kube-flannel-ds-249s7 1/1 Running 0 112m
kube-system kube-flannel-ds-89fzn 1/1 Running 0 112m
kube-system kube-flannel-ds-bkkr2 1/1 Running 0 112m
kube-system kube-flannel-ds-lx6bn 1/1 Running 0 112m
kube-system kube-flannel-ds-ntkmx 1/1 Running 0 112m
kube-system kube-flannel-ds-xz5bj 1/1 Running 0 112m
kube-system kube-proxy-glc9d 1/1 Running 0 114m
kube-system kube-proxy-hj6g7 1/1 Running 0 112m
kube-system kube-proxy-l4cdq 1/1 Running 0 113m
kube-system kube-proxy-lqq9x 1/1 Running 0 114m
kube-system kube-proxy-s44fg 1/1 Running 0 112m
kube-system kube-proxy-vgwcm 1/1 Running 0 112m
kube-system kube-scheduler-vm-0-142-centos 1/1 Running 0 114m
kube-system kube-scheduler-vm-0-234-centos 1/1 Running 0 112m
kube-system kube-scheduler-vm-1-63-centos 1/1 Running 1 114m