712 lines
20 KiB
JavaScript
712 lines
20 KiB
JavaScript
/**
|
|
* Creating a sidebar enables you to:
|
|
- create an ordered group of docs
|
|
- render a sidebar for each doc of that group
|
|
- provide next/previous navigation
|
|
|
|
The sidebars can be generated from the filesystem, or explicitly defined here.
|
|
|
|
Create as many sidebars as you want.
|
|
*/
|
|
|
|
// @ts-check
|
|
|
|
/** @type {import('@docusaurus/plugin-content-docs').SidebarsConfig} */
|
|
const sidebars = {
|
|
kubernetesSidebar: [
|
|
{
|
|
type: "doc",
|
|
id: "README",
|
|
customProps: {
|
|
slug: "/"
|
|
}
|
|
},
|
|
{
|
|
type: 'category',
|
|
label: '集群搭建',
|
|
collapsed: true,
|
|
link: {
|
|
type: 'generated-index',
|
|
slug: '/deploy'
|
|
},
|
|
items: [
|
|
{
|
|
type: 'category',
|
|
label: '使用 kubespray 搭建集群',
|
|
collapsed: true,
|
|
link: {
|
|
type: 'generated-index',
|
|
slug: '/deploy/kubespray'
|
|
},
|
|
items: [
|
|
'deploy/kubespray/install',
|
|
'deploy/kubespray/offline',
|
|
],
|
|
},
|
|
{
|
|
type: 'category',
|
|
label: '安装 k3s 轻量集群',
|
|
collapsed: true,
|
|
link: {
|
|
type: 'generated-index',
|
|
slug: '/deploy/k3s'
|
|
},
|
|
items: [
|
|
'deploy/k3s/install-cases',
|
|
'deploy/k3s/offline-installation',
|
|
],
|
|
},
|
|
'deploy/terraform',
|
|
],
|
|
},
|
|
{
|
|
type: 'category',
|
|
label: '最佳实践',
|
|
collapsed: true,
|
|
link: {
|
|
type: 'generated-index',
|
|
slug: '/best-practices'
|
|
},
|
|
items: [
|
|
{
|
|
type: 'category',
|
|
label: '优雅终止',
|
|
collapsed: true,
|
|
link: {
|
|
type: 'generated-index',
|
|
slug: '/best-practices/graceful-shutdown'
|
|
},
|
|
items: [
|
|
'best-practices/graceful-shutdown/intro',
|
|
'best-practices/graceful-shutdown/pod-termination-proccess',
|
|
'best-practices/graceful-shutdown/code-example-of-handle-sigterm',
|
|
'best-practices/graceful-shutdown/why-cannot-receive-sigterm',
|
|
'best-practices/graceful-shutdown/propagating-signals-in-shell',
|
|
'best-practices/graceful-shutdown/use-prestop',
|
|
'best-practices/graceful-shutdown/persistent-connection',
|
|
'best-practices/graceful-shutdown/lb-to-pod-directly',
|
|
],
|
|
},
|
|
{
|
|
type: 'category',
|
|
label: 'DNS',
|
|
collapsed: true,
|
|
link: {
|
|
type: 'generated-index',
|
|
slug: '/best-practices/dns'
|
|
},
|
|
items: [
|
|
'best-practices/dns/customize-dns-resolution',
|
|
'best-practices/dns/optimize-coredns-performance',
|
|
],
|
|
},
|
|
{
|
|
type: 'category',
|
|
label: '性能优化',
|
|
collapsed: true,
|
|
link: {
|
|
type: 'generated-index',
|
|
slug: '/best-practices/performance-optimization'
|
|
},
|
|
items: [
|
|
'best-practices/performance-optimization/network',
|
|
'best-practices/performance-optimization/cpu',
|
|
],
|
|
},
|
|
{
|
|
type: 'category',
|
|
label: '高可用',
|
|
collapsed: true,
|
|
link: {
|
|
type: 'generated-index',
|
|
slug: '/best-practices/ha'
|
|
},
|
|
items: [
|
|
'best-practices/ha/pod-split-up-scheduling',
|
|
'best-practices/ha/smooth-upgrade',
|
|
],
|
|
},
|
|
{
|
|
type: 'category',
|
|
label: '弹性伸缩',
|
|
collapsed: true,
|
|
link: {
|
|
type: 'generated-index',
|
|
slug: '/best-practices/autoscaling'
|
|
},
|
|
items: [
|
|
'best-practices/autoscaling/hpa-velocity',
|
|
'best-practices/autoscaling/hpa-with-custom-metrics',
|
|
],
|
|
},
|
|
{
|
|
type: 'category',
|
|
label: '容器化',
|
|
collapsed: true,
|
|
link: {
|
|
type: 'generated-index',
|
|
slug: '/best-practices/containerization'
|
|
},
|
|
items: [
|
|
'best-practices/containerization/systemd-in-container',
|
|
'best-practices/containerization/java',
|
|
'best-practices/containerization/golang',
|
|
'best-practices/containerization/crontab-in-container',
|
|
'best-practices/containerization/timezone',
|
|
],
|
|
},
|
|
{
|
|
type: 'category',
|
|
label: '集群运维',
|
|
collapsed: true,
|
|
link: {
|
|
type: 'generated-index',
|
|
slug: '/best-practices/ops'
|
|
},
|
|
items: [
|
|
'best-practices/ops/securely-maintain-or-offline-node',
|
|
'best-practices/ops/securely-modify-container-root-dir',
|
|
'best-practices/ops/large-scale-cluster-optimization',
|
|
'best-practices/ops/etcd-optimization',
|
|
'best-practices/ops/batch-operate-node-with-ansible',
|
|
],
|
|
},
|
|
'best-practices/configure-healthcheck',
|
|
'best-practices/request-limit',
|
|
'best-practices/logging',
|
|
'best-practices/long-connection',
|
|
],
|
|
},
|
|
{
|
|
type: 'category',
|
|
label: '监控告警',
|
|
collapsed: true,
|
|
link: {
|
|
type: 'generated-index',
|
|
slug: '/monitoring'
|
|
},
|
|
items: [
|
|
{
|
|
type: 'category',
|
|
label: 'grafana',
|
|
collapsed: true,
|
|
link: {
|
|
type: 'generated-index',
|
|
slug: '/monitoring/grafana'
|
|
},
|
|
items: [
|
|
'monitoring/grafana/ha-setup',
|
|
],
|
|
},
|
|
{
|
|
type: 'category',
|
|
label: 'Victoria Metrics',
|
|
collapsed: true,
|
|
link: {
|
|
type: 'generated-index',
|
|
slug: '/monitoring/victoriametrics'
|
|
},
|
|
items: [
|
|
'monitoring/victoriametrics/install-with-operator',
|
|
],
|
|
}
|
|
],
|
|
},
|
|
{
|
|
type: 'category',
|
|
label: '集群网络',
|
|
collapsed: true,
|
|
link: {
|
|
type: 'generated-index',
|
|
slug: '/networking'
|
|
},
|
|
items: [
|
|
{
|
|
type: 'category',
|
|
label: '常见问题',
|
|
collapsed: true,
|
|
link: {
|
|
type: 'generated-index',
|
|
slug: '/networking/faq'
|
|
},
|
|
items: [
|
|
'networking/faq/why-enable-bridge-nf-call-iptables',
|
|
'networking/faq/ipvs-conn-reuse-mode',
|
|
],
|
|
},
|
|
],
|
|
},
|
|
{
|
|
type: 'category',
|
|
label: '实用技巧',
|
|
collapsed: true,
|
|
link: {
|
|
type: 'generated-index',
|
|
slug: '/trick'
|
|
},
|
|
items: [
|
|
{
|
|
type: 'category',
|
|
label: '高效使用 kubectl',
|
|
collapsed: true,
|
|
link: {
|
|
type: 'generated-index',
|
|
slug: '/trick/kubectl'
|
|
},
|
|
items: [
|
|
'trick/kubectl/kubectl-aliases',
|
|
'trick/kubectl/quick-switch-with-kubectx',
|
|
'trick/kubectl/merge-kubeconfig-with-kubecm',
|
|
],
|
|
},
|
|
{
|
|
type: 'category',
|
|
label: '镜像相关',
|
|
collapsed: true,
|
|
link: {
|
|
type: 'generated-index',
|
|
slug: '/trick/images'
|
|
},
|
|
items: [
|
|
'trick/images/podman',
|
|
'trick/images/sync-images-with-skopeo',
|
|
],
|
|
},
|
|
{
|
|
type: 'category',
|
|
label: '部署与配置',
|
|
collapsed: true,
|
|
link: {
|
|
type: 'generated-index',
|
|
slug: '/trick/deploy'
|
|
},
|
|
items: [
|
|
'trick/deploy/set-sysctl',
|
|
],
|
|
},
|
|
{
|
|
type: 'category',
|
|
label: '证书签发',
|
|
collapsed: true,
|
|
link: {
|
|
type: 'generated-index',
|
|
slug: '/trick/certs'
|
|
},
|
|
items: [
|
|
'trick/certs/sign-certs-with-cfssl',
|
|
'trick/certs/sign-free-certs-with-cert-manager',
|
|
'trick/certs/sign-free-certs-for-dnspod',
|
|
],
|
|
},
|
|
{
|
|
type: 'category',
|
|
label: '用户与权限',
|
|
collapsed: true,
|
|
link: {
|
|
type: 'generated-index',
|
|
slug: '/trick/user-and-permissions'
|
|
},
|
|
items: [
|
|
'trick/user-and-permissions/create-user-using-csr-api',
|
|
],
|
|
},
|
|
],
|
|
},
|
|
{
|
|
type: 'category',
|
|
label: '故障排查',
|
|
collapsed: true,
|
|
link: {
|
|
type: 'generated-index',
|
|
slug: '/troubleshooting'
|
|
},
|
|
items: [
|
|
{
|
|
type: 'category',
|
|
label: '排障技能',
|
|
collapsed: true,
|
|
link: {
|
|
type: 'generated-index',
|
|
slug: '/troubleshooting/skill'
|
|
},
|
|
items: [
|
|
'troubleshooting/skill/linux',
|
|
'troubleshooting/skill/enter-netns-with-nsenter',
|
|
'troubleshooting/skill/remote-capture-with-ksniff',
|
|
'troubleshooting/skill/use-systemtap-to-locate-problems',
|
|
'troubleshooting/skill/tcpdump',
|
|
'troubleshooting/skill/wireshark',
|
|
],
|
|
},
|
|
{
|
|
type: 'category',
|
|
label: 'Pod 排障',
|
|
collapsed: true,
|
|
link: {
|
|
type: 'generated-index',
|
|
slug: '/troubleshooting/pod'
|
|
},
|
|
items: [
|
|
'troubleshooting/pod/healthcheck-failed',
|
|
'troubleshooting/pod/device-or-resource-busy',
|
|
{
|
|
type: 'category',
|
|
label: 'Pod 状态异常',
|
|
collapsed: true,
|
|
link: {
|
|
type: 'generated-index',
|
|
slug: '/troubleshooting/pod/status'
|
|
},
|
|
items: [
|
|
'troubleshooting/pod/status/intro',
|
|
'troubleshooting/pod/status/pod-terminating',
|
|
'troubleshooting/pod/status/pod-pending',
|
|
'troubleshooting/pod/status/pod-containercreating-or-waiting',
|
|
'troubleshooting/pod/status/pod-crash',
|
|
'troubleshooting/pod/status/pod-imagepullbackoff',
|
|
],
|
|
}
|
|
],
|
|
},
|
|
{
|
|
type: 'category',
|
|
label: '节点排障',
|
|
collapsed: true,
|
|
link: {
|
|
type: 'generated-index',
|
|
slug: '/troubleshooting/node'
|
|
},
|
|
items: [
|
|
'troubleshooting/node/node-crash-and-vmcore',
|
|
'troubleshooting/node/node-high-load',
|
|
'troubleshooting/node/io-high-load',
|
|
'troubleshooting/node/memory-fragmentation',
|
|
'troubleshooting/node/disk-full',
|
|
'troubleshooting/node/pid-full',
|
|
'troubleshooting/node/arp-cache-overflow',
|
|
'troubleshooting/node/runnig-out-of-inotify-watches',
|
|
'troubleshooting/node/kernel-solft-lockup',
|
|
'troubleshooting/node/no-space-left-on-device',
|
|
'troubleshooting/node/ipvs-no-destination-available',
|
|
'troubleshooting/node/cadvisor-no-data',
|
|
],
|
|
},
|
|
{
|
|
type: 'category',
|
|
label: '网络排障',
|
|
collapsed: true,
|
|
link: {
|
|
type: 'generated-index',
|
|
slug: '/troubleshooting/network'
|
|
},
|
|
items: [
|
|
'troubleshooting/network/timeout',
|
|
'troubleshooting/network/packet-loss',
|
|
'troubleshooting/network/network-unreachable',
|
|
'troubleshooting/network/slow-network-traffic',
|
|
'troubleshooting/network/dns-exception',
|
|
'troubleshooting/network/close-wait-stacking',
|
|
'troubleshooting/network/traffic-surge',
|
|
],
|
|
},
|
|
{
|
|
type: 'category',
|
|
label: '存储排障',
|
|
collapsed: true,
|
|
link: {
|
|
type: 'generated-index',
|
|
slug: '/troubleshooting/storage'
|
|
},
|
|
items: [
|
|
'troubleshooting/storage/unable-to-mount-volumes',
|
|
'troubleshooting/storage/setup-failed-for-volume',
|
|
],
|
|
},
|
|
{
|
|
type: 'category',
|
|
label: '集群排障',
|
|
collapsed: true,
|
|
link: {
|
|
type: 'generated-index',
|
|
slug: '/troubleshooting/cluster'
|
|
},
|
|
items: [
|
|
'troubleshooting/cluster/namespace-terminating',
|
|
],
|
|
},
|
|
"troubleshooting/sdk",
|
|
{
|
|
type: 'category',
|
|
label: '排障案例',
|
|
collapsed: true,
|
|
link: {
|
|
type: 'generated-index',
|
|
slug: '/troubleshooting/cases'
|
|
},
|
|
items: [
|
|
{
|
|
type: 'category',
|
|
label: '运行时排障',
|
|
collapsed: true,
|
|
link: {
|
|
type: 'generated-index',
|
|
slug: '/troubleshooting/cases/runtime'
|
|
},
|
|
items: [
|
|
'troubleshooting/cases/runtime/io-high-load-causing-pod-creation-timeout',
|
|
'troubleshooting/cases/runtime/pull-image-fail-in-high-version-containerd',
|
|
'troubleshooting/cases/runtime/mount-root-causing-device-or-resource-busy',
|
|
'troubleshooting/cases/runtime/broken-system-time-causing-sandbox-conflicts',
|
|
],
|
|
},
|
|
{
|
|
type: 'category',
|
|
label: '网络排障',
|
|
collapsed: true,
|
|
link: {
|
|
type: 'generated-index',
|
|
slug: '/troubleshooting/cases/network'
|
|
},
|
|
items: [
|
|
'troubleshooting/cases/network/dns-lookup-5s-delay',
|
|
'troubleshooting/cases/network/arp-cache-overflow-causing-healthcheck-failed',
|
|
'troubleshooting/cases/network/cross-vpc-connect-nodeport-timeout',
|
|
'troubleshooting/cases/network/musl-libc-dns-id-conflict-causing-dns-abnormal',
|
|
],
|
|
},
|
|
{
|
|
type: 'category',
|
|
label: '高负载',
|
|
collapsed: true,
|
|
link: {
|
|
type: 'generated-index',
|
|
slug: '/troubleshooting/cases/high-load'
|
|
},
|
|
items: [
|
|
'troubleshooting/cases/high-load/disk-full-causing-high-cpu',
|
|
],
|
|
},
|
|
{
|
|
type: 'category',
|
|
label: '集群故障',
|
|
collapsed: true,
|
|
link: {
|
|
type: 'generated-index',
|
|
slug: '/troubleshooting/cases/cluster'
|
|
},
|
|
items: [
|
|
'troubleshooting/cases/cluster/delete-rancher-ns-causing-node-disappear',
|
|
'troubleshooting/cases/cluster/scheduler-snapshot-missing-causing-pod-pending',
|
|
'troubleshooting/cases/cluster/kubectl-exec-or-logs-failed',
|
|
],
|
|
},
|
|
{
|
|
type: 'category',
|
|
label: '节点排障',
|
|
collapsed: true,
|
|
link: {
|
|
type: 'generated-index',
|
|
slug: '/troubleshooting/cases/node'
|
|
},
|
|
items: [
|
|
'troubleshooting/cases/node/cgroup-leaking',
|
|
],
|
|
},
|
|
{
|
|
type: 'category',
|
|
label: '其它排障',
|
|
collapsed: true,
|
|
link: {
|
|
type: 'generated-index',
|
|
slug: '/troubleshooting/cases/others'
|
|
},
|
|
items: [
|
|
'troubleshooting/cases/others/failed-to-modify-hosts-in-multiple-container',
|
|
'troubleshooting/cases/others/job-cannot-delete',
|
|
'troubleshooting/cases/others/dotnet-configuration-cannot-auto-reload',
|
|
],
|
|
},
|
|
],
|
|
}
|
|
],
|
|
},
|
|
{
|
|
type: 'category',
|
|
label: '腾讯云容器服务',
|
|
collapsed: true,
|
|
link: {
|
|
type: 'generated-index',
|
|
slug: '/tencent'
|
|
},
|
|
items: [
|
|
{
|
|
type: 'category',
|
|
label: 'Serverless 集群与超级节点',
|
|
collapsed: true,
|
|
link: {
|
|
type: 'generated-index',
|
|
slug: '/tencent/serverless'
|
|
},
|
|
items: [
|
|
'tencent/serverless/precautions',
|
|
'tencent/serverless/why-tke-supernode-rocks',
|
|
'tencent/serverless/supernode-case-online',
|
|
'tencent/serverless/supernode-case-offline',
|
|
'tencent/serverless/large-image-solution',
|
|
],
|
|
},
|
|
{
|
|
type: 'category',
|
|
label: '网络指南',
|
|
collapsed: true,
|
|
link: {
|
|
type: 'generated-index',
|
|
slug: '/tencent/networking'
|
|
},
|
|
items: [
|
|
'tencent/networking/clb-to-pod-directly',
|
|
'tencent/networking/how-to-use-eip',
|
|
'tencent/networking/install-localdns-with-ipvs',
|
|
'tencent/networking/expose-grpc-with-tcm',
|
|
],
|
|
},
|
|
{
|
|
type: 'category',
|
|
label: '存储指南',
|
|
collapsed: true,
|
|
link: {
|
|
type: 'generated-index',
|
|
slug: '/tencent/storage'
|
|
},
|
|
items: [
|
|
'tencent/storage/cbs-pvc-expansion',
|
|
'tencent/storage/readonlymany-pv',
|
|
'tencent/storage/mount-cfs-with-v3',
|
|
],
|
|
},
|
|
{
|
|
type: 'category',
|
|
label: '监控告警',
|
|
collapsed: true,
|
|
link: {
|
|
type: 'generated-index',
|
|
slug: '/tencent/monitoring'
|
|
},
|
|
items: [
|
|
'tencent/monitoring/prometheus-scrape-config',
|
|
'tencent/monitoring/grafana-dashboard-for-supernode-pod',
|
|
],
|
|
},
|
|
{
|
|
type: 'category',
|
|
label: '镜像与仓库',
|
|
collapsed: true,
|
|
link: {
|
|
type: 'generated-index',
|
|
slug: '/tencent/images'
|
|
},
|
|
items: [
|
|
'tencent/images/use-mirror-in-container',
|
|
'tencent/images/use-foreign-container-image',
|
|
],
|
|
},
|
|
{
|
|
type: 'category',
|
|
label: '故障排查',
|
|
collapsed: true,
|
|
link: {
|
|
type: 'generated-index',
|
|
slug: '/tencent/troubleshooting'
|
|
},
|
|
items: [
|
|
'tencent/troubleshooting/public-service-or-ingress-connect-failed',
|
|
],
|
|
},
|
|
{
|
|
type: 'category',
|
|
label: '常见应用安装与部署',
|
|
collapsed: true,
|
|
link: {
|
|
type: 'generated-index',
|
|
slug: '/tencent/install-apps'
|
|
},
|
|
items: [
|
|
'tencent/install-apps/install-harbor-on-tke',
|
|
'tencent/install-apps/install-gitlab-on-tke',
|
|
'tencent/install-apps/install-kubesphere-on-tke',
|
|
],
|
|
},
|
|
{
|
|
type: 'category',
|
|
label: '常见问题',
|
|
collapsed: true,
|
|
link: {
|
|
type: 'generated-index',
|
|
slug: '/tencent/faq'
|
|
},
|
|
items: [
|
|
'tencent/faq/modify-rp-filter-causing-exception',
|
|
'tencent/faq/clb-loopback',
|
|
'tencent/faq/controller-manager-and-scheduler-unhealthy',
|
|
],
|
|
},
|
|
{
|
|
type: 'category',
|
|
label: '解决方案',
|
|
collapsed: true,
|
|
link: {
|
|
type: 'generated-index',
|
|
slug: '/tencent/solution'
|
|
},
|
|
items: [
|
|
'tencent/solution/multi-account',
|
|
'tencent/solution/upgrade-inplace',
|
|
],
|
|
},
|
|
{
|
|
type: 'category',
|
|
label: '附录',
|
|
collapsed: true,
|
|
link: {
|
|
type: 'generated-index',
|
|
slug: '/tencent/appendix'
|
|
},
|
|
items: [
|
|
'tencent/appendix/useful-kubectl-for-tencent-cloud',
|
|
'tencent/appendix/eks-annotations',
|
|
'tencent/appendix/ingress-error-code',
|
|
],
|
|
},
|
|
],
|
|
},
|
|
{
|
|
type: 'category',
|
|
label: '附录',
|
|
collapsed: true,
|
|
link: {
|
|
type: 'generated-index',
|
|
slug: '/appendix'
|
|
},
|
|
items: [
|
|
'appendix/kubectl-cheat-sheet',
|
|
'appendix/yaml',
|
|
{
|
|
type: 'category',
|
|
label: 'Terrafrom 配置',
|
|
collapsed: true,
|
|
link: {
|
|
type: 'generated-index',
|
|
slug: '/appendix/terraform'
|
|
},
|
|
items: [
|
|
'appendix/terraform/tke-vpc-cni',
|
|
'appendix/terraform/tke-serverless',
|
|
]
|
|
},
|
|
]
|
|
}
|
|
],
|
|
};
|
|
|
|
module.exports = sidebars;
|