cluster.yml<\/a><\/p>\n<\/blockquote>\nnodes:\n- address: "64.115.4.23"\n port: "22"\n internal_address: "64.115.4.23"\n role:\n - controlplane\n - etcd\n hostname_override: "k8s-master"\n user: rke\n docker_socket: \/var\/run\/docker.sock\n ssh_key: ""\n ssh_key_path: ~\/.ssh\/id_rsa\n ssh_cert: ""\n ssh_cert_path: ""\n labels: {nodes_lables: master}\n taints: []\n- address: "64.115.5.100"\n port: "22"\n internal_address: "64.115.5.100"\n role:\n - worker\n hostname_override: "k8s-node1"\n user: rke\n docker_socket: \/var\/run\/docker.sock\n ssh_key: ""\n ssh_key_path: ~\/.ssh\/id_rsa\n ssh_cert: ""\n ssh_cert_path: ""\n taints: []\n labels:\n ingress: true\n dns: true\n nfs-provisioner: server\n- address: "64.115.5.200"\n port: "22"\n internal_address: "64.115.5.200"\n role:\n - worker\n hostname_override: "k8s-node2"\n user: rke\n docker_socket: \/var\/run\/docker.sock\n ssh_key: ""\n ssh_key_path: ~\/.ssh\/id_rsa\n ssh_cert: ""\n ssh_cert_path: ""\n taints: []\n labels:\n ingress: true\n dns: true\n# \u5982\u679c\u8bbe\u7f6e\u4e3atrue\uff0c\u5219\u53ef\u4ee5\u4f7f\u7528\u4e0d\u53d7\u652f\u6301\u7684Docker\u7248\u672c\nignore_docker_version: false\n\n# \u96c6\u7fa4\u7b49\u7ea7\u7684SSH\u79c1\u94a5(private key)\n## \u5982\u679c\u8282\u70b9\u672a\u914d\u7f6eSSH\u79c1\u94a5\uff0cRKE\u5c06\u4f1a\u4ee5\u6b64\u79c1\u94a5\u53bb\u8fde\u63a5\u96c6\u7fa4\u8282\u70b9\nssh_key_path: ~\/.ssh\/id_rsa\n\n# \u4f7f\u7528SSH agent\u6765\u63d0\u4f9bSSH\u79c1\u94a5\n## \u9700\u8981\u914d\u7f6e\u73af\u5883\u53d8\u91cfSSH_AUTH_SOCK<\/code>\u6307\u5411\u5df2\u6dfb\u52a0\u79c1\u94a5\u7684SSH agent\nssh_agent_auth: false\n\n# \u914d\u7f6edocker root\u76ee\u5f55\n#docker_root_dir: "\/u01\/install\/docker"\n\n# \u79c1\u6709\u4ed3\u5e93\n## \u5f53\u8bbe\u7f6eis_default: true<\/code>\u540e\uff0c\u6784\u5efa\u96c6\u7fa4\u65f6\u4f1a\u81ea\u52a8\u5728\u914d\u7f6e\u7684\u79c1\u6709\u4ed3\u5e93\u4e2d\u62c9\u53d6\u955c\u50cf\n## \u5982\u679c\u4f7f\u7528\u7684\u662fDockerHub\u955c\u50cf\u4ed3\u5e93\uff0c\u5219\u53ef\u4ee5\u7701\u7565url<\/code>\u6216\u5c06\u5176\u8bbe\u7f6e\u4e3adocker.io<\/code>\n## \u5982\u679c\u4f7f\u7528\u5185\u90e8\u516c\u5f00\u4ed3\u5e93\uff0c\u5219\u53ef\u4ee5\u4e0d\u7528\u8bbe\u7f6e\u7528\u6237\u540d\u548c\u5bc6\u7801\n\n#private_registries:\n# - url: registry.com\n# user: Username\n# password: password\n# is_default: true\n\n# \u5821\u5792\u673a\n## \u5982\u679c\u96c6\u7fa4\u8282\u70b9\u9700\u8981\u901a\u8fc7\u5821\u5792\u673a\u8df3\u8f6c\uff0c\u90a3\u4e48\u9700\u8981\u4e3aRKE\u914d\u7f6e\u5821\u5792\u673a\u4fe1\u606f\n#bastion_host:\n# address: x.x.x.x\n# user: ubuntu\n# port: 22\n# ssh_key_path: \/home\/user\/.ssh\/bastion_rsa\n## or\n## ssh_key: |-\n## -----BEGIN RSA PRIVATE KEY-----\n##\n## -----END RSA PRIVATE KEY-----\n\n# \u8bbe\u7f6eKubernetes\u96c6\u7fa4\u540d\u79f0\n#\u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0c\u96c6\u7fa4\u7684\u540d\u79f0\u5c06\u662flocal\u3002\u5982\u679c\u9700\u8981\u5176\u4ed6\u540d\u79f0\uff0c\u53ef\u4ee5\u4f7f\u7528cluster_name\u66f4\u6539\u96c6\u7fa4\u7684\u540d\u79f0,\u8be5\u540d\u79f0\u5c06\u5728\u96c6\u7fa4\u751f\u6210\u7684kubeconfig\u6587\u4ef6\u4e2d\u663e\u793a\u3002\ncluster_name: dev-cluster\n\n# \u5b9a\u4e49kubernetes\u7248\u672c.\n## \u76ee\u524d, \u7248\u672c\u5b9a\u4e49\u9700\u8981\u4e0erancher\/types defaults map\u76f8\u5339\u914d: https:\/\/github.com\/rancher\/types\/blob\/master\/apis\/management.cattle.io\/v3\/k8s_defaults.go\\#L14 \uff08\u540e\u671f\u7248\u672c\u8bf7\u67e5\u770b: https:\/\/github.com\/rancher\/kontainer-driver-metadata\/blob\/master\/rke\/k8s_rke_system_images.go \uff09\n## \u5982\u679c\u540c\u65f6\u5b9a\u4e49\u4e86kubernetes_version\u548csystem_images\u4e2d\u7684kubernetes\u955c\u50cf\uff0c\u5219system_images\u914d\u7f6e\u5c06\u4f18\u5148\u4e8ekubernetes_version\n# \u4f7f\u7528\u547d\u4ee4\u884c\u67e5\u770b\u652f\u6301\u7684\u7248\u672c\uff1arke config --system-imagesrke config --system-images\nkubernetes_version: v1.18.6-rancher1-1\n\n# system_images<\/code>\u4f18\u5148\u7ea7\u66f4\u9ad8\uff0c\u5982\u679c\u6ca1\u6709\u5355\u72ec\u6307\u5b9asystem_images<\/code>\u955c\u50cf\uff0c\u5219\u4f1a\u4f7f\u7528kubernetes_version<\/code>\u5bf9\u5e94\u7684\u9ed8\u8ba4\u955c\u50cf\u7248\u672c\u3002\n## \u9ed8\u8ba4Tags: https:\/\/github.com\/rancher\/types\/blob\/master\/apis\/management.cattle.io\/v3\/k8s_defaults.go\\)\\(Rancher v2.3\u6216\u8005RKE v0.3\u4e4b\u540e\u7684\u7248\u672c\u8bf7\u67e5\u770b: https:\/\/github.com\/rancher\/kontainer-driver-metadata\/blob\/master\/rke\/k8s_rke_system_images.go \uff09\n#system_images:\n# etcd: rancher\/coreos-etcd:v3.4.3-rancher1\n# alpine: rancher\/rke-tools:v0.1.58\n# nginx_proxy: rancher\/rke-tools:v0.1.58\n# cert_downloader: rancher\/rke-tools:v0.1.58\n# kubernetes_services_sidecar: rancher\/rke-tools:v0.1.58\n# kubedns: rancher\/k8s-dns-kube-dns:1.15.0\n# dnsmasq: rancher\/k8s-dns-dnsmasq-nanny:1.15.0\n# kubedns_sidecar: rancher\/k8s-dns-sidecar:1.15.0\n# kubedns_autoscaler: rancher\/cluster-proportional-autoscaler:1.7.1\n# coredns: rancher\/coredns-coredns:1.6.5\n# coredns_autoscaler: rancher\/cluster-proportional-autoscaler:1.7.1\n# nodelocal: rancher\/k8s-dns-node-cache:1.15.7\n# kubernetes: rancher\/hyperkube:v1.17.6-rancher2\n# flannel: rancher\/coreos-flannel:v0.12.0\n# flannel_cni: rancher\/flannel-cni:v0.3.0-rancher6\n# calico_node: rancher\/calico-node:v3.13.4\n# calico_cni: rancher\/calico-cni:v3.13.4\n# calico_controllers: rancher\/calico-kube-controllers:v3.13.4\n# calico_ctl: rancher\/calico-ctl:v3.13.4\n# calico_flexvol: rancher\/calico-pod2daemon-flexvol:v3.13.4\n# canal_node: rancher\/calico-node:v3.13.4\n# canal_cni: rancher\/calico-cni:v3.13.4\n# canal_flannel: rancher\/coreos-flannel:v0.12.0\n# canal_flexvol: rancher\/calico-pod2daemon-flexvol:v3.13.4\n# weave_node: weaveworks\/weave-kube:2.6.4\n# weave_cni: weaveworks\/weave-npc:2.6.4\n# pod_infra_container: rancher\/pause:3.1\n# ingress: rancher\/nginx-ingress-controller:nginx-0.32.0-rancher1\n# ingress_backend: rancher\/nginx-ingress-controller-defaultbackend:1.5-rancher1\n# metrics_server: rancher\/metrics-server:v0.3.6\n# windows_pod_infra_container: rancher\/kubelet-pause:v0.1.4\n\nservices:\n etcd:\n # if external etcd is used\n # path: \/etcdcluster\n # external_urls:\n # - https:\/\/etcd-example.com:2379\n # ca_cert: |-\n # -----BEGIN CERTIFICATE-----\n # xxxxxxxxxx\n # -----END CERTIFICATE-----\n # cert: |-\n # -----BEGIN CERTIFICATE-----\n # xxxxxxxxxx\n # -----END CERTIFICATE-----\n # key: |-\n # -----BEGIN PRIVATE KEY-----\n # xxxxxxxxxx\n # -----END PRIVATE KEY-----\n # Rancher 2\u7528\u6237\u6ce8\u610f\u4e8b\u9879\uff1a\u5982\u679c\u5728\u521b\u5efaRancher Launched Kubernetes\u65f6\u4f7f\u7528\u914d\u7f6e\u6587\u4ef6\u914d\u7f6e\u96c6\u7fa4\uff0c\u5219kube_api<\/code>\u670d\u52a1\u540d\u79f0\u5e94\u4ec5\u5305\u542b\u4e0b\u5212\u7ebf\u3002\u8fd9\u4ec5\u9002\u7528\u4e8eRancher v2.0.5\u548cv2.0.6\u3002\n\n # \u4ee5\u4e0b\u53c2\u6570\u4ec5\u652f\u6301RKE\u90e8\u7f72\u7684etcd\u96c6\u7fa4\n # \u5f00\u542f\u81ea\u52a8\u5907\u4efd\n backup_config:\n enabled: true # \u8bbe\u7f6etrue\u542f\u7528ETCD\u81ea\u52a8\u5907\u4efd\uff0c\u8bbe\u7f6efalse\u7981\u7528\uff1b\n interval_hours: 12 # \u5feb\u7167\u521b\u5efa\u95f4\u9694\u65f6\u95f4\uff0c\u4e0d\u52a0\u6b64\u53c2\u6570\uff0c\u9ed8\u8ba45\u5206\u949f\uff1b\n retention: 6 # etcd\u5907\u4efd\u4fdd\u7559\u4efd\u6570\uff1b\n# # S3\u914d\u7f6e\u9009\u9879\n# s3backupconfig:\n# access_key: "myaccesskey"\n# secret_key: "myaccesssecret"\n# bucket_name: "my-backup-bucket"\n# folder: "folder-name" # \u6b64\u53c2\u6570v2.3.0\u4e4b\u540e\u53ef\u7528\n# endpoint: "s3.eu-west-1.amazonaws.com"\n# region: "eu-west-1"\n # \u6269\u5c55\u53c2\u6570\n extra_args:\n auto-compaction-retention: 240 #(\u5355\u4f4d\u5c0f\u65f6)\n # \u4fee\u6539\u7a7a\u95f4\u914d\u989d\u4e3a$((6*1024*1024*1024))\uff0c\u9ed8\u8ba42G,\u6700\u59278G\n quota-backend-bytes: '6442450944'\n # \u6dfb\u52a0etcd\u76d1\u63a7\u5730\u5740\n listen-metrics-urls: 'http:\/\/0.0.0.0:2381'\n # \u6269\u5c55\u73af\u5883\u53d8\u91cf\n extra_env:\n - "TZ=Asia\/Shanghai"\n kube-api:\n # cluster_ip\u8303\u56f4\uff0c\u8fd9\u5fc5\u987b\u4e0ekube-controller\u4e2d\u7684service_cluster_ip_range\u5339\u914d\n service_cluster_ip_range: 10.43.0.0\/16\n # NodePort\u6620\u5c04\u7684\u7aef\u53e3\u8303\u56f4\n #service_node_port_range: 0-32767\n service_node_port_range: 30000-32767\n # Pod\u5b89\u5168\u7b56\u7565\n pod_security_policy: false\n # kubernetes API server\u6269\u5c55\u53c2\u6570\uff0c\u8fd9\u4e9b\u53c2\u6570\u5c06\u4f1a\u66ff\u6362\u9ed8\u8ba4\u503c\n extra_args:\n watch-cache: true\n default-watch-cache-size: 1500\n # \u4e8b\u4ef6\u4fdd\u7559\u65f6\u95f4\uff0c\u9ed8\u8ba41\u5c0f\u65f6\n event-ttl: 1h0m0s\n # \u9ed8\u8ba4\u503c400\uff0c\u8bbe\u7f6e0\u4e3a\u4e0d\u9650\u5236\uff0c\u4e00\u822c\u6765\u8bf4\uff0c\u6bcf25~30\u4e2aPod\u670915\u4e2a\u5e76\u884c\n max-requests-inflight: 800\n # \u9ed8\u8ba4\u503c200\uff0c\u8bbe\u7f6e0\u4e3a\u4e0d\u9650\u5236\n max-mutating-requests-inflight: 400\n # kubelet\u64cd\u4f5c\u8d85\u65f6\uff0c\u9ed8\u8ba45s\n kubelet-timeout: 5s\n # \u542f\u7528\u5ba1\u8ba1\u65e5\u5fd7\u5230\u6807\u51c6\u8f93\u51fa\n audit-log-path: "-"\n # \u589e\u52a0\u5220\u9664workers\u7684\u6570\u91cf\n delete-collection-workers: 3\n # \u5c06\u65e5\u5fd7\u8f93\u51fa\u7684\u7ea7\u522b\u8bbe\u7f6e\u4e3adebug\u6a21\u5f0f\n v: 4\n # \u6269\u5c55\u73af\u5883\u53d8\u91cf\n extra_env:\n - "TZ=Asia\/Shanghai"\n # Rancher 2\u7528\u6237\u6ce8\u610f\u4e8b\u9879\uff1a\u5982\u679c\u5728\u521b\u5efaRancher Launched Kubernetes\u65f6\u4f7f\u7528\u914d\u7f6e\u6587\u4ef6\u914d\u7f6e\u96c6\u7fa4\uff0c\u5219kube_controller<\/code>\u670d\u52a1\u540d\u79f0\u5e94\u4ec5\u5305\u542b\u4e0b\u5212\u7ebf\u3002\u8fd9\u4ec5\u9002\u7528\u4e8eRancher v2.0.5\u548cv2.0.6\u3002\n kube-controller:\n # Pods_ip\u8303\u56f4\n cluster_cidr: 10.42.0.0\/16\n # cluster_ip\u8303\u56f4\n ## \u8fd9\u5fc5\u987b\u4e0ekube-api\u4e2d\u7684service_cluster_ip_range\u76f8\u540c\n service_cluster_ip_range: 10.43.0.0\/16\n extra_args:\n # \u4fee\u6539\u6bcf\u4e2a\u8282\u70b9\u5b50\u7f51\u5927\u5c0f(cidr\u63a9\u7801\u957f\u5ea6)\uff0c\u9ed8\u8ba4\u4e3a24\uff0c\u53ef\u7528IP\u4e3a254\u4e2a\uff1b23\uff0c\u53ef\u7528IP\u4e3a510\u4e2a\uff1b22\uff0c\u53ef\u7528IP\u4e3a1022\u4e2a\uff1b\n node-cidr-mask-size: '24'\n\n # \u63a7\u5236\u5668\u5b9a\u65f6\u4e0e\u8282\u70b9\u901a\u4fe1\u4ee5\u68c0\u67e5\u901a\u4fe1\u662f\u5426\u6b63\u5e38\uff0c\u5468\u671f\u9ed8\u8ba45s\n node-monitor-period: '5s'\n ## \u5f53\u8282\u70b9\u901a\u4fe1\u5931\u8d25\u540e\uff0c\u518d\u7b49\u4e00\u6bb5\u65f6\u95f4kubernetes\u5224\u5b9a\u8282\u70b9\u4e3anotready\u72b6\u6001\u3002\n ## \u8fd9\u4e2a\u65f6\u95f4\u6bb5\u5fc5\u987b\u662fkubelet\u7684nodeStatusUpdateFrequency(\u9ed8\u8ba410s)\u7684\u6574\u6570\u500d\uff0c\n ## \u5176\u4e2dN\u8868\u793a\u5141\u8bb8kubelet\u540c\u6b65\u8282\u70b9\u72b6\u6001\u7684\u91cd\u8bd5\u6b21\u6570\uff0c\u9ed8\u8ba440s\u3002\n node-monitor-grace-period: '20s'\n ## \u518d\u6301\u7eed\u901a\u4fe1\u5931\u8d25\u4e00\u6bb5\u65f6\u95f4\u540e\uff0ckubernetes\u5224\u5b9a\u8282\u70b9\u4e3aunhealthy\u72b6\u6001\uff0c\u9ed8\u8ba41m0s\u3002\n node-startup-grace-period: '30s'\n ## \u518d\u6301\u7eed\u5931\u8054\u4e00\u6bb5\u65f6\u95f4\uff0ckubernetes\u5f00\u59cb\u8fc1\u79fb\u5931\u8054\u8282\u70b9\u7684Pod\uff0c\u9ed8\u8ba45m0s\u3002\n pod-eviction-timeout: '1m'\n\n # \u9ed8\u8ba45. \u540c\u65f6\u540c\u6b65\u7684deployment\u7684\u6570\u91cf\u3002\n concurrent-deployment-syncs: 5\n # \u9ed8\u8ba45. \u540c\u65f6\u540c\u6b65\u7684endpoint\u7684\u6570\u91cf\u3002\n concurrent-endpoint-syncs: 5\n # \u9ed8\u8ba420. \u540c\u65f6\u540c\u6b65\u7684\u5783\u573e\u6536\u96c6\u5668\u5de5\u4f5c\u5668\u7684\u6570\u91cf\u3002\n concurrent-gc-syncs: 20\n # \u9ed8\u8ba410. \u540c\u65f6\u540c\u6b65\u7684\u547d\u540d\u7a7a\u95f4\u7684\u6570\u91cf\u3002\n concurrent-namespace-syncs: 10\n # \u9ed8\u8ba45. \u540c\u65f6\u540c\u6b65\u7684\u526f\u672c\u96c6\u7684\u6570\u91cf\u3002\n concurrent-replicaset-syncs: 5\n # \u9ed8\u8ba45m0s. \u540c\u65f6\u540c\u6b65\u7684\u8d44\u6e90\u914d\u989d\u6570\u3002\uff08\u65b0\u7248\u672c\u4e2d\u5df2\u5f03\u7528\uff09\n # concurrent-resource-quota-syncs: 5m0s\n # \u9ed8\u8ba41. \u540c\u65f6\u540c\u6b65\u7684\u670d\u52a1\u6570\u3002\n concurrent-service-syncs: 1\n # \u9ed8\u8ba45. \u540c\u65f6\u540c\u6b65\u7684\u670d\u52a1\u5e10\u6237\u4ee4\u724c\u6570\u3002\n concurrent-serviceaccount-token-syncs: 5\n # \u9ed8\u8ba45. \u540c\u65f6\u540c\u6b65\u7684\u590d\u5236\u63a7\u5236\u5668\u7684\u6570\u91cf\n #concurrent-rc-syncs: 5\n # \u9ed8\u8ba430s. \u540c\u6b65deployment\u7684\u5468\u671f\u3002\n deployment-controller-sync-period: 30s\n # \u9ed8\u8ba415s\u3002\u540c\u6b65PV\u548cPVC\u7684\u5468\u671f\u3002\n pvclaimbinder-sync-period: 15s\n # \u6269\u5c55\u73af\u5883\u53d8\u91cf\n extra_env:\n - "TZ=Asia\/Shanghai"\n kubelet:\n # \u96c6\u7fa4\u641c\u7d22\u57df\n cluster_domain: cluster.local\n # \u5185\u90e8DNS\u670d\u52a1\u5668\u5730\u5740\n cluster_dns_server: 10.43.0.10\n # \u7981\u7528swap\n fail_swap_on: false\n # \u6269\u5c55\u53d8\u91cf\n extra_args:\n # \u652f\u6301\u9759\u6001Pod\u3002\u5728\u4e3b\u673a\/etc\/kubernetes\/\u76ee\u5f55\u4e0b\u521b\u5efamanifest\u76ee\u5f55\uff0cPod YAML\u6587\u4ef6\u653e\u5728\/etc\/kubernetes\/manifest\/\u76ee\u5f55\u4e0b\n pod-manifest-path: "\/etc\/kubernetes\/manifest\/"\n root-dir: "\/var\/lib\/kubelet"\n docker-root: "\/u01\/install\/docker"\n # \u6307\u5b9apause\u955c\u50cf\n pod-infra-container-image: 'rancher\/pause:3.1'\n # \u4f20\u9012\u7ed9\u7f51\u7edc\u63d2\u4ef6\u7684MTU\u503c\uff0c\u4ee5\u8986\u76d6\u9ed8\u8ba4\u503c\uff0c\u8bbe\u7f6e\u4e3a0(\u96f6)\u5219\u4f7f\u7528\u9ed8\u8ba4\u76841460\n network-plugin-mtu: '1500'\n # \u4fee\u6539\u8282\u70b9\u6700\u5927Pod\u6570\u91cf\n max-pods: "250"\n # \u5bc6\u6587\u548c\u914d\u7f6e\u6620\u5c04\u540c\u6b65\u65f6\u95f4\uff0c\u9ed8\u8ba41\u5206\u949f\n sync-frequency: '3s'\n # Kubelet\u8fdb\u7a0b\u53ef\u4ee5\u6253\u5f00\u7684\u6587\u4ef6\u6570\uff08\u9ed8\u8ba41000000\uff09,\u6839\u636e\u8282\u70b9\u914d\u7f6e\u60c5\u51b5\u8c03\u6574\n max-open-files: '2000000'\n # \u4e0eapiserver\u4f1a\u8bdd\u65f6\u7684\u5e76\u53d1\u6570\uff0c\u9ed8\u8ba4\u662f10\n kube-api-burst: '30'\n # \u4e0eapiserver\u4f1a\u8bdd\u65f6\u7684 QPS,\u9ed8\u8ba4\u662f5\uff0cQPS = \u5e76\u53d1\u91cf\/\u5e73\u5747\u54cd\u5e94\u65f6\u95f4\n kube-api-qps: '15'\n # kubelet\u9ed8\u8ba4\u4e00\u6b21\u62c9\u53d6\u4e00\u4e2a\u955c\u50cf\uff0c\u8bbe\u7f6e\u4e3afalse\u53ef\u4ee5\u540c\u65f6\u62c9\u53d6\u591a\u4e2a\u955c\u50cf\uff0c\n # \u524d\u63d0\u662f\u5b58\u50a8\u9a71\u52a8\u8981\u4e3aoverlay2\uff0c\u5bf9\u5e94\u7684Dokcer\u4e5f\u9700\u8981\u589e\u52a0\u4e0b\u8f7d\u5e76\u53d1\u6570\uff0c\u53c2\u8003[docker\u914d\u7f6e](\/rancher2x\/install-prepare\/best-practices\/docker\/)\n serialize-image-pulls: 'false'\n # \u62c9\u53d6\u955c\u50cf\u7684\u6700\u5927\u5e76\u53d1\u6570\uff0cregistry-burst\u4e0d\u80fd\u8d85\u8fc7registry-qps \uff0c\n # \u4ec5\u5f53registry-qps\u5927\u4e8e0(\u96f6)\u65f6\u751f\u6548\uff0c(\u9ed8\u8ba410)\u3002\u5982\u679cregistry-qps\u4e3a0\u5219\u4e0d\u9650\u5236(\u9ed8\u8ba45)\u3002\n registry-burst: '10'\n registry-qps: '0'\n cgroups-per-qos: 'true'\n cgroup-driver: 'cgroupfs'\n\n # \u8282\u70b9\u8d44\u6e90\u9884\u7559\n enforce-node-allocatable: 'pods'\n system-reserved: 'cpu=0.25,memory=200Mi'\n kube-reserved: 'cpu=0.25,memory=1500Mi'\n # POD\u9a71\u9010\uff0c\u8fd9\u4e2a\u53c2\u6570\u53ea\u652f\u6301\u5185\u5b58\u548c\u78c1\u76d8\u3002\n ## \u786c\u9a71\u9010\u9608\u503c\n ### \u5f53\u8282\u70b9\u4e0a\u7684\u53ef\u7528\u8d44\u6e90\u964d\u81f3\u4fdd\u7559\u503c\u4ee5\u4e0b\u65f6\uff0c\u5c31\u4f1a\u89e6\u53d1\u5f3a\u5236\u9a71\u9010\u3002\u5f3a\u5236\u9a71\u9010\u4f1a\u5f3a\u5236kill\u6389POD\uff0c\u4e0d\u4f1a\u7b49POD\u81ea\u52a8\u9000\u51fa\u3002\n eviction-hard: 'memory.available<300Mi,nodefs.available<10%,imagefs.available<15%,nodefs.inodesFree<5%'\n ## \u8f6f\u9a71\u9010\u9608\u503c\n ### \u4ee5\u4e0b\u56db\u4e2a\u53c2\u6570\u914d\u5957\u4f7f\u7528\uff0c\u5f53\u8282\u70b9\u4e0a\u7684\u53ef\u7528\u8d44\u6e90\u5c11\u4e8e\u8fd9\u4e2a\u503c\u65f6\u4f46\u5927\u4e8e\u786c\u9a71\u9010\u9608\u503c\u65f6\u5019\uff0c\u4f1a\u7b49\u5f85eviction-soft-grace-period\u8bbe\u7f6e\u7684\u65f6\u957f\uff1b\n ### \u7b49\u5f85\u4e2d\u6bcf10s\u68c0\u67e5\u4e00\u6b21\uff0c\u5f53\u6700\u540e\u4e00\u6b21\u68c0\u67e5\u8fd8\u89e6\u53d1\u4e86\u8f6f\u9a71\u9010\u9608\u503c\u5c31\u4f1a\u5f00\u59cb\u9a71\u9010\uff0c\u9a71\u9010\u4e0d\u4f1a\u76f4\u63a5Kill POD\uff0c\u5148\u53d1\u9001\u505c\u6b62\u4fe1\u53f7\u7ed9POD\uff0c\u7136\u540e\u7b49\u5f85eviction-max-pod-grace-period\u8bbe\u7f6e\u7684\u65f6\u957f\uff1b\n ### \u5728eviction-max-pod-grace-period\u65f6\u957f\u4e4b\u540e\uff0c\u5982\u679cPOD\u8fd8\u672a\u9000\u51fa\u5219\u53d1\u9001\u5f3a\u5236kill POD"\n eviction-soft: 'memory.available<500Mi,nodefs.available<50%,imagefs.available<50%,nodefs.inodesFree<10%'\n eviction-soft-grace-period: 'memory.available=1m30s,nodefs.available=2m,imagefs.available=2m,nodefs.inodesFree=2m'\n eviction-max-pod-grace-period: '30'\n eviction-pressure-transition-period: '30s'\n # \u6307\u5b9akubelet\u591a\u957f\u65f6\u95f4\u5411master\u53d1\u5e03\u4e00\u6b21\u8282\u70b9\u72b6\u6001\u3002\u6ce8\u610f: \u5b83\u5fc5\u987b\u4e0ekube-controller\u4e2d\u7684nodeMonitorGracePeriod\u4e00\u8d77\u534f\u8c03\u5de5\u4f5c\u3002(\u9ed8\u8ba4 10s)\n node-status-update-frequency: 10s\n # \u8bbe\u7f6ecAdvisor\u5168\u5c40\u7684\u91c7\u96c6\u884c\u4e3a\u7684\u65f6\u95f4\u95f4\u9694\uff0c\u4e3b\u8981\u901a\u8fc7\u5185\u6838\u4e8b\u4ef6\u6765\u53d1\u73b0\u65b0\u5bb9\u5668\u7684\u4ea7\u751f\u3002\u9ed8\u8ba41m0s\n global-housekeeping-interval: 1m0s\n # \u6bcf\u4e2a\u5df2\u53d1\u73b0\u7684\u5bb9\u5668\u7684\u6570\u636e\u91c7\u96c6\u9891\u7387\u3002\u9ed8\u8ba410s\n housekeeping-interval: 10s\n # \u6240\u6709\u8fd0\u884c\u65f6\u8bf7\u6c42\u7684\u8d85\u65f6\uff0c\u9664\u4e86\u957f\u65f6\u95f4\u8fd0\u884c\u7684 pull, logs, exec and attach\u3002\u8d85\u65f6\u540e\uff0ckubelet\u5c06\u53d6\u6d88\u8bf7\u6c42\uff0c\u629b\u51fa\u9519\u8bef\uff0c\u7136\u540e\u91cd\u8bd5\u3002(\u9ed8\u8ba42m0s)\n runtime-request-timeout: 2m0s\n # \u6307\u5b9akubelet\u8ba1\u7b97\u548c\u7f13\u5b58\u6240\u6709pod\u548c\u5377\u7684\u5377\u78c1\u76d8\u4f7f\u7528\u91cf\u7684\u95f4\u9694\u3002\u9ed8\u8ba4\u4e3a1m0s\n volume-stats-agg-period: 1m0s\n\n # \u53ef\u4ee5\u9009\u62e9\u5b9a\u4e49\u989d\u5916\u7684\u5377\u7ed1\u5b9a\u5230\u670d\u52a1\n extra_binds: []\n #- "\/usr\/libexec\/kubernetes\/kubelet-plugins:\/usr\/libexec\/kubernetes\/kubelet-plugins"\n #- "\/etc\/iscsi:\/etc\/iscsi"\n #- "\/sbin\/iscsiadm:\/sbin\/iscsiadm"\n # \u6269\u5c55\u73af\u5883\u53d8\u91cf\n extra_env:\n - "TZ=Asia\/Shanghai"\n kubeproxy:\n extra_args:\n # \u9ed8\u8ba4\u4f7f\u7528iptables\u8fdb\u884c\u6570\u636e\u8f6c\u53d1\uff0c\u5982\u679c\u8981\u542f\u7528ipvs\uff0c\u5219\u6b64\u5904\u8bbe\u7f6e\u4e3aipvs<\/code>\n proxy-mode: "ipvs"\n # \u4e0ekubernetes apiserver\u901a\u4fe1\u5e76\u53d1\u6570,\u9ed8\u8ba410\n kube-api-burst: 20\n # \u4e0ekubernetes apiserver\u901a\u4fe1\u65f6\u4f7f\u7528QPS\uff0c\u9ed8\u8ba4\u503c5\uff0cQPS=\u5e76\u53d1\u91cf\/\u5e73\u5747\u54cd\u5e94\u65f6\u95f4\n kube-api-qps: 10\n extra_binds: []\n # \u6269\u5c55\u73af\u5883\u53d8\u91cf\n extra_env:\n - "TZ=Asia\/Shanghai"\n scheduler:\n extra_args: {}\n extra_binds: []\n # \u6269\u5c55\u73af\u5883\u53d8\u91cf\n extra_env:\n - "TZ=Asia\/Shanghai"\n\n# \u76ee\u524d\uff0c\u53ea\u652f\u6301x509\u9a8c\u8bc1\n## \u60a8\u53ef\u4ee5\u9009\u62e9\u521b\u5efa\u989d\u5916\u7684SAN(\u4e3b\u673a\u540d\u6216IP)\u4ee5\u6dfb\u52a0\u5230API\u670d\u52a1\u5668PKI\u8bc1\u4e66\u3002\n## \u5982\u679c\u8981\u4e3acontrol plane servers\u4f7f\u7528\u8d1f\u8f7d\u5747\u8861\u5668\uff0c\u8fd9\u5f88\u6709\u7528\u3002\n#authentication:\n# strategy: "x509|webhook"\n# webhook:\n# config_file: "...."\n# cache_timeout: 5s\n# sans:\n# # \u6b64\u5904\u914d\u7f6e\u5907\u7528\u57df\u540d\u6216IP\uff0c\u5f53\u4e3b\u57df\u540d\u6216\u8005IP\u65e0\u6cd5\u8bbf\u95ee\u65f6\uff0c\u53ef\u901a\u8fc7\u5907\u7528\u57df\u540d\u6216IP\u8bbf\u95ee\n# - "192.168.1.100"\n# - "www.test.com"\nauthentication:\n strategy: "x509"\n sans:\n # \u6b64\u5904\u914d\u7f6e\u5907\u7528\u57df\u540d\u6216IP\uff0c\u5f53\u4e3b\u57df\u540d\u6216\u8005IP\u65e0\u6cd5\u8bbf\u95ee\u65f6\uff0c\u53ef\u901a\u8fc7\u5907\u7528\u57df\u540d\u6216IP\u8bbf\u95ee;\u63a7\u5236\u5e73\u9762\u8282\u70b9\u540d\u79f0\u548cIP\u3001localhost\u548c127.0.0.1\u3001kubernetes\u548cIP(10.43.0.1)\u3001kubernetes.default\u3001kubernetes.default.svc\u3001kubernetes.default.svc.cluster.local\u9ed8\u8ba4\u5df2\u7ecf\u5728\u5217\u8868\u4e2d\u4e86\u3002\n# Kubernetes\u8ba4\u8bc1\u6a21\u5f0f\n## Use mode: rbac<\/code> \u542f\u7528 RBAC\n## Use mode: none<\/code> \u7981\u7528 \u8ba4\u8bc1\nauthorization:\n mode: rbac\n# \u5982\u679c\u8981\u8bbe\u7f6eKubernetes\u4e91\u63d0\u4f9b\u5546\uff0c\u9700\u8981\u6307\u5b9a\u540d\u79f0\u548c\u914d\u7f6e\uff0c\u975e\u4e91\u4e3b\u673a\u5219\u7559\u7a7a\uff1b\ncloud_provider:\n# Add-ons\u662f\u901a\u8fc7kubernetes jobs\u6765\u90e8\u7f72\u3002 \u5728\u8d85\u65f6\u540e\uff0cRKE\u5c06\u653e\u5f03\u91cd\u8bd5\u83b7\u53d6job\u72b6\u6001\u3002\u4ee5\u79d2\u4e3a\u5355\u4f4d\u3002\naddon_job_timeout: 0\n# \u6709\u51e0\u4e2a\u7f51\u7edc\u63d2\u4ef6\u53ef\u4ee5\u9009\u62e9\uff1aflannel\u3001canal\u3001calico<\/code>\uff0cRancher2\u9ed8\u8ba4canal;\u5982\u679c\u7981\u7528\uff0c\u8bbe\u7f6e\u4e3anone\nnetwork:\n # rke v1.0.4+ \u53ef\u7528\uff0c\u5982\u679c\u9009\u62e9canal\u7f51\u7edc\u9a71\u52a8\uff0c\u9700\u8981\u8bbe\u7f6emtu\u4e3a1450\n # mtu: 1450 \n # plugin: canal\n # options:\n # flannel_backend_type: "vxlan"\n plugin: calico\n# \u76ee\u524d\u53ea\u652f\u6301nginx ingress controller\n## \u53ef\u4ee5\u8bbe\u7f6eprovider: none<\/code>\u6765\u7981\u7528ingress controller\ningress:\n provider: nginx\n node_selector:\n ingress: true\n# \u914d\u7f6edns\u4e0a\u6e38dns\u670d\u52a1\u5668\n## \u53ef\u7528rke\u7248\u672c v0.2.0\ndns:\n provider: coredns\n upstreamnameservers:\n - 114.114.114.114\n node_selector:\n dns: true\n# \u5b89\u88c5\u9644\u52a0\u5e94\u7528\n## \u6240\u6709\u9644\u52a0\u5e94\u7528\u90fd\u5fc5\u987b\u6307\u5b9a\u547d\u540d\u7a7a\u95f4\n#addons: |-\n# ---\n# apiVersion: v1\n# kind: Pod\n# metadata:\n# name: nginx-demo\n# namespace: default\n# spec:\n# containers:\n# - image: nginx:alpine\n# imagePullPolicy: IfNotPresent\n# name: alpine\n# ports:\n# - containerPort: 80\n#\n#addons_include:\n# - https:\/\/raw.githubusercontent.com\/rook\/rook\/master\/cluster\/examples\/kubernetes\/rook-operator.yml\n# - https:\/\/raw.githubusercontent.com\/rook\/rook\/master\/cluster\/examples\/kubernetes\/rook-cluster.yml\n# - \/path\/to\/manifest\n<\/code><\/pre>\n