├── LICENSE ├── Makefile ├── README.md ├── README0.1.md ├── README0.2.md ├── README0.3.md ├── README0.4.md ├── README0.5.md ├── README0.6.md ├── README0.7-jp.md ├── README0.7-zh-hk.md ├── README0.7-zh.md ├── README0.7.md ├── README0.8-jp.md ├── README0.8-zh-hk.md ├── README0.8-zh.md ├── README0.8.md ├── README0.9-jp.md ├── README0.9-zh-hk.md ├── README0.9-zh.md ├── README0.9.md ├── config └── kube-install.service ├── data ├── .key │ └── admin ├── config │ ├── language.txt │ └── tools.txt ├── logs │ └── kubeinstalld │ │ └── date_20240403_173812.log ├── msg │ └── msg.txt └── statistics │ ├── cpuinfo.txt │ ├── diskinfo.txt │ ├── k8snum.txt │ ├── k8staglist.txt │ ├── labellist.txt │ ├── meminfo.txt │ ├── nodenumlist.txt │ ├── schedulelist.txt │ ├── stuinstall.txt │ ├── stunotok.txt │ ├── stuok.txt │ ├── stuuninstall.txt │ └── stuunkonw.txt ├── docs ├── architecture0.8.md ├── build.md ├── component0.9.md ├── images │ ├── architecture1.jpg │ ├── architecture2.jpg │ ├── download-pkg.jpg │ ├── kube-dashboard1.jpg │ ├── kube-dashboard3.jpg │ ├── kube-dashboard4.jpg │ ├── kube-install-arch-1.jpg │ ├── kube-install-arch-2.jpg │ ├── kube-install-arch-3.jpg │ ├── kube-install-arch-4.jpg │ ├── kube-install-arch-5.jpg │ ├── kube-install-logo.jpg │ ├── loginkey.jpg │ ├── loginkey2.jpg │ ├── schedule001.jpg │ ├── schedule002.jpg │ ├── webinstall001.jpg │ ├── webinstall002.jpg │ ├── webinstall003.png │ ├── webinstall004.jpg │ ├── webnodeadd001.jpg │ ├── webssh001.jpg │ ├── webssh002.jpg │ └── webssh003.jpg ├── operation.md ├── operation0.4.md ├── operation0.6.md ├── operation0.7-zh.md ├── operation0.7.md ├── os-support.md ├── parameters0.1.md ├── parameters0.2.md ├── parameters0.3.md ├── parameters0.4.md ├── parameters0.5.md ├── parameters0.6.md ├── parameters0.7.md ├── parameters0.8.md ├── roadmap.md ├── schedule0.7.md ├── systemd0.7.md ├── webinstall0.7-zh.md ├── webinstall0.7.md ├── webssh0.7.md └── webssh0.8.md ├── go.mod ├── go.sum ├── lib ├── check.go ├── common.go ├── core.go ├── cryption.go ├── daemon.go ├── db.go ├── gencfg.go ├── help.go ├── k8s.go ├── layout.go ├── logs.go ├── paracon.go ├── scheduler.go ├── ssh.go ├── systemd.go ├── tools.go ├── udsys.go └── version.go ├── main.go ├── static ├── html │ ├── 403.html │ ├── 404.html │ ├── calendarscheduler.tmpl │ ├── cluster.tmpl │ ├── clusteradd.tmpl │ ├── clusterdel.tmpl │ ├── clusterinfo.tmpl │ ├── deleteschedule.tmpl │ ├── index.tmpl │ ├── login.tmpl │ ├── loginset.tmpl │ ├── logs.tmpl │ ├── master.tmpl │ ├── masterinfo.tmpl │ ├── node.tmpl │ ├── nodeinfo.tmpl │ ├── optresult.tmpl │ ├── tools.tmpl │ └── userinfo.tmpl └── staticfs │ ├── css │ ├── colorbox.css │ ├── colorpicker.css │ ├── fonts.css │ ├── fullcalendar.css │ ├── fullcalendar.min.css │ ├── fullcalendar.print.min.css │ ├── jquery.cleditor.css │ ├── normalize.css │ ├── style.css │ └── tipsy.css │ ├── img │ ├── Button │ │ ├── calendar.png │ │ ├── close01.jpg │ │ ├── close02.jpg │ │ ├── close03.png │ │ ├── k8s.png │ │ ├── result01.png │ │ ├── result02.png │ │ ├── sshkey.png │ │ └── useradmin.png │ ├── ColorBox │ │ ├── border.png │ │ ├── controls.png │ │ ├── ie6 │ │ │ ├── borderBottomCenter.png │ │ │ ├── borderBottomLeft.png │ │ │ ├── borderBottomRight.png │ │ │ ├── borderMiddleLeft.png │ │ │ ├── borderMiddleRight.png │ │ │ ├── borderTopCenter.png │ │ │ ├── borderTopLeft.png │ │ │ └── borderTopRight.png │ │ ├── loading.gif │ │ ├── loading_background.png │ │ └── overlay.png │ ├── ColorPicker │ │ ├── blank.gif │ │ ├── colorpicker_background.png │ │ ├── colorpicker_hex.png │ │ ├── colorpicker_hsb_b.png │ │ ├── colorpicker_hsb_h.png │ │ ├── colorpicker_hsb_s.png │ │ ├── colorpicker_indic.gif │ │ ├── colorpicker_overlay.png │ │ ├── colorpicker_rgb_b.png │ │ ├── colorpicker_rgb_g.png │ │ ├── colorpicker_rgb_r.png │ │ ├── colorpicker_select.gif │ │ ├── colorpicker_submit.png │ │ ├── custom_background.png │ │ ├── custom_hex.png │ │ ├── custom_hsb_b.png │ │ ├── custom_hsb_h.png │ │ ├── custom_hsb_s.png │ │ ├── custom_indic.gif │ │ ├── custom_rgb_b.png │ │ ├── custom_rgb_g.png │ │ ├── custom_rgb_r.png │ │ ├── custom_submit.png │ │ ├── select.png │ │ ├── select2.png │ │ └── slider.png │ ├── Icons │ │ ├── 16 │ │ │ ├── i_16_add.png │ │ │ ├── i_16_bars.png │ │ │ ├── i_16_bottom_arrow.png │ │ │ ├── i_16_cHorizontal.png │ │ │ ├── i_16_calendar.png │ │ │ ├── i_16_charts.png │ │ │ ├── i_16_chats.png │ │ │ ├── i_16_checked.png │ │ │ ├── i_16_close.png │ │ │ ├── i_16_cluster.png │ │ │ ├── i_16_dashboard.png │ │ │ ├── i_16_data.png │ │ │ ├── i_16_down.png │ │ │ ├── i_16_downT.png │ │ │ ├── i_16_files.png │ │ │ ├── i_16_forms.png │ │ │ ├── i_16_help.png │ │ │ ├── i_16_icons.png │ │ │ ├── i_16_k8s.png │ │ │ ├── i_16_login.png │ │ │ ├── i_16_logout.png │ │ │ ├── i_16_logs.png │ │ │ ├── i_16_master.png │ │ │ ├── i_16_message.png │ │ │ ├── i_16_node.png │ │ │ ├── i_16_notes.png │ │ │ ├── i_16_options.png │ │ │ ├── i_16_pacman.png │ │ │ ├── i_16_pages.png │ │ │ ├── i_16_pie.png │ │ │ ├── i_16_profile.png │ │ │ ├── i_16_progress.png │ │ │ ├── i_16_radio.png │ │ │ ├── i_16_resize.png │ │ │ ├── i_16_selector.png │ │ │ ├── i_16_settings.png │ │ │ ├── i_16_settings_small.png │ │ │ ├── i_16_sorting.png │ │ │ ├── i_16_sorting_asc.png │ │ │ ├── i_16_sorting_desc.png │ │ │ ├── i_16_spinner.png │ │ │ ├── i_16_table.png │ │ │ ├── i_16_tables.png │ │ │ ├── i_16_tabs.png │ │ │ ├── i_16_tasks.png │ │ │ ├── i_16_tools.png │ │ │ ├── i_16_tooltip.png │ │ │ ├── i_16_ui.png │ │ │ ├── i_16_up.png │ │ │ ├── i_16_valid.png │ │ │ └── i_16_wysiwyg.png │ │ ├── 18 │ │ │ └── i_18_search.png │ │ ├── 22 │ │ │ ├── i_22_cluster.png │ │ │ ├── i_22_dashboard.png │ │ │ ├── i_22_logs.png │ │ │ ├── i_22_master.png │ │ │ ├── i_22_node.png │ │ │ ├── i_22_pages.png │ │ │ ├── i_22_search.png │ │ │ ├── i_22_settings.png │ │ │ ├── i_22_tools.png │ │ │ └── i_22_upload.png │ │ ├── 32 │ │ │ ├── i_32_cluster.png │ │ │ ├── i_32_cn.png │ │ │ ├── i_32_dashboard.png │ │ │ ├── i_32_delivery.png │ │ │ ├── i_32_dollar.png │ │ │ ├── i_32_en.png │ │ │ ├── i_32_info.png │ │ │ ├── i_32_logs.png │ │ │ ├── i_32_master.png │ │ │ ├── i_32_node.png │ │ │ ├── i_32_notinstall.png │ │ │ ├── i_32_notok.png │ │ │ ├── i_32_ok.png │ │ │ ├── i_32_statistic.png │ │ │ ├── i_32_support.png │ │ │ ├── i_32_tools.png │ │ │ ├── i_32_ttydisable.png │ │ │ ├── i_32_ttyenable.png │ │ │ ├── i_32_unknow.png │ │ │ └── i_32_user.png │ │ ├── Load │ │ │ ├── load-1.gif │ │ │ ├── load-10.gif │ │ │ ├── load-11.gif │ │ │ ├── load-12.gif │ │ │ ├── load-13.gif │ │ │ ├── load-14.gif │ │ │ ├── load-2.gif │ │ │ ├── load-3.gif │ │ │ ├── load-4.gif │ │ │ ├── load-5.gif │ │ │ ├── load-6.gif │ │ │ ├── load-7.gif │ │ │ ├── load-8.gif │ │ │ └── load-9.gif │ │ └── Preview │ │ │ ├── adidas_shirt.png │ │ │ ├── analysis_analytics.png │ │ │ ├── barcode_2.png │ │ │ ├── battery_emtpy_0_percent.png │ │ │ ├── beer_glass.png │ │ │ ├── books_multiple.png │ │ │ ├── chair_furniture.png │ │ │ ├── chat_talk_speak.png │ │ │ ├── clock_alarm.png │ │ │ ├── clock_disable.png │ │ │ ├── clock_enable.png │ │ │ ├── clock_time_watch.png │ │ │ ├── cloud_upload_arrow.png │ │ │ ├── cloudy_rain_sun.png │ │ │ ├── coda_leaf_nature.png │ │ │ ├── contact_card_2.png │ │ │ ├── cover_flow.png │ │ │ ├── date_calendar.png │ │ │ ├── directions_sign.png │ │ │ ├── download_2.png │ │ │ ├── e.png │ │ │ ├── email_envelope.png │ │ │ ├── excel_spreasheet_2.png │ │ │ ├── expand_left.png │ │ │ ├── file.png │ │ │ ├── film_movie_clip.png │ │ │ ├── film_movie_clip_2.png │ │ │ ├── film_record.png │ │ │ ├── finish_line.png │ │ │ ├── folder_locked.png │ │ │ ├── folder_music.png │ │ │ ├── foot_steps_feet.png │ │ │ ├── hd_high_definition_2.png │ │ │ ├── house_home_building.png │ │ │ ├── image_landscape.png │ │ │ ├── inbox_4.png │ │ │ ├── inbox_outbox.png │ │ │ ├── ipod_classic.png │ │ │ ├── key_password.png │ │ │ ├── lemonade_stand_shop.png │ │ │ ├── light_buld_idea.png │ │ │ ├── like_thumbs_up.png │ │ │ ├── link_seo.png │ │ │ ├── money_coins_cash.png │ │ │ ├── paper_camera_file.png │ │ │ ├── paypal_2.png │ │ │ ├── photography_camera.png │ │ │ ├── plane.png │ │ │ ├── power_chord.png │ │ │ ├── price_money_tag.png │ │ │ ├── screen_monitor_computer.png │ │ │ ├── shopping_cart.png │ │ │ ├── shopping_cart_webshop.png │ │ │ └── speak_yell_blog_advertising.png │ ├── Pages │ │ ├── 403.png │ │ └── 404.png │ ├── Patterns │ │ ├── pattern1.png │ │ ├── pattern2.png │ │ ├── pattern3.png │ │ ├── pattern4.png │ │ ├── pattern5.png │ │ └── pattern6.png │ ├── Textures │ │ ├── buttons.gif │ │ ├── drop_menu.png │ │ ├── orders_stats.png │ │ ├── pattern1.png │ │ ├── pattern2.png │ │ ├── pattern3.png │ │ ├── pattern4.png │ │ ├── pattern5.png │ │ ├── pattern6.png │ │ ├── separator_circle.png │ │ ├── separator_line.png │ │ ├── separator_long.png │ │ ├── separator_menu.png │ │ ├── separator_short.png │ │ ├── small_count.png │ │ ├── tickets_stats.png │ │ ├── toolbar.gif │ │ ├── top_panel.png │ │ ├── top_search_input.png │ │ ├── top_search_submit.png │ │ ├── top_tooltip.png │ │ ├── top_tooltip_arrow.png │ │ ├── users_stats.png │ │ ├── visitor_stats.png │ │ └── wHead.png │ ├── favicon.ico │ ├── kubeinstall_logo.png │ └── user_avatar.png │ └── js │ ├── ClEditor │ └── jquery.cleditor.js │ ├── ColResizable │ └── colResizable-1.3.js │ ├── ColorBox │ └── jquery.colorbox.js │ ├── ColorPicker │ └── colorpicker.js │ ├── DataTables │ └── jquery.dataTables.min.js │ ├── Echarts │ └── echarts.min.js │ ├── Elastic │ └── jquery.elastic.js │ ├── Flot │ ├── excanvas.js │ ├── jquery.flot.js │ ├── jquery.flot.pie.js │ └── jquery.flot.resize.js │ ├── FullCalendar │ ├── fullcalendar-3.2.0.min.js │ ├── fullcalendar.js │ └── locale-zh-cn-3.2.0.js │ ├── MaskedInput │ └── jquery.maskedinput-1.3.js │ ├── Moment │ └── moment.min.js │ ├── SuperTextarea │ └── jquery.supertextarea.min.js │ ├── Tipsy │ └── jquery.tipsy.js │ ├── UISpinner │ └── ui.spinner.js │ ├── Uniform │ └── jquery.uniform.js │ ├── jQuery │ ├── jquery-1.7.2.min.js │ └── jquery-1.9.1.js │ ├── jQueryUI │ ├── jquery-ui-1.10.2.js │ └── jquery-ui-1.8.21.min.js │ ├── kubeinstall.js │ └── laydate │ ├── laydate.js │ └── theme │ └── default │ ├── font │ ├── iconfont.eot │ ├── iconfont.svg │ ├── iconfont.ttf │ └── iconfont.woff │ └── laydate.css ├── sys ├── 0x00000000000ssh │ ├── sshkey-init.sh │ └── sshops-init.sh ├── 0x0000000000base │ ├── all │ │ ├── tasks │ │ │ └── main.yml │ │ └── templates │ │ │ ├── 99-prophet.conf │ │ │ ├── ipvs.modules │ │ │ ├── kube-install-ttyd.service │ │ │ ├── kubernetes.conf │ │ │ └── preinstall.sh.j2 │ ├── genfile │ │ └── tasks │ │ │ └── main.yml │ ├── kernel │ │ ├── tasks │ │ │ └── main.yml │ │ └── templates │ │ │ └── updategrub.sh.j2 │ └── runtime │ │ ├── tasks │ │ └── main.yml │ │ └── templates │ │ ├── config.toml.j2 │ │ ├── containerd.service │ │ ├── ipvsinit.service │ │ └── ipvsinit.sh.j2 ├── 0x0000000000node │ ├── approve-csr │ │ └── tasks │ │ │ └── main.yml │ ├── kube-proxy │ │ ├── tasks │ │ │ └── main.yml │ │ └── templates │ │ │ ├── kube-proxy.config.yaml.j2 │ │ │ └── kube-proxy.service.j2 │ └── kubelet │ │ ├── tasks │ │ └── main.yml │ │ └── templates │ │ ├── kubelet.config.json-1.24.j2 │ │ ├── kubelet.config.json-1.25.j2 │ │ ├── kubelet.config.json-1.26.j2 │ │ ├── kubelet.config.json-1.27.j2 │ │ ├── kubelet.config.json-1.28.j2 │ │ ├── kubelet.config.json-1.29.j2 │ │ ├── kubelet.service-1.24.j2 │ │ ├── kubelet.service-1.25.j2 │ │ ├── kubelet.service-1.26.j2 │ │ ├── kubelet.service-1.27.j2 │ │ ├── kubelet.service-1.28.j2 │ │ ├── kubelet.service-1.29.j2 │ │ └── resolvinit.sh ├── 0x00000000action │ ├── cleargarbage │ │ └── tasks │ │ │ └── main.yml │ ├── delmaster │ │ └── tasks │ │ │ └── main.yml │ ├── delnode │ │ └── tasks │ │ │ └── main.yml │ └── pushimages │ │ └── tasks │ │ └── main.yml ├── 0x00000000addons │ ├── tasks │ │ └── main.yml │ └── templates │ │ ├── 1.coredns │ │ └── coredns.yaml.j2 │ │ ├── 2.dashboard │ │ ├── dashboardnot.sh │ │ ├── dashboardtoken.sh │ │ └── kubernetes-dashboard.yaml.j2 │ │ ├── 3.metrics-server │ │ └── metrics-server-deployment.yaml.j2 │ │ ├── 4.traefik │ │ ├── traefik-config.yaml │ │ ├── traefik-ds.yaml.j2 │ │ ├── traefik-rbac.yaml │ │ ├── traefik-ui.yaml-1.24.j2 │ │ ├── traefik-ui.yaml-1.25.j2 │ │ ├── traefik-ui.yaml-1.26.j2 │ │ ├── traefik-ui.yaml-1.27.j2 │ │ ├── traefik-ui.yaml-1.28.j2 │ │ └── traefik-ui.yaml-1.29.j2 │ │ ├── 5.heapster │ │ ├── heapster-Deployment.yaml.j2 │ │ ├── heapster-ServiceAccount.yaml │ │ ├── heapster-rbac.yaml │ │ └── heapster-svc.yaml │ │ └── 6.registry │ │ └── docker-registry.yaml.j2 ├── 0x00000000finish │ ├── addnode │ │ └── tasks │ │ │ └── main.yml │ ├── install │ │ └── tasks │ │ │ └── main.yml │ └── templates │ │ └── tempreboot.sh ├── 0x00000000master │ ├── admintoken │ │ ├── tasks │ │ │ └── main.yml │ │ └── templates │ │ │ └── loginkey.txt.j2 │ ├── api-rbac │ │ └── tasks │ │ │ └── main.yml │ ├── apiserver │ │ ├── tasks │ │ │ └── main.yml │ │ └── templates │ │ │ ├── kube-apiserver.service-1.24.j2 │ │ │ ├── kube-apiserver.service-1.25.j2 │ │ │ ├── kube-apiserver.service-1.26.j2 │ │ │ ├── kube-apiserver.service-1.27.j2 │ │ │ ├── kube-apiserver.service-1.28.j2 │ │ │ └── kube-apiserver.service-1.29.j2 │ ├── controller-manager │ │ ├── tasks │ │ │ └── main.yml │ │ └── templates │ │ │ ├── kube-controller-manager.service-1.24.j2 │ │ │ ├── kube-controller-manager.service-1.25.j2 │ │ │ ├── kube-controller-manager.service-1.26.j2 │ │ │ ├── kube-controller-manager.service-1.27.j2 │ │ │ ├── kube-controller-manager.service-1.28.j2 │ │ │ └── kube-controller-manager.service-1.29.j2 │ ├── kubectl │ │ └── tasks │ │ │ └── main.yml │ └── scheduler │ │ ├── tasks │ │ └── main.yml │ │ └── templates │ │ ├── kube-scheduler.service-1.24.j2 │ │ ├── kube-scheduler.service-1.25.j2 │ │ ├── kube-scheduler.service-1.26.j2 │ │ ├── kube-scheduler.service-1.27.j2 │ │ ├── kube-scheduler.service-1.28.j2 │ │ └── kube-scheduler.service-1.29.j2 ├── 0x0000000network │ ├── calico │ │ ├── tasks │ │ │ └── main.yml │ │ └── templates │ │ │ └── calico.yaml.j2 │ ├── cilium │ │ ├── tasks │ │ │ └── main.yml │ │ └── templates │ │ │ └── cilium.yaml.j2 │ ├── flannel │ │ ├── tasks │ │ │ └── main.yml │ │ └── templates │ │ │ └── flannel.yaml.j2 │ ├── kuberouter │ │ ├── tasks │ │ │ └── main.yml │ │ └── templates │ │ │ └── kube-router.yaml.j2 │ └── weave │ │ ├── tasks │ │ └── main.yml │ │ └── templates │ │ └── weave.yaml.j2 ├── 0x0000000storage │ ├── tasks │ │ └── main.yml │ └── templates │ │ ├── etcd.service.j2 │ │ └── etcdmember.sh.j2 └── 0x000certificate │ ├── copycfssl │ ├── tasks │ │ └── main.yml │ └── templates │ │ ├── admin-csr.json │ │ ├── apiserver-to-kubelet.yaml │ │ ├── audit-policy.yaml │ │ ├── cert-renew-rbac.yaml │ │ ├── ipvsinit_ep.yaml.j2 │ │ ├── ipvsinit_svc.yaml.j2 │ │ ├── k8s-gencert.json │ │ ├── k8s-root-ca-csr.json │ │ ├── kube-proxy-csr.json │ │ ├── kubernetes-csr.json.j2 │ │ └── token.csv │ ├── createssl │ └── tasks │ │ └── main.yml │ └── fetchssl │ └── tasks │ └── main.yml └── yaml └── myapp-example.yaml /Makefile: -------------------------------------------------------------------------------- 1 | NAME=kube-install 2 | VERSION=v0.7.0 3 | 4 | all:kube-install 5 | 6 | kube-install: 7 | @echo Start building kube-install. 8 | go build -o $(NAME) 9 | @echo Finished building. 10 | 11 | -------------------------------------------------------------------------------- /config/kube-install.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=The highly available multiple kubernetes cluster can be installed offline with one click. 3 | Documentation=https://cloudnativer.github.io 4 | After=sshd.service 5 | Requires=sshd.service 6 | 7 | [Service] 8 | Environment="USER=root" 9 | ExecStart=/go/src/kube-install/kube-install -daemon 10 | User=root 11 | PrivateTmp=true 12 | LimitNOFILE=65536 13 | TimeoutStartSec=5 14 | RestartSec=10 15 | Restart=always 16 | 17 | [Install] 18 | WantedBy=multi-user.target 19 | 20 | -------------------------------------------------------------------------------- /data/.key/admin: -------------------------------------------------------------------------------- 1 | bSQLyVJArQH5y0uMIN8GSQ== -------------------------------------------------------------------------------- /data/config/language.txt: -------------------------------------------------------------------------------- 1 | en -------------------------------------------------------------------------------- /data/config/tools.txt: -------------------------------------------------------------------------------- 1 | on,on,on,off -------------------------------------------------------------------------------- /data/logs/kubeinstalld/date_20240403_173812.log: -------------------------------------------------------------------------------- 1 | [Error] 2024-04-03 18:15:57.434547343 +0800 CST m=+2265.311020365 An error occurred: open /go/src/kube-install/data/output/k8s-test-002/masters: no such file or directory 2 | [Error] 2024-04-03 18:15:57.437687442 +0800 CST m=+2265.314160485 An error occurred: open /go/src/kube-install/data/output/k8s-test-002/masters: no such file or directory 3 | [Error] 2024-04-03 18:15:58.894290046 +0800 CST m=+2266.770763077 An error occurred: open /go/src/kube-install/data/output/k8s-test-002/nodes: no such file or directory 4 | -------------------------------------------------------------------------------- /data/msg/msg.txt: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /data/statistics/cpuinfo.txt: -------------------------------------------------------------------------------- 1 | 2 -------------------------------------------------------------------------------- /data/statistics/diskinfo.txt: -------------------------------------------------------------------------------- 1 | 32 -------------------------------------------------------------------------------- /data/statistics/k8snum.txt: -------------------------------------------------------------------------------- 1 | 0 -------------------------------------------------------------------------------- /data/statistics/k8staglist.txt: -------------------------------------------------------------------------------- 1 | ,12211,12291,12213,12281 -------------------------------------------------------------------------------- /data/statistics/labellist.txt: -------------------------------------------------------------------------------- 1 | ,,,, -------------------------------------------------------------------------------- /data/statistics/meminfo.txt: -------------------------------------------------------------------------------- 1 | 7 -------------------------------------------------------------------------------- /data/statistics/nodenumlist.txt: -------------------------------------------------------------------------------- 1 | ,,,, -------------------------------------------------------------------------------- /data/statistics/schedulelist.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/data/statistics/schedulelist.txt -------------------------------------------------------------------------------- /data/statistics/stuinstall.txt: -------------------------------------------------------------------------------- 1 | 0E+00 -------------------------------------------------------------------------------- /data/statistics/stunotok.txt: -------------------------------------------------------------------------------- 1 | 0E+00 -------------------------------------------------------------------------------- /data/statistics/stuok.txt: -------------------------------------------------------------------------------- 1 | 0E+00 -------------------------------------------------------------------------------- /data/statistics/stuuninstall.txt: -------------------------------------------------------------------------------- 1 | 0E+00 -------------------------------------------------------------------------------- /data/statistics/stuunkonw.txt: -------------------------------------------------------------------------------- 1 | 1E+02 -------------------------------------------------------------------------------- /docs/architecture0.8.md: -------------------------------------------------------------------------------- 1 | 2 | # kube-install cluster architecture description 3 | 4 |
5 | 6 | The `./data/` directory is used to store all status information of `kube-install`, including configuration information of all kubernetes clusters. You can share the `./data/` directory through file storage, so as to realize active and standby or load balancing cluster. 7 | 8 |
9 | 10 | ## Active/standby architecture 11 | 12 |
13 | 14 | You can use software such as `Keepalived` or `Heartbeat` to detect and switch between `active and standby`. 15 | 16 | ![architecture](images/architecture1.jpg) 17 | 18 |
19 |
20 | 21 | ## Load balancing architecture 22 | 23 |
24 | 25 | You can use `LVS`, `Nginx` or `Haproxy` software to achieve `load balancing` and cluster switching. 26 | 27 | ![architecture](images/architecture2.jpg) 28 | 29 |
30 |
31 |
32 | -------------------------------------------------------------------------------- /docs/build.md: -------------------------------------------------------------------------------- 1 | # How to build it? 2 |
3 | 4 | First, make sure the docker and git commands are installed locally. 5 | 6 |
7 | 8 | Then, use the following command to download the code locally: 9 | 10 | ``` 11 | # git clone https://github.com/cloudnativer/kube-install.git 12 | ``` 13 | 14 | Enter `kube-install` directory, executing the `make` command: 15 | 16 | ``` 17 | # cd kube-install 18 | # make 19 | ``` 20 | 21 | The above command will automatically complete the build operation. 22 | After building, there is a file named `kube-install` in the current directory. `kube-install` file is binary executable file, run the command `kube-install -help` and start the kubernetes journey. 23 |
24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/images/architecture1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/docs/images/architecture1.jpg -------------------------------------------------------------------------------- /docs/images/architecture2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/docs/images/architecture2.jpg -------------------------------------------------------------------------------- /docs/images/download-pkg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/docs/images/download-pkg.jpg -------------------------------------------------------------------------------- /docs/images/kube-dashboard1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/docs/images/kube-dashboard1.jpg -------------------------------------------------------------------------------- /docs/images/kube-dashboard3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/docs/images/kube-dashboard3.jpg -------------------------------------------------------------------------------- /docs/images/kube-dashboard4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/docs/images/kube-dashboard4.jpg -------------------------------------------------------------------------------- /docs/images/kube-install-arch-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/docs/images/kube-install-arch-1.jpg -------------------------------------------------------------------------------- /docs/images/kube-install-arch-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/docs/images/kube-install-arch-2.jpg -------------------------------------------------------------------------------- /docs/images/kube-install-arch-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/docs/images/kube-install-arch-3.jpg -------------------------------------------------------------------------------- /docs/images/kube-install-arch-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/docs/images/kube-install-arch-4.jpg -------------------------------------------------------------------------------- /docs/images/kube-install-arch-5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/docs/images/kube-install-arch-5.jpg -------------------------------------------------------------------------------- /docs/images/kube-install-logo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/docs/images/kube-install-logo.jpg -------------------------------------------------------------------------------- /docs/images/loginkey.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/docs/images/loginkey.jpg -------------------------------------------------------------------------------- /docs/images/loginkey2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/docs/images/loginkey2.jpg -------------------------------------------------------------------------------- /docs/images/schedule001.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/docs/images/schedule001.jpg -------------------------------------------------------------------------------- /docs/images/schedule002.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/docs/images/schedule002.jpg -------------------------------------------------------------------------------- /docs/images/webinstall001.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/docs/images/webinstall001.jpg -------------------------------------------------------------------------------- /docs/images/webinstall002.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/docs/images/webinstall002.jpg -------------------------------------------------------------------------------- /docs/images/webinstall003.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/docs/images/webinstall003.png -------------------------------------------------------------------------------- /docs/images/webinstall004.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/docs/images/webinstall004.jpg -------------------------------------------------------------------------------- /docs/images/webnodeadd001.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/docs/images/webnodeadd001.jpg -------------------------------------------------------------------------------- /docs/images/webssh001.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/docs/images/webssh001.jpg -------------------------------------------------------------------------------- /docs/images/webssh002.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/docs/images/webssh002.jpg -------------------------------------------------------------------------------- /docs/images/webssh003.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/docs/images/webssh003.jpg -------------------------------------------------------------------------------- /docs/os-support.md: -------------------------------------------------------------------------------- 1 | 2 | # List of operation distributions supported 3 | 4 |
5 | 6 | List of operation distributions supported by kube-install: 7 | 8 |
9 | 10 | ``` 11 | CentOS Linux release 7.0 12 | CentOS Linux release 7.1 13 | CentOS Linux release 7.2 14 | CentOS Linux release 7.3 15 | CentOS Linux release 7.4 16 | CentOS Linux release 7.5 17 | CentOS Linux release 7.6 18 | CentOS Linux release 7.7 19 | CentOS Linux release 7.8 20 | CentOS Linux release 8.0 21 | CentOS Linux release 8.1 22 | CentOS Linux release 8.2 23 | CentOS Linux release 8.3 24 | Red Hat Enterprise Linux(RHEL) 7.0 25 | Red Hat Enterprise Linux(RHEL) 7.1 26 | Red Hat Enterprise Linux(RHEL) 7.2 27 | Red Hat Enterprise Linux(RHEL) 7.3 28 | Red Hat Enterprise Linux(RHEL) 7.4 29 | Red Hat Enterprise Linux(RHEL) 7.5 30 | Red Hat Enterprise Linux(RHEL) 7.6 31 | Red Hat Enterprise Linux(RHEL) 7.7 32 | Red Hat Enterprise Linux(RHEL) 7.8 33 | Red Hat Enterprise Linux(RHEL) 8.0 34 | Red Hat Enterprise Linux(RHEL) 8.1 35 | Red Hat Enterprise Linux(RHEL) 8.2 36 | Red Hat Enterprise Linux(RHEL) 8.3 37 | Red Hat Enterprise Linux(RHEL) 8.4 38 | Red Hat Enterprise Linux(RHEL) 8.5 39 | Ubuntu Server 20.* 40 | OpenSUSE Linux 15.1 41 | OpenSUSE Linux 15.2 42 | OpenSUSE Linux 15.3 43 | ``` 44 | 45 |
46 | 47 | Notice: We have not tested it on other versions of OS, so we can not ensure that kube-install can be successfully installed on other versions of OS. 48 |
We may support them in the future. 49 |
50 | 51 | -------------------------------------------------------------------------------- /docs/parameters0.2.md: -------------------------------------------------------------------------------- 1 |
Parameter introduction of kube-install

2 |
3 | Introduction:
4 |
5 | The parameters about kube-install can be viewed using the "kube-install help" or "kube-install -opt help" command.
6 | 7 | 8 | 9 | 31 | 32 | 52 | 53 |
# kube-install -opt help
10 |
11 | Usage of kube-install: -opt [OPTIONS] COMMAND [ARGS]...
12 |
13 | Options:
14 |
15 | init Initialize the system environment.
16 | install Install k8s cluster.
17 | addnode Add k8s-node to the cluster.
18 | delnode Remove the k8s-node from the cluster.
19 | rebuildmaster Rebuild the damaged k8s-master.
20 | delmaster Remove the k8s-master from the cluster.
21 | help Display help information.
22 |
23 | Commands:
24 |
25 | master The IP address of k8s-master server.
26 | mastervip K8s-master cluster virtual IP address.
27 | node The IP address of k8s-node server.
28 | sshpwd SSH login root password of each server.
29 |
30 |
33 |
34 | For example:
35 |
36 | Initialize the system environment:
37 | kube-install -opt init
38 | Install k8s cluster:
39 | kube-install -opt install -master "192.168.1.11,192.168.1.12,192.168.1.13" -node "192.168.1.11,192.168.1.12,192.168.1.13,192.168.1.14" -mastervip "192.168.1.88" -sshpwd "cloudnativer"
40 | Add k8s-node to the cluster:
41 | kube-install -opt addnode -node "192.168.1.15,192.168.1.16" -sshpwd "cloudnativer"
42 | Remove the k8s-node from the cluster:
43 | kube-install -opt delnode -node "192.168.1.13,192.168.1.15" -sshpwd "cloudnativer"
44 | Remove the k8s-master from the cluster:
45 | kube-install -opt delmaster -master "192.168.1.13" -sshpwd "cloudnativer"
46 | Rebuild the damaged k8s-master:
47 | kube-install -opt rebuildmaster -master "192.168.1.13" -sshpwd "cloudnativer"
48 | Display help information:
49 | kube-install -opt help
50 |
51 |
54 |
55 |
56 |
57 | 58 | 59 | -------------------------------------------------------------------------------- /docs/parameters0.3.md: -------------------------------------------------------------------------------- 1 |
Parameter introduction of kube-install

2 |
3 | Introduction:
4 |
5 | The parameters about kube-install can be viewed using the `kube-install help` or `kube-install -opt help` command.
6 | 7 | 14 | 15 | 37 | 38 | 59 | 60 |
8 | 9 | ``` 10 | # kube-install help 11 | ``` 12 | 13 |
16 | 17 | ``` 18 | Usage of kube-install: -opt [OPTIONS] COMMAND [ARGS]... 19 | 20 | Options: 21 | init Initialize the system environment. 22 | install Install k8s cluster. 23 | addnode Add k8s-node to the cluster. 24 | delnode Remove the k8s-node from the cluster. 25 | rebuildmaster Rebuild the damaged k8s-master. 26 | delmaster Remove the k8s-master from the cluster. 27 | help Display help information. 28 | 29 | Commands: 30 | master The IP address of k8s-master server. 31 | mastervip K8s-master cluster virtual IP address. 32 | node The IP address of k8s-node server. 33 | sshpwd SSH login root password of each server. 34 | ``` 35 | 36 |
39 | 40 | ``` 41 | For example: 42 | Initialize the system environment: 43 | kube-install -opt init 44 | Install k8s cluster: 45 | kube-install -opt install -master "192.168.1.11,192.168.1.12,192.168.1.13" -node "192.168.1.11,192.168.1.12,192.168.1.13,192.168.1.14" -mastervip "192.168.1.88" -sshpwd "cloudnativer" 46 | Add k8s-node to the cluster: 47 | kube-install -opt addnode -node "192.168.1.15,192.168.1.16" -sshpwd "cloudnativer" 48 | Remove the k8s-node from the cluster: 49 | kube-install -opt delnode -node "192.168.1.13,192.168.1.15" -sshpwd "cloudnativer" 50 | Remove the k8s-master from the cluster: 51 | kube-install -opt delmaster -master "192.168.1.13" -sshpwd "cloudnativer" 52 | Rebuild the damaged k8s-master: 53 | kube-install -opt rebuildmaster -master "192.168.1.13" -sshpwd "cloudnativer" 54 | Display help information: 55 | kube-install -opt help 56 | ``` 57 | 58 |
61 |
62 |
63 |
64 | 65 | 66 | -------------------------------------------------------------------------------- /docs/parameters0.4.md: -------------------------------------------------------------------------------- 1 |
Parameter introduction of kube-install

2 |
3 | Introduction:
4 |
5 | The parameters about kube-install can be viewed using the `kube-install help` or `kube-install -opt help` command.
6 | 7 | 14 | 15 | 38 | 39 | 62 | 63 |
8 | 9 | ``` 10 | # kube-install help 11 | ``` 12 | 13 |
16 | 17 | ``` 18 | Usage of kube-install: -opt [OPTIONS] COMMAND [ARGS]... 19 | 20 | Options: 21 | init Initialize the system environment. 22 | install Install kubernetes cluster. 23 | addnode Add k8s-node to the cluster. 24 | delnode Remove the k8s-node from the cluster. 25 | rebuildmaster Rebuild the damaged k8s-master. 26 | delmaster Remove the k8s-master from the cluster. 27 | uninstall Uninstall kubernetes cluster. 28 | help Display help information. 29 | 30 | Commands: 31 | master The IP address of k8s-master server. 32 | mastervip K8s-master cluster virtual IP address. 33 | node The IP address of k8s-node server. 34 | sshpwd SSH login root password of each server. 35 | ``` 36 | 37 |
40 | 41 | ``` 42 | For example: 43 | Initialize the system environment: 44 | kube-install -opt init 45 | Install k8s cluster: 46 | kube-install -opt install -master "192.168.1.11,192.168.1.12,192.168.1.13" -mastervip "192.168.1.88" -node "192.168.1.11,192.168.1.12,192.168.1.13,192.168.1.14" -sshpwd "cloudnativer" 47 | Add k8s-node to the cluster: 48 | kube-install -opt addnode -node "192.168.1.15,192.168.1.16" -sshpwd "cloudnativer" 49 | Remove the k8s-node from the cluster: 50 | kube-install -opt delnode -node "192.168.1.13,192.168.1.15" -sshpwd "cloudnativer" 51 | Remove the k8s-master from the cluster: 52 | kube-install -opt delmaster -master "192.168.1.13" -sshpwd "cloudnativer" 53 | Rebuild the damaged k8s-master: 54 | kube-install -opt rebuildmaster -master "192.168.1.13" -sshpwd "cloudnativer" 55 | Uninstall k8s cluster: 56 | kube-install -opt uninstall -master "192.168.1.11,192.168.1.12,192.168.1.13" -node "192.168.1.11,192.168.1.12,192.168.1.13,192.168.1.14" -sshpwd "cloudnativer" 57 | Display help information: 58 | kube-install -opt help 59 | ``` 60 | 61 |
64 |
65 |
66 |
67 | 68 | 69 | -------------------------------------------------------------------------------- /docs/parameters0.5.md: -------------------------------------------------------------------------------- 1 |
Parameter introduction of kube-install

2 |
3 | Introduction:
4 |
5 | The parameters about kube-install can be viewed using the `kube-install help` or `kube-install -opt help` command.
6 | 7 | 14 | 15 | 37 | 38 | 61 | 62 |
8 | 9 | ``` 10 | # kube-install help 11 | ``` 12 | 13 |
16 | 17 | ``` 18 | Usage of kube-install: -opt [OPTIONS] COMMAND [ARGS]... 19 | 20 | Options: 21 | init Initialize the system environment. 22 | install Install kubernetes cluster. 23 | addnode Add k8s-node to the cluster. 24 | delnode Remove the k8s-node from the cluster. 25 | rebuildmaster Rebuild the damaged k8s-master. 26 | delmaster Remove the k8s-master from the cluster. 27 | uninstall Uninstall kubernetes cluster. 28 | help Display help information. 29 | 30 | Commands: 31 | master The IP address of k8s-master server. 32 | node The IP address of k8s-node server. 33 | sshpwd SSH login root password of each server. 34 | ``` 35 | 36 |
39 | 40 | ``` 41 | For example: 42 | Initialize the system environment: 43 | kube-install -opt init 44 | Install k8s cluster: 45 | kube-install -opt install -master "192.168.1.11,192.168.1.12,192.168.1.13" -node "192.168.1.11,192.168.1.12,192.168.1.13,192.168.1.14" -sshpwd "cloudnativer" 46 | Add k8s-node to the cluster: 47 | kube-install -opt addnode -node "192.168.1.15,192.168.1.16" -sshpwd "cloudnativer" 48 | Remove the k8s-node from the cluster: 49 | kube-install -opt delnode -node "192.168.1.13,192.168.1.15" -sshpwd "cloudnativer" 50 | Remove the k8s-master from the cluster: 51 | kube-install -opt delmaster -master "192.168.1.13" -sshpwd "cloudnativer" 52 | Rebuild the damaged k8s-master: 53 | kube-install -opt rebuildmaster -master "192.168.1.13" -sshpwd "cloudnativer" 54 | Uninstall k8s cluster: 55 | kube-install -opt uninstall -master "192.168.1.11,192.168.1.12,192.168.1.13" -node "192.168.1.11,192.168.1.12,192.168.1.13,192.168.1.14" -sshpwd "cloudnativer" 56 | Display help information: 57 | kube-install -opt help 58 | ``` 59 | 60 |
63 |
64 |
65 |
66 | 67 | 68 | -------------------------------------------------------------------------------- /docs/parameters0.6.md: -------------------------------------------------------------------------------- 1 |
Parameter introduction of kube-install

2 |
3 | Introduction:
4 |
5 | The parameters about kube-install can be viewed using the `kube-install help` or `kube-install -opt help` command.
6 | 7 | 14 | 15 | 38 | 39 | 62 | 63 |
8 | 9 | ``` 10 | # kube-install help 11 | ``` 12 | 13 |
16 | 17 | ``` 18 | Usage of kube-install: -opt [OPTIONS] COMMAND [ARGS]... 19 | 20 | Options: 21 | init Initialize the system environment. 22 | install Install kubernetes cluster. 23 | addnode Add k8s-node to the cluster. 24 | delnode Remove the k8s-node from the cluster. 25 | rebuildmaster Rebuild the damaged k8s-master. 26 | delmaster Remove the k8s-master from the cluster. 27 | uninstall Uninstall kubernetes cluster. 28 | help Display help information. 29 | 30 | Commands: 31 | master The IP address of k8s-master server. 32 | node The IP address of k8s-node server. 33 | sshpwd SSH login root password of each server. 34 | ostype Specifies the distribution OS type: centos7|centos8|rhel7|rhel8|suse15. 35 | ``` 36 | 37 |
40 | 41 | ``` 42 | For example: 43 | Initialize the system environment: 44 | kube-install -opt init 45 | Install k8s cluster: 46 | kube-install -opt install -master "192.168.1.11,192.168.1.12,192.168.1.13" -node "192.168.1.11,192.168.1.12,192.168.1.13,192.168.1.14" -sshpwd "cloudnativer" -ostype "centos7" 47 | Add k8s-node to the cluster: 48 | kube-install -opt addnode -node "192.168.1.15,192.168.1.16" -sshpwd "cloudnativer" -ostype "centos7" 49 | Remove the k8s-node from the cluster: 50 | kube-install -opt delnode -node "192.168.1.13,192.168.1.15" -sshpwd "cloudnativer" 51 | Remove the k8s-master from the cluster: 52 | kube-install -opt delmaster -master "192.168.1.13" -sshpwd "cloudnativer" 53 | Rebuild the damaged k8s-master: 54 | kube-install -opt rebuildmaster -master "192.168.1.13" -sshpwd "cloudnativer" -ostype "centos7" 55 | Uninstall k8s cluster: 56 | kube-install -opt uninstall -master "192.168.1.11,192.168.1.12,192.168.1.13" -node "192.168.1.11,192.168.1.12,192.168.1.13,192.168.1.14" -sshpwd "cloudnativer" 57 | Display help information: 58 | kube-install -opt help 59 | ``` 60 | 61 |
64 |
65 |
66 |
67 | 68 | 69 | -------------------------------------------------------------------------------- /docs/roadmap.md: -------------------------------------------------------------------------------- 1 | 2 | # Version 0.8.0 Feature Preview: 3 | 4 |
5 | 6 | We will add the following features in 0.8.0 version: 7 | 8 | * The web platform supports username and password login. 9 | * Add the `-logs` flag to support viewing logs on the command line. 10 | * Starting to support `kubernetes v1.24`. 11 | * Since `kubernetes v1.24` has forcibly deleted `dockershim`, we will use `containerd` as runtime by default in `kubernetes v1.24`. 12 | * In `kubernetes v1.18` to `kubernetes v1.23`, we use `docker` as the runtime by default, but `docker` is deprecated. If you want to use `kubernetes v1.17`, you can use the kube-install v0.8.*. 13 | * `kubernetes v1.17` is deprecated, it will not be integrated by default. If you want to use `kubernetes v1.17`, you can use the kube-install v0.7.*. 14 | * Add dashboard `metrics-scraper` to solve the problem of `kube-dashboard` monitoring chart. https://github.com/cloudnativer/kube-install/issues/22 15 | * Set the deployment of `kube-dashboard` as an option, and users can choose not to deploy it. https://github.com/cloudnativer/kube-install/issues/22 16 | * Solve the problem of `secret` "harbor-secret" not found. https://github.com/cloudnativer/kube-install/issues/25 17 | * Support modifying `kube-apiserver` default `6443` port. https://github.com/cloudnativer/kube-install/issues/33 18 | * Support non-standard `SSH` port for installation. https://github.com/cloudnativer/kube-install/issues/29 19 | * Fix DOS security vulnerability of `go-yaml`. https://github.com/cloudnativer/kube-install/issues/30 20 | * Upgrade `kube-dashboard` to v2.4.0. 21 | * Upgrade `pause` image to v3.5. 22 | * Upgrade `helm` to v3.7.2. 23 | * ... 24 | 25 | 26 |
27 | -------------------------------------------------------------------------------- /docs/schedule0.7.md: -------------------------------------------------------------------------------- 1 | 2 | # view all installation task plan calendars 3 | 4 |
5 | 6 | Using the schedule widget, you can also view all installation task plan calendars. You can click the `Tools` button to view Utilities Tools. 7 | 8 | ![kube-dashboard](images/schedule001.jpg) 9 | 10 | Click the `Install Schedule Calendar` button to view Install Schedule Calendar Tools. 11 | 12 | ![kube-dashboard](images/schedule002.jpg) 13 | 14 | The calendar above shows the kubernetes cluster label, the time schedule of the installation in progress or planned. 15 | 16 |
17 | 18 | Notice: The task plan just made needs to wait 1 minute to display! 19 | 20 |
21 |
22 | 23 | -------------------------------------------------------------------------------- /docs/systemd0.7.md: -------------------------------------------------------------------------------- 1 | 2 | # Run as a systemd service 3 | 4 |
5 | 6 | You can run Kube-Install in systemd service mode. 7 | 8 |
9 | 10 | ## Prepare systemd service file 11 | 12 | Prepare `/etc/systemd/system/kube-install.service` file as follows, here is a sample file for reference. 13 | 14 | ``` 15 | [Unit] 16 | Description=kube-install One click fast installation of highly available kubernetes cluster. 17 | Documentation=https://cloudnativer.github.io/ 18 | After=sshd.service 19 | Requires=sshd.service 20 | 21 | [Service] 22 | Environment="USER=root" 23 | ExecStart=/var/lib/kube-install/kube-install -daemon -listen 0.0.0.0:9080 24 | User=root 25 | PrivateTmp=true 26 | LimitNOFILE=65536 27 | TimeoutStartSec=5 28 | RestartSec=10 29 | Restart=always 30 | 31 | [Install] 32 | WantedBy=multi-user.target 33 | 34 | ``` 35 | 36 |
37 | 38 | Notice: Please fill in the actual full path of `kube-install` binary file after `ExecStart=` parameter. 39 | Kube-install web service listens to `TCP 9080` by default. If you want to modify the listening address, you can set it by modifying the `kube-install -daemon -listen ip:port` parameter in the `/etc/systemd/system/kube-install.service` file. 40 | 41 |
42 | 43 | ## Start the service 44 | 45 | Start the service using the `systemctl start kube-install` command: 46 | 47 | ``` 48 | # systemctl start kube-install.service 49 | # 50 | # systemctl status kube-install.service 51 | ● kube-install.service - kube-install One click fast installation of highly available kubernetes cluster. 52 | Loaded: loaded (/etc/systemd/system/kube-install.service; disabled; vendor preset: disabled) 53 | Active: active (running) since Fri 2021-08-20 14:30:55 CST; 21min ago 54 | Docs: https://cloudnativer.github.io/ 55 | Main PID: 2768 (kube-install) 56 | CGroup: /system.slice/kube-install.service 57 | └─2768 /go/src/kube-install/kube-install -daemon 58 | ... 59 | 60 | ``` 61 |
62 | 63 | ## Set the service startup 64 | 65 | To set the service startup, you can execute the following commands: 66 | 67 | ``` 68 | # systemctl enable kube-install.service 69 | ``` 70 | 71 |
72 |
73 |
74 | -------------------------------------------------------------------------------- /docs/webssh0.7.md: -------------------------------------------------------------------------------- 1 | 2 | # Open the SSH password free channel 3 | 4 |
5 | 6 | You can use the `kube-install -exec sshcontrol` command to SSH through, or click the `Open SSH Channel of Host` button in the upper right corner to SSH through. 7 | 8 |
9 | 10 | ## Use the Web platform to SSH through. 11 | 12 | You can click the `Open SSH Channel of Host` button in the upper right corner to SSH through. 13 | 14 | ![kube-dashboard](images/webssh001.jpg) 15 | 16 | Enter the IP address of the target host. Multiple hosts are separated by English commas. And Enter the root account password of the target host. 17 | 18 | ![kube-dashboard](images/webssh002.jpg) 19 | 20 | Click `Submit` button to open SSH channel automatically. 21 | 22 | ![kube-dashboard](images/webssh003.jpg) 23 | 24 |
25 |
26 | 27 | ## Use the CLI command to SSH through. 28 | 29 | 30 | use the `kube-install -exec sshcontrol` command to SSH through. 31 | 32 | ``` 33 | kube-install -exec sshcontrol -sship "192.168.1.11,192.168.1.12,192.168.1.13,192.168.1.14" -sshpass "cloudnativer" 34 | ``` 35 | 36 |
37 | Notice: Before starting the installation, please open the SSH password free channel from localhost to the target host. 38 | 39 |
40 |
41 | 42 | ## Solutions to SSH channel opening failure 43 | 44 | 45 | You can try to open the SSH channel again after executing the following command on the target host: 46 | 47 | ``` 48 | # sudo sed -i "/PermitRootLogin/d" /etc/ssh/sshd_config 49 | # sudo sh -c "echo 'PermitRootLogin yes' >> /etc/ssh/sshd_config" 50 | # sudo sed -i "/StrictHostKeyChecking/s/^#//; /StrictHostKeyChecking/s/ask/no/" /etc/ssh/ssh_config 51 | # sudo systemctl restart sshd 52 | ``` 53 | 54 | Or you can use "root" user to manually open the SSH channel from the local host to the target host. 55 | 56 |
57 |
58 |
59 | -------------------------------------------------------------------------------- /docs/webssh0.8.md: -------------------------------------------------------------------------------- 1 | 2 | # Open the SSH password free channel 3 | 4 |
5 | 6 | You can use the `kube-install -exec sshcontrol` command to SSH through, or click the `Open SSH Channel of Host` button in the upper right corner to SSH through. 7 | 8 |
9 | 10 | ## Use the Web platform to SSH through. 11 | 12 | You can click the `Open SSH Channel of Host` button in the upper right corner to SSH through. 13 | 14 | ![kube-dashboard](images/webssh001.jpg) 15 | 16 | Enter the IP address of the target host. Multiple hosts are separated by English commas. And Enter the root account password of the target host. 17 | 18 | ![kube-dashboard](images/webssh002.jpg) 19 | 20 | Click `Submit` button to open SSH channel automatically. 21 | 22 | ![kube-dashboard](images/webssh003.jpg) 23 | 24 |
25 |
26 | 27 | ## Use the CLI command to SSH through. 28 | 29 | 30 | use the `kube-install -exec sshcontrol` command to SSH through. 31 | 32 | ``` 33 | kube-install -exec sshcontrol -sship "192.168.1.11,192.168.1.12,192.168.1.13,192.168.1.14" -sshport 22 -sshpass "cloudnativer" 34 | 35 | ``` 36 | 37 |
38 | Notice: Before starting the installation, please open the SSH password free channel from localhost to the target host. 39 | 40 |
41 |
42 | 43 | ## Solutions to SSH channel opening failure 44 | 45 | 46 | You can try to open the SSH channel again after executing the following command on the target host: 47 | 48 | ``` 49 | # sudo sed -i "/PermitRootLogin/d" /etc/ssh/sshd_config 50 | # sudo sh -c "echo 'PermitRootLogin yes' >> /etc/ssh/sshd_config" 51 | # sudo sed -i "/StrictHostKeyChecking/s/^#//; /StrictHostKeyChecking/s/ask/no/" /etc/ssh/ssh_config 52 | # sudo systemctl restart sshd 53 | ``` 54 | 55 | Or you can use "root" user to manually open the SSH channel from the local host to the target host. 56 | 57 |
58 |
59 |
60 | -------------------------------------------------------------------------------- /lib/cryption.go: -------------------------------------------------------------------------------- 1 | package kilib 2 | 3 | 4 | import ( 5 | "bytes" 6 | "crypto/aes" 7 | "crypto/cipher" 8 | "encoding/base64" 9 | "errors" 10 | ) 11 | 12 | 13 | //Adevanced Encryption Standard 14 | var PwdKey = []byte("HSJ**#CPWNGKXRUO") 15 | 16 | //PKCS7 fill mode 17 | func PKCS7Padding(ciphertext []byte, blockSize int) []byte { 18 | padding := blockSize - len(ciphertext)%blockSize 19 | padtext := bytes.Repeat([]byte{byte(padding)}, padding) 20 | return append(ciphertext, padtext...) 21 | } 22 | 23 | //Reverse operation of filling, delete filling string 24 | func PKCS7UnPadding(origData []byte) ([]byte, error) { 25 | length := len(origData) 26 | if length == 0 { 27 | return nil, errors.New("Encryption string error!") 28 | } else { 29 | unpadding := int(origData[length-1]) 30 | return origData[:(length - unpadding)], nil 31 | } 32 | } 33 | 34 | //Encryption process 35 | func AesEcrypt(origData []byte, key []byte) ([]byte, error) { 36 | block, err := aes.NewCipher(key) 37 | if err != nil { 38 | return nil, err 39 | } 40 | blockSize := block.BlockSize() 41 | origData = PKCS7Padding(origData, blockSize) 42 | blocMode := cipher.NewCBCEncrypter(block, key[:blockSize]) 43 | crypted := make([]byte, len(origData)) 44 | blocMode.CryptBlocks(crypted, origData) 45 | return crypted, nil 46 | } 47 | 48 | //Decryption process 49 | func AesDeCrypt(cypted []byte, key []byte) ([]byte, error) { 50 | block, err := aes.NewCipher(key) 51 | if err != nil { 52 | return nil, err 53 | } 54 | blockSize := block.BlockSize() 55 | blockMode := cipher.NewCBCDecrypter(block, key[:blockSize]) 56 | origData := make([]byte, len(cypted)) 57 | blockMode.CryptBlocks(origData, cypted) 58 | origData, err = PKCS7UnPadding(origData) 59 | if err != nil { 60 | return nil, err 61 | } 62 | return origData, err 63 | } 64 | 65 | //Encryption base64 66 | func EnPwdCode(pwd []byte) (string, error) { 67 | result, err := AesEcrypt(pwd, PwdKey) 68 | if err != nil { 69 | return "", err 70 | } 71 | return base64.StdEncoding.EncodeToString(result), err 72 | } 73 | 74 | //Decryption base64 75 | func DePwdCode(pwd string) ([]byte, error) { 76 | pwdByte, err := base64.StdEncoding.DecodeString(pwd) 77 | if err != nil { 78 | return nil, err 79 | } 80 | return AesDeCrypt(pwdByte, PwdKey) 81 | 82 | } 83 | 84 | 85 | 86 | -------------------------------------------------------------------------------- /lib/logs.go: -------------------------------------------------------------------------------- 1 | package kilib 2 | 3 | import ( 4 | "fmt" 5 | ) 6 | 7 | 8 | // Displays the log information of the kube-install. 9 | func ShowLogs(opt string, label string, currentDir string) { 10 | _, _, _, subProcessDir, _ := ParameterConvert("", "", "", "", label, "") 11 | if opt != "" { 12 | logStr, _ := ReadFile(currentDir + "/data/logs" + subProcessDir + "/logs/" + opt + ".log") 13 | fmt.Println(logStr) 14 | } else { 15 | fmt.Println("\"-exec\" and \"-label\" parameters cannot be empty, please check! \n") 16 | return 17 | } 18 | } 19 | 20 | 21 | -------------------------------------------------------------------------------- /lib/paracon.go: -------------------------------------------------------------------------------- 1 | package kilib 2 | 3 | import ( 4 | "strings" 5 | ) 6 | 7 | 8 | // Serialize or convert the input parameters. 9 | func ParameterConvert(mode string, master string, node string, softDir string, label string, osType string) ([]string, []string, string, string, string) { 10 | 11 | //Convert OS type 12 | switch { 13 | case osType == "centos7" : 14 | osType = "rhel7" 15 | case osType == "rhel7" : 16 | osType = "rhel7" 17 | case osType == "centos8" : 18 | osType = "rhel8" 19 | case osType == "rhel8" : 20 | osType = "rhel8" 21 | case osType == "suse15" : 22 | osType = "suse15" 23 | case osType == "ubuntu20" : 24 | osType = "ubuntu20" 25 | default: 26 | osType = "unknow" 27 | } 28 | 29 | //Convert masterArray and nodeArray 30 | masterArray := strings.Split(master, ",") 31 | nodeArray := strings.Split(node, ",") 32 | 33 | //Set the directory where kube-install is installed on the target host 34 | if softDir == "" { 35 | softDir = "/opt/kube-install" 36 | } 37 | 38 | //In the multi k8s cluster deployment scenario, use label to generate the subprocess path 39 | subProcessDir := "/"+label 40 | 41 | return masterArray,nodeArray,softDir,subProcessDir,osType 42 | 43 | } 44 | 45 | 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /lib/ssh.go: -------------------------------------------------------------------------------- 1 | package kilib 2 | 3 | //import ( 4 | // "fmt" 5 | //) 6 | 7 | 8 | // Open the SSH key channel to the target host. 9 | func SshKey(ipArray []string, sshPort string, sshPass string, currentDir string) error { 10 | var err error 11 | idrsa,err_idrsa := ReadFile("/root/.ssh/id_rsa") 12 | if err_idrsa != nil || idrsa == "" { 13 | ShellExecute("ssh-keygen -t rsa -P \"\" -f /root/.ssh/id_rsa >/dev/null 2>&1") 14 | } 15 | if len(ipArray) == 1 && sshPass == "" { 16 | err = ShellExecute("ssh-copy-id -p "+sshPort+" root@"+ipArray[0]+" >/dev/null 2>&1") 17 | } else { 18 | for _, ip := range ipArray { 19 | err = ShellExecute("sshpass -p \""+sshPass+"\" ssh-copy-id -p "+sshPort+" root@"+ip+" >/dev/null 2>&1") 20 | if err != nil { 21 | break 22 | } 23 | } 24 | } 25 | return err 26 | } 27 | 28 | // Initialize and install the most basic operation tool components. 29 | func SshOpsInit(currentDir string, osType string, mode string) error { 30 | err := ShellExecute(currentDir+"/sys/0x00000000000ssh/sshops-init.sh \""+currentDir+"\" \""+osType+"\"") 31 | return err 32 | } 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /lib/systemd.go: -------------------------------------------------------------------------------- 1 | package kilib 2 | 3 | import ( 4 | "os" 5 | "bufio" 6 | ) 7 | 8 | 9 | // Automatically generate Systemd service startup file. 10 | func CreateSystemdService(mode string, currentDir string, logName string) bool { 11 | os.RemoveAll(currentDir+"/config/kube-install.service") 12 | os.RemoveAll("/etc/systemd/system/kube-install.service") 13 | CreateFile(currentDir+"/config/kube-install.service", currentDir, logName, mode) 14 | CheckFileExist(currentDir+"/config/", "kube-install.service", currentDir, logName, mode) 15 | 16 | inventory_file, err := os.OpenFile(currentDir+"/config/kube-install.service",os.O_WRONLY | os.O_APPEND, 0666) 17 | CheckErr(err,currentDir,logName,mode) 18 | defer inventory_file.Close() 19 | write := bufio.NewWriter(inventory_file) 20 | write.WriteString("[Unit] \nDescription=The highly available multiple kubernetes cluster can be installed offline with one click. \nDocumentation=https://cloudnativer.github.io \nAfter=sshd.service \nRequires=sshd.service \n\n[Service] \nEnvironment=\"USER=root\" \nExecStart="+currentDir+"/kube-install -daemon \nUser=root \nPrivateTmp=true \nLimitNOFILE=65536 \nTimeoutStartSec=5 \nRestartSec=10 \nRestart=always \n\n[Install] \nWantedBy=multi-user.target \n\n") 21 | write.Flush() 22 | 23 | _,err_cp := CopyFile(currentDir+"/config/kube-install.service", "/etc/systemd/system/kube-install.service") 24 | if err_cp != nil { 25 | CheckErr(err_cp,currentDir,logName,mode) 26 | } else { 27 | CheckFileExist("/etc/systemd/system/", "kube-install.service", currentDir, logName, mode) 28 | } 29 | 30 | return true 31 | } 32 | 33 | 34 | -------------------------------------------------------------------------------- /lib/tools.go: -------------------------------------------------------------------------------- 1 | package kilib 2 | 3 | import ( 4 | "strings" 5 | ) 6 | 7 | 8 | // Read tools switch information 9 | func GetToolSwitch(currentDir string, logName string, mode string) []string { 10 | toolSwitch := []string{"on", "on", "on", "on"} 11 | toolSwitchData, _ := ReadFile(currentDir + "/data/config/tools.txt") 12 | if toolSwitchData != "" { 13 | toolSwitch = strings.Split(toolSwitchData, ",") 14 | } 15 | return toolSwitch 16 | } 17 | 18 | // Switch tools status 19 | func SetToolSwitch(sshTool string, installTool string, calendarTool string, userTool string, currentDir string, logName string, mode string) error { 20 | toolswitch := sshTool + "," + installTool + "," + calendarTool + "," + userTool 21 | err := DatabaseUpdate(currentDir+"/data/config/tools.txt", toolswitch, currentDir, logName, mode) 22 | return err 23 | } 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /lib/version.go: -------------------------------------------------------------------------------- 1 | package kilib 2 | 3 | import ( 4 | "fmt" 5 | ) 6 | 7 | 8 | // Displays the detailed version information of the kube-install. 9 | func ShowVersion(Version string, ReleaseDate string, CompatibleK8S string, CompatibleOS string){ 10 | fmt.Println("[Version]\n Version: "+Version+"\n Release Date: "+ReleaseDate+"\n\n[Compatibility] \n Kubernetes: "+CompatibleK8S+"\n OS: "+CompatibleOS+"\n Hardware: x86 | amd64 \n") 11 | } 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /static/staticfs/css/fonts.css: -------------------------------------------------------------------------------- 1 | @font-face { 2 | font-family: 'Droid Sans'; 3 | font-style: normal; 4 | font-weight: 400; 5 | src: url(http://fonts.gstatic.com/s/droidsans/v12/SlGVmQWMvZQIdix7AFxXkHNSaxYXags.woff) format('woff'); 6 | } 7 | @font-face { 8 | font-family: 'Droid Sans'; 9 | font-style: normal; 10 | font-weight: 700; 11 | src: url(http://fonts.gstatic.com/s/droidsans/v12/SlGWmQWMvZQIdix7AFxXmMh3eDs1YSHKpWg.woff) format('woff'); 12 | } 13 | @font-face { 14 | font-family: 'Oswald'; 15 | font-style: normal; 16 | font-weight: 400; 17 | src: url(http://fonts.gstatic.com/s/oswald/v39/TK3_WkUHHAIjg75cFRf3bXL8LICs1_FvsUZiYySShiA.woff) format('woff'); 18 | } 19 | -------------------------------------------------------------------------------- /static/staticfs/css/fullcalendar.print.min.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * FullCalendar v3.2.0 Print Stylesheet 3 | * Docs & License: https://fullcalendar.io/ 4 | * (c) 2017 Adam Shaw 5 | */.fc-bg,.fc-bgevent-container,.fc-bgevent-skeleton,.fc-business-container,.fc-event .fc-resizer,.fc-helper-container,.fc-helper-skeleton,.fc-highlight-container,.fc-highlight-skeleton{display:none}.fc tbody .fc-row,.fc-time-grid{min-height:0!important}.fc-time-grid .fc-event.fc-not-end:after,.fc-time-grid .fc-event.fc-not-start:before{content:"..."}.fc{max-width:100%!important}.fc-event{background:#fff!important;color:#000!important;page-break-inside:avoid}.fc hr,.fc tbody,.fc td,.fc th,.fc thead,.fc-row{border-color:#ccc!important;background:#fff!important}.fc tbody .fc-row{height:auto!important}.fc tbody .fc-row .fc-content-skeleton{position:static;padding-bottom:0!important}.fc tbody .fc-row .fc-content-skeleton tbody tr:last-child td{padding-bottom:1em}.fc tbody .fc-row .fc-content-skeleton table{height:1em}.fc-more,.fc-more-cell{display:none!important}.fc tr.fc-limited{display:table-row!important}.fc td.fc-limited{display:table-cell!important}.fc-agenda-view .fc-axis,.fc-popover{display:none}.fc-slats,.fc-time-grid hr{display:none!important}.fc button,.fc-button-group,.fc-time-grid .fc-event .fc-time span{display:none}.fc-time-grid .fc-content-skeleton{position:static}.fc-time-grid .fc-content-skeleton table{height:4em}.fc-time-grid .fc-event-container{margin:0!important}.fc-time-grid .fc-event{position:static!important;margin:3px 2px!important}.fc-time-grid .fc-event.fc-not-end{border-bottom-width:1px!important}.fc-time-grid .fc-event.fc-not-start{border-top-width:1px!important}.fc-time-grid .fc-event .fc-time{white-space:normal!important}.fc-time-grid .fc-event .fc-time:after{content:attr(data-full)}.fc-day-grid-container,.fc-scroller,.fc-time-grid-container{overflow:visible!important;height:auto!important}.fc-row{border:0!important;margin:0!important} -------------------------------------------------------------------------------- /static/staticfs/css/jquery.cleditor.css: -------------------------------------------------------------------------------- 1 | .cleditorMain {border:1px solid #CCCCCC; border-radius: 2px;padding:0 1px 1px; background-color:white, -moz-box-sizing: border-box;} 2 | .cleditorMain iframe {border:none; margin:0; padding:0} 3 | .cleditorMain textarea {border:none; margin:0; padding:0; overflow-y:scroll; font:10pt Arial,Verdana; resize:none; outline:none /* webkit grip focus */} 4 | .cleditorToolbar {background: url('/static/img/Textures/wHead.png') repeat} 5 | .cleditorGroup {float:left; height:26px} 6 | .cleditorButton {cursor: pointer;float:left; width:24px; height:24px; margin:1px 0 1px 0; background: url('/static/img/Textures/buttons.gif')} 7 | .cleditorDisabled {opacity:0.3; filter:alpha(opacity=30)} 8 | .cleditorDivider {float:left; width:1px; height:23px; margin:1px 0 1px 0; background:#CCC} 9 | .cleditorPopup {border:solid 1px #999; background-color:white; position:absolute; font:10pt Arial,Verdana; cursor:default; z-index:10000} 10 | .cleditorList div {padding:2px 4px 2px 4px} 11 | .cleditorList p, 12 | .cleditorList h1, 13 | .cleditorList h2, 14 | .cleditorList h3, 15 | .cleditorList h4, 16 | .cleditorList h5, 17 | .cleditorList h6, 18 | .cleditorList font {padding:0; margin:0; background-color:Transparent} 19 | .cleditorColor {width:150px; padding:1px 0 0 1px} 20 | .cleditorColor div {float:left; width:14px; height:14px; margin:0 1px 1px 0} 21 | .cleditorPrompt {background-color:#F6F7F9; padding:4px; font-size:8.5pt} 22 | .cleditorPrompt input, 23 | .cleditorPrompt textarea {font:8.5pt Arial,Verdana;} 24 | .cleditorMsg {background-color:#FDFCEE; width:150px; padding:4px; font-size:8.5pt} 25 | -------------------------------------------------------------------------------- /static/staticfs/css/tipsy.css: -------------------------------------------------------------------------------- 1 | .tipsy { font-family: Droid Sans; font-size: 11px; position: absolute; padding: 5px; z-index: 100000; } 2 | .tipsy-inner { background-color: #000; color: #FFF; max-width: 200px; padding: 5px 8px 4px 8px; text-align: center; } 3 | 4 | /* Rounded corners */ 5 | .tipsy-inner { border-radius: 3px; -moz-border-radius: 3px; -webkit-border-radius: 3px; } 6 | 7 | /* Uncomment for shadow */ 8 | /*.tipsy-inner { box-shadow: 0 0 5px #000000; -webkit-box-shadow: 0 0 5px #000000; -moz-box-shadow: 0 0 5px #000000; }*/ 9 | 10 | .tipsy-arrow { position: absolute; width: 0; height: 0; line-height: 0; border: 5px dashed #000; } 11 | 12 | /* Rules to colour arrows */ 13 | .tipsy-arrow-n { border-bottom-color: #000; } 14 | .tipsy-arrow-s { border-top-color: #000; } 15 | .tipsy-arrow-e { border-left-color: #000; } 16 | .tipsy-arrow-w { border-right-color: #000; } 17 | 18 | .tipsy-n .tipsy-arrow { top: 0px; left: 50%; margin-left: -5px; border-bottom-style: solid; border-top: none; border-left-color: transparent; border-right-color: transparent; } 19 | .tipsy-nw .tipsy-arrow { top: 0; left: 10px; border-bottom-style: solid; border-top: none; border-left-color: transparent; border-right-color: transparent;} 20 | .tipsy-ne .tipsy-arrow { top: 0; right: 10px; border-bottom-style: solid; border-top: none; border-left-color: transparent; border-right-color: transparent;} 21 | .tipsy-s .tipsy-arrow { bottom: 0; left: 50%; margin-left: -5px; border-top-style: solid; border-bottom: none; border-left-color: transparent; border-right-color: transparent; } 22 | .tipsy-sw .tipsy-arrow { bottom: 0; left: 10px; border-top-style: solid; border-bottom: none; border-left-color: transparent; border-right-color: transparent; } 23 | .tipsy-se .tipsy-arrow { bottom: 0; right: 10px; border-top-style: solid; border-bottom: none; border-left-color: transparent; border-right-color: transparent; } 24 | .tipsy-e .tipsy-arrow { right: 0; top: 50%; margin-top: -5px; border-left-style: solid; border-right: none; border-top-color: transparent; border-bottom-color: transparent; } 25 | .tipsy-w .tipsy-arrow { left: 0; top: 50%; margin-top: -5px; border-right-style: solid; border-left: none; border-top-color: transparent; border-bottom-color: transparent; } 26 | -------------------------------------------------------------------------------- /static/staticfs/img/Button/calendar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Button/calendar.png -------------------------------------------------------------------------------- /static/staticfs/img/Button/close01.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Button/close01.jpg -------------------------------------------------------------------------------- /static/staticfs/img/Button/close02.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Button/close02.jpg -------------------------------------------------------------------------------- /static/staticfs/img/Button/close03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Button/close03.png -------------------------------------------------------------------------------- /static/staticfs/img/Button/k8s.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Button/k8s.png -------------------------------------------------------------------------------- /static/staticfs/img/Button/result01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Button/result01.png -------------------------------------------------------------------------------- /static/staticfs/img/Button/result02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Button/result02.png -------------------------------------------------------------------------------- /static/staticfs/img/Button/sshkey.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Button/sshkey.png -------------------------------------------------------------------------------- /static/staticfs/img/Button/useradmin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Button/useradmin.png -------------------------------------------------------------------------------- /static/staticfs/img/ColorBox/border.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/ColorBox/border.png -------------------------------------------------------------------------------- /static/staticfs/img/ColorBox/controls.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/ColorBox/controls.png -------------------------------------------------------------------------------- /static/staticfs/img/ColorBox/ie6/borderBottomCenter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/ColorBox/ie6/borderBottomCenter.png -------------------------------------------------------------------------------- /static/staticfs/img/ColorBox/ie6/borderBottomLeft.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/ColorBox/ie6/borderBottomLeft.png -------------------------------------------------------------------------------- /static/staticfs/img/ColorBox/ie6/borderBottomRight.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/ColorBox/ie6/borderBottomRight.png -------------------------------------------------------------------------------- /static/staticfs/img/ColorBox/ie6/borderMiddleLeft.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/ColorBox/ie6/borderMiddleLeft.png -------------------------------------------------------------------------------- /static/staticfs/img/ColorBox/ie6/borderMiddleRight.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/ColorBox/ie6/borderMiddleRight.png -------------------------------------------------------------------------------- /static/staticfs/img/ColorBox/ie6/borderTopCenter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/ColorBox/ie6/borderTopCenter.png -------------------------------------------------------------------------------- /static/staticfs/img/ColorBox/ie6/borderTopLeft.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/ColorBox/ie6/borderTopLeft.png -------------------------------------------------------------------------------- /static/staticfs/img/ColorBox/ie6/borderTopRight.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/ColorBox/ie6/borderTopRight.png -------------------------------------------------------------------------------- /static/staticfs/img/ColorBox/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/ColorBox/loading.gif -------------------------------------------------------------------------------- /static/staticfs/img/ColorBox/loading_background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/ColorBox/loading_background.png -------------------------------------------------------------------------------- /static/staticfs/img/ColorBox/overlay.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/ColorBox/overlay.png -------------------------------------------------------------------------------- /static/staticfs/img/ColorPicker/blank.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/ColorPicker/blank.gif -------------------------------------------------------------------------------- /static/staticfs/img/ColorPicker/colorpicker_background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/ColorPicker/colorpicker_background.png -------------------------------------------------------------------------------- /static/staticfs/img/ColorPicker/colorpicker_hex.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/ColorPicker/colorpicker_hex.png -------------------------------------------------------------------------------- /static/staticfs/img/ColorPicker/colorpicker_hsb_b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/ColorPicker/colorpicker_hsb_b.png -------------------------------------------------------------------------------- /static/staticfs/img/ColorPicker/colorpicker_hsb_h.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/ColorPicker/colorpicker_hsb_h.png -------------------------------------------------------------------------------- /static/staticfs/img/ColorPicker/colorpicker_hsb_s.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/ColorPicker/colorpicker_hsb_s.png -------------------------------------------------------------------------------- /static/staticfs/img/ColorPicker/colorpicker_indic.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/ColorPicker/colorpicker_indic.gif -------------------------------------------------------------------------------- /static/staticfs/img/ColorPicker/colorpicker_overlay.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/ColorPicker/colorpicker_overlay.png -------------------------------------------------------------------------------- /static/staticfs/img/ColorPicker/colorpicker_rgb_b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/ColorPicker/colorpicker_rgb_b.png -------------------------------------------------------------------------------- /static/staticfs/img/ColorPicker/colorpicker_rgb_g.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/ColorPicker/colorpicker_rgb_g.png -------------------------------------------------------------------------------- /static/staticfs/img/ColorPicker/colorpicker_rgb_r.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/ColorPicker/colorpicker_rgb_r.png -------------------------------------------------------------------------------- /static/staticfs/img/ColorPicker/colorpicker_select.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/ColorPicker/colorpicker_select.gif -------------------------------------------------------------------------------- /static/staticfs/img/ColorPicker/colorpicker_submit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/ColorPicker/colorpicker_submit.png -------------------------------------------------------------------------------- /static/staticfs/img/ColorPicker/custom_background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/ColorPicker/custom_background.png -------------------------------------------------------------------------------- /static/staticfs/img/ColorPicker/custom_hex.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/ColorPicker/custom_hex.png -------------------------------------------------------------------------------- /static/staticfs/img/ColorPicker/custom_hsb_b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/ColorPicker/custom_hsb_b.png -------------------------------------------------------------------------------- /static/staticfs/img/ColorPicker/custom_hsb_h.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/ColorPicker/custom_hsb_h.png -------------------------------------------------------------------------------- /static/staticfs/img/ColorPicker/custom_hsb_s.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/ColorPicker/custom_hsb_s.png -------------------------------------------------------------------------------- /static/staticfs/img/ColorPicker/custom_indic.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/ColorPicker/custom_indic.gif -------------------------------------------------------------------------------- /static/staticfs/img/ColorPicker/custom_rgb_b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/ColorPicker/custom_rgb_b.png -------------------------------------------------------------------------------- /static/staticfs/img/ColorPicker/custom_rgb_g.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/ColorPicker/custom_rgb_g.png -------------------------------------------------------------------------------- /static/staticfs/img/ColorPicker/custom_rgb_r.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/ColorPicker/custom_rgb_r.png -------------------------------------------------------------------------------- /static/staticfs/img/ColorPicker/custom_submit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/ColorPicker/custom_submit.png -------------------------------------------------------------------------------- /static/staticfs/img/ColorPicker/select.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/ColorPicker/select.png -------------------------------------------------------------------------------- /static/staticfs/img/ColorPicker/select2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/ColorPicker/select2.png -------------------------------------------------------------------------------- /static/staticfs/img/ColorPicker/slider.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/ColorPicker/slider.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/16/i_16_add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/16/i_16_add.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/16/i_16_bars.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/16/i_16_bars.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/16/i_16_bottom_arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/16/i_16_bottom_arrow.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/16/i_16_cHorizontal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/16/i_16_cHorizontal.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/16/i_16_calendar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/16/i_16_calendar.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/16/i_16_charts.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/16/i_16_charts.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/16/i_16_chats.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/16/i_16_chats.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/16/i_16_checked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/16/i_16_checked.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/16/i_16_close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/16/i_16_close.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/16/i_16_cluster.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/16/i_16_cluster.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/16/i_16_dashboard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/16/i_16_dashboard.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/16/i_16_data.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/16/i_16_data.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/16/i_16_down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/16/i_16_down.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/16/i_16_downT.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/16/i_16_downT.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/16/i_16_files.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/16/i_16_files.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/16/i_16_forms.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/16/i_16_forms.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/16/i_16_help.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/16/i_16_help.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/16/i_16_icons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/16/i_16_icons.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/16/i_16_k8s.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/16/i_16_k8s.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/16/i_16_login.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/16/i_16_login.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/16/i_16_logout.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/16/i_16_logout.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/16/i_16_logs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/16/i_16_logs.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/16/i_16_master.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/16/i_16_master.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/16/i_16_message.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/16/i_16_message.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/16/i_16_node.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/16/i_16_node.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/16/i_16_notes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/16/i_16_notes.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/16/i_16_options.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/16/i_16_options.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/16/i_16_pacman.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/16/i_16_pacman.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/16/i_16_pages.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/16/i_16_pages.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/16/i_16_pie.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/16/i_16_pie.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/16/i_16_profile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/16/i_16_profile.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/16/i_16_progress.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/16/i_16_progress.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/16/i_16_radio.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/16/i_16_radio.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/16/i_16_resize.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/16/i_16_resize.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/16/i_16_selector.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/16/i_16_selector.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/16/i_16_settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/16/i_16_settings.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/16/i_16_settings_small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/16/i_16_settings_small.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/16/i_16_sorting.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/16/i_16_sorting.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/16/i_16_sorting_asc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/16/i_16_sorting_asc.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/16/i_16_sorting_desc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/16/i_16_sorting_desc.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/16/i_16_spinner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/16/i_16_spinner.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/16/i_16_table.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/16/i_16_table.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/16/i_16_tables.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/16/i_16_tables.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/16/i_16_tabs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/16/i_16_tabs.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/16/i_16_tasks.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/16/i_16_tasks.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/16/i_16_tools.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/16/i_16_tools.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/16/i_16_tooltip.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/16/i_16_tooltip.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/16/i_16_ui.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/16/i_16_ui.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/16/i_16_up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/16/i_16_up.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/16/i_16_valid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/16/i_16_valid.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/16/i_16_wysiwyg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/16/i_16_wysiwyg.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/18/i_18_search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/18/i_18_search.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/22/i_22_cluster.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/22/i_22_cluster.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/22/i_22_dashboard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/22/i_22_dashboard.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/22/i_22_logs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/22/i_22_logs.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/22/i_22_master.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/22/i_22_master.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/22/i_22_node.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/22/i_22_node.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/22/i_22_pages.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/22/i_22_pages.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/22/i_22_search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/22/i_22_search.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/22/i_22_settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/22/i_22_settings.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/22/i_22_tools.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/22/i_22_tools.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/22/i_22_upload.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/22/i_22_upload.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/32/i_32_cluster.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/32/i_32_cluster.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/32/i_32_cn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/32/i_32_cn.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/32/i_32_dashboard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/32/i_32_dashboard.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/32/i_32_delivery.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/32/i_32_delivery.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/32/i_32_dollar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/32/i_32_dollar.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/32/i_32_en.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/32/i_32_en.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/32/i_32_info.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/32/i_32_info.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/32/i_32_logs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/32/i_32_logs.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/32/i_32_master.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/32/i_32_master.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/32/i_32_node.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/32/i_32_node.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/32/i_32_notinstall.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/32/i_32_notinstall.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/32/i_32_notok.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/32/i_32_notok.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/32/i_32_ok.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/32/i_32_ok.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/32/i_32_statistic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/32/i_32_statistic.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/32/i_32_support.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/32/i_32_support.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/32/i_32_tools.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/32/i_32_tools.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/32/i_32_ttydisable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/32/i_32_ttydisable.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/32/i_32_ttyenable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/32/i_32_ttyenable.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/32/i_32_unknow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/32/i_32_unknow.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/32/i_32_user.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/32/i_32_user.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/Load/load-1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/Load/load-1.gif -------------------------------------------------------------------------------- /static/staticfs/img/Icons/Load/load-10.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/Load/load-10.gif -------------------------------------------------------------------------------- /static/staticfs/img/Icons/Load/load-11.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/Load/load-11.gif -------------------------------------------------------------------------------- /static/staticfs/img/Icons/Load/load-12.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/Load/load-12.gif -------------------------------------------------------------------------------- /static/staticfs/img/Icons/Load/load-13.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/Load/load-13.gif -------------------------------------------------------------------------------- /static/staticfs/img/Icons/Load/load-14.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/Load/load-14.gif -------------------------------------------------------------------------------- /static/staticfs/img/Icons/Load/load-2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/Load/load-2.gif -------------------------------------------------------------------------------- /static/staticfs/img/Icons/Load/load-3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/Load/load-3.gif -------------------------------------------------------------------------------- /static/staticfs/img/Icons/Load/load-4.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/Load/load-4.gif -------------------------------------------------------------------------------- /static/staticfs/img/Icons/Load/load-5.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/Load/load-5.gif -------------------------------------------------------------------------------- /static/staticfs/img/Icons/Load/load-6.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/Load/load-6.gif -------------------------------------------------------------------------------- /static/staticfs/img/Icons/Load/load-7.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/Load/load-7.gif -------------------------------------------------------------------------------- /static/staticfs/img/Icons/Load/load-8.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/Load/load-8.gif -------------------------------------------------------------------------------- /static/staticfs/img/Icons/Load/load-9.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/Load/load-9.gif -------------------------------------------------------------------------------- /static/staticfs/img/Icons/Preview/adidas_shirt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/Preview/adidas_shirt.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/Preview/analysis_analytics.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/Preview/analysis_analytics.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/Preview/barcode_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/Preview/barcode_2.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/Preview/battery_emtpy_0_percent.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/Preview/battery_emtpy_0_percent.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/Preview/beer_glass.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/Preview/beer_glass.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/Preview/books_multiple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/Preview/books_multiple.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/Preview/chair_furniture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/Preview/chair_furniture.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/Preview/chat_talk_speak.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/Preview/chat_talk_speak.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/Preview/clock_alarm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/Preview/clock_alarm.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/Preview/clock_disable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/Preview/clock_disable.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/Preview/clock_enable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/Preview/clock_enable.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/Preview/clock_time_watch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/Preview/clock_time_watch.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/Preview/cloud_upload_arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/Preview/cloud_upload_arrow.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/Preview/cloudy_rain_sun.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/Preview/cloudy_rain_sun.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/Preview/coda_leaf_nature.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/Preview/coda_leaf_nature.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/Preview/contact_card_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/Preview/contact_card_2.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/Preview/cover_flow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/Preview/cover_flow.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/Preview/date_calendar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/Preview/date_calendar.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/Preview/directions_sign.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/Preview/directions_sign.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/Preview/download_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/Preview/download_2.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/Preview/e.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/Preview/e.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/Preview/email_envelope.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/Preview/email_envelope.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/Preview/excel_spreasheet_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/Preview/excel_spreasheet_2.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/Preview/expand_left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/Preview/expand_left.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/Preview/file.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/Preview/file.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/Preview/film_movie_clip.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/Preview/film_movie_clip.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/Preview/film_movie_clip_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/Preview/film_movie_clip_2.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/Preview/film_record.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/Preview/film_record.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/Preview/finish_line.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/Preview/finish_line.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/Preview/folder_locked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/Preview/folder_locked.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/Preview/folder_music.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/Preview/folder_music.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/Preview/foot_steps_feet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/Preview/foot_steps_feet.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/Preview/hd_high_definition_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/Preview/hd_high_definition_2.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/Preview/house_home_building.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/Preview/house_home_building.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/Preview/image_landscape.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/Preview/image_landscape.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/Preview/inbox_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/Preview/inbox_4.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/Preview/inbox_outbox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/Preview/inbox_outbox.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/Preview/ipod_classic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/Preview/ipod_classic.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/Preview/key_password.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/Preview/key_password.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/Preview/lemonade_stand_shop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/Preview/lemonade_stand_shop.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/Preview/light_buld_idea.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/Preview/light_buld_idea.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/Preview/like_thumbs_up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/Preview/like_thumbs_up.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/Preview/link_seo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/Preview/link_seo.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/Preview/money_coins_cash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/Preview/money_coins_cash.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/Preview/paper_camera_file.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/Preview/paper_camera_file.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/Preview/paypal_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/Preview/paypal_2.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/Preview/photography_camera.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/Preview/photography_camera.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/Preview/plane.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/Preview/plane.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/Preview/power_chord.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/Preview/power_chord.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/Preview/price_money_tag.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/Preview/price_money_tag.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/Preview/screen_monitor_computer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/Preview/screen_monitor_computer.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/Preview/shopping_cart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/Preview/shopping_cart.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/Preview/shopping_cart_webshop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/Preview/shopping_cart_webshop.png -------------------------------------------------------------------------------- /static/staticfs/img/Icons/Preview/speak_yell_blog_advertising.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Icons/Preview/speak_yell_blog_advertising.png -------------------------------------------------------------------------------- /static/staticfs/img/Pages/403.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Pages/403.png -------------------------------------------------------------------------------- /static/staticfs/img/Pages/404.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Pages/404.png -------------------------------------------------------------------------------- /static/staticfs/img/Patterns/pattern1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Patterns/pattern1.png -------------------------------------------------------------------------------- /static/staticfs/img/Patterns/pattern2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Patterns/pattern2.png -------------------------------------------------------------------------------- /static/staticfs/img/Patterns/pattern3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Patterns/pattern3.png -------------------------------------------------------------------------------- /static/staticfs/img/Patterns/pattern4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Patterns/pattern4.png -------------------------------------------------------------------------------- /static/staticfs/img/Patterns/pattern5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Patterns/pattern5.png -------------------------------------------------------------------------------- /static/staticfs/img/Patterns/pattern6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Patterns/pattern6.png -------------------------------------------------------------------------------- /static/staticfs/img/Textures/buttons.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Textures/buttons.gif -------------------------------------------------------------------------------- /static/staticfs/img/Textures/drop_menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Textures/drop_menu.png -------------------------------------------------------------------------------- /static/staticfs/img/Textures/orders_stats.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Textures/orders_stats.png -------------------------------------------------------------------------------- /static/staticfs/img/Textures/pattern1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Textures/pattern1.png -------------------------------------------------------------------------------- /static/staticfs/img/Textures/pattern2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Textures/pattern2.png -------------------------------------------------------------------------------- /static/staticfs/img/Textures/pattern3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Textures/pattern3.png -------------------------------------------------------------------------------- /static/staticfs/img/Textures/pattern4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Textures/pattern4.png -------------------------------------------------------------------------------- /static/staticfs/img/Textures/pattern5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Textures/pattern5.png -------------------------------------------------------------------------------- /static/staticfs/img/Textures/pattern6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Textures/pattern6.png -------------------------------------------------------------------------------- /static/staticfs/img/Textures/separator_circle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Textures/separator_circle.png -------------------------------------------------------------------------------- /static/staticfs/img/Textures/separator_line.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Textures/separator_line.png -------------------------------------------------------------------------------- /static/staticfs/img/Textures/separator_long.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Textures/separator_long.png -------------------------------------------------------------------------------- /static/staticfs/img/Textures/separator_menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Textures/separator_menu.png -------------------------------------------------------------------------------- /static/staticfs/img/Textures/separator_short.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Textures/separator_short.png -------------------------------------------------------------------------------- /static/staticfs/img/Textures/small_count.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Textures/small_count.png -------------------------------------------------------------------------------- /static/staticfs/img/Textures/tickets_stats.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Textures/tickets_stats.png -------------------------------------------------------------------------------- /static/staticfs/img/Textures/toolbar.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Textures/toolbar.gif -------------------------------------------------------------------------------- /static/staticfs/img/Textures/top_panel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Textures/top_panel.png -------------------------------------------------------------------------------- /static/staticfs/img/Textures/top_search_input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Textures/top_search_input.png -------------------------------------------------------------------------------- /static/staticfs/img/Textures/top_search_submit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Textures/top_search_submit.png -------------------------------------------------------------------------------- /static/staticfs/img/Textures/top_tooltip.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Textures/top_tooltip.png -------------------------------------------------------------------------------- /static/staticfs/img/Textures/top_tooltip_arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Textures/top_tooltip_arrow.png -------------------------------------------------------------------------------- /static/staticfs/img/Textures/users_stats.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Textures/users_stats.png -------------------------------------------------------------------------------- /static/staticfs/img/Textures/visitor_stats.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Textures/visitor_stats.png -------------------------------------------------------------------------------- /static/staticfs/img/Textures/wHead.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/Textures/wHead.png -------------------------------------------------------------------------------- /static/staticfs/img/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/favicon.ico -------------------------------------------------------------------------------- /static/staticfs/img/kubeinstall_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/kubeinstall_logo.png -------------------------------------------------------------------------------- /static/staticfs/img/user_avatar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudnativer/kube-install/f48848563721b7a0adf26b9a4eaa75c64271a0cd/static/staticfs/img/user_avatar.png -------------------------------------------------------------------------------- /static/staticfs/js/FullCalendar/locale-zh-cn-3.2.0.js: -------------------------------------------------------------------------------- 1 | !function(e){"function"==typeof define&&define.amd?define(["jquery","moment"],e):"object"==typeof exports?module.exports=e(require("jquery"),require("moment")):e(jQuery,moment)}(function(e,t){!function(){var e=t.defineLocale("zh-cn",{months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"周日_周一_周二_周三_周四_周五_周六".split("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),longDateFormat:{LT:"Ah点mm分",LTS:"Ah点m分s秒",L:"YYYY-MM-DD",LL:"YYYY年MMMD日",LLL:"YYYY年MMMD日Ah点mm分",LLLL:"YYYY年MMMD日ddddAh点mm分",l:"YYYY-MM-DD",ll:"YYYY年MMMD日",lll:"YYYY年MMMD日Ah点mm分",llll:"YYYY年MMMD日ddddAh点mm分"},meridiemParse:/凌晨|早上|上午|中午|下午|晚上/,meridiemHour:function(e,t){return 12===e&&(e=0),"凌晨"===t||"早上"===t||"上午"===t?e:"下午"===t||"晚上"===t?e+12:e>=11?e:e+12},meridiem:function(e,t,n){var r=100*e+t;return r<600?"凌晨":r<900?"早上":r<1130?"上午":r<1230?"中午":r<1800?"下午":"晚上"},calendar:{sameDay:function(){return 0===this.minutes()?"[今天]Ah[点整]":"[今天]LT"},nextDay:function(){return 0===this.minutes()?"[明天]Ah[点整]":"[明天]LT"},lastDay:function(){return 0===this.minutes()?"[昨天]Ah[点整]":"[昨天]LT"},nextWeek:function(){var e,n;return e=t().startOf("week"),n=this.diff(e,"days")>=7?"[下]":"[本]",0===this.minutes()?n+"dddAh点整":n+"dddAh点mm"},lastWeek:function(){var e,n;return e=t().startOf("week"),n=this.unix()/dev/null 2>&1 15 | else 16 | for sship in $1; 17 | do 18 | sshpass -p $3 ssh-copy-id -p 22 $2@$sship >/dev/null 2>&1 19 | done 20 | fi 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /sys/0x00000000000ssh/sshops-init.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | 4 | # $1 is path , $2 is ostype 5 | 6 | 7 | # Install the sshpass tool 8 | if [ "$2" = "ubuntu20" ];then 9 | dpkg --force-depends -i /$1/pkg/ubuntu20/sshops-ubuntu20/*.deb >/dev/null 2>&1 10 | else 11 | rpm -U /$1/pkg/$2/sshops-$2/*.rpm --force --nodeps >/dev/null 2>&1 12 | fi 13 | 14 | # Set StrictHostKeyChecking 15 | sed -i "/PermitRootLogin/d" /etc/ssh/sshd_config 16 | sh -c "echo 'PermitRootLogin yes' >> /etc/ssh/sshd_config" 17 | sed -i '/StrictHostKeyChecking/s/^#//; /StrictHostKeyChecking/s/ask/no/' /etc/ssh/ssh_config 18 | systemctl daemon-reload 19 | systemctl restart sshd 20 | 21 | -------------------------------------------------------------------------------- /sys/0x0000000000base/all/templates/99-prophet.conf: -------------------------------------------------------------------------------- 1 | [Journal] 2 | Storage=persistent 3 | Compress=yes 4 | SyncIntervalSec=5m 5 | RateLimitInterval=30s 6 | RateLimitBurst=1000 7 | SystemMaxUse=10G 8 | SystemMaxFileSize=200M 9 | MaxRetentionSec=2week 10 | ForwardToSyslog=no 11 | -------------------------------------------------------------------------------- /sys/0x0000000000base/all/templates/ipvs.modules: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | modprobe -- ip_vs 4 | modprobe -- ip_vs_rr 5 | modprobe -- ip_vs_wrr 6 | modprobe -- ip_vs_sh 7 | modprobe -- nf_conntrack 8 | modprobe -- br_netfilter 9 | 10 | exit 0 11 | 12 | 13 | -------------------------------------------------------------------------------- /sys/0x0000000000base/all/templates/kube-install-ttyd.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=kube-install ttyd service 3 | Documentation=https://cloudnativer.github.io 4 | After=network-online.target 5 | Wants=network-online.target 6 | 7 | [Service] 8 | ExecStart=/usr/local/bin/ttyd --port 7681 --uid 0 bash 9 | Restart=on-failure 10 | RestartSec=5 11 | LimitNOFILE=65536 12 | 13 | [Install] 14 | WantedBy=multi-user.target 15 | 16 | -------------------------------------------------------------------------------- /sys/0x0000000000base/all/templates/kubernetes.conf: -------------------------------------------------------------------------------- 1 | net.bridge.bridge-nf-call-iptables = 1 2 | net.bridge.bridge-nf-call-ip6tables = 1 3 | net.bridge.bridge-nf-call-arptables = 0 4 | net.ipv4.ip_forward = 1 5 | net.ipv4.ip_local_port_range = 32768 60999 6 | vm.swappiness = 0 7 | vm.overcommit_memory = 1 8 | vm.panic_on_oom = 0 9 | fs.inotify.max_user_instances = 8192 10 | fs.inotify.max_user_watches = 1048576 11 | fs.file-max = 52706963 12 | fs.nr_open = 52706963 13 | net.ipv6.conf.all.disable_ipv6 = 1 14 | -------------------------------------------------------------------------------- /sys/0x0000000000base/all/templates/preinstall.sh.j2: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | 4 | # Include ipvsadm ipset telnet expect ntp curl net-tools lrzsz gcc gcc-c++ yum-utils psmisc pcre-devel openssl-devel wget tree vim conntrack sysstat libseccomp lsof traceroute 5 | if [ "{{ostype}}" = "ubuntu20" ];then 6 | dpkg --force-depends -i /tmp/.kubeinstalltemp/data{{sub_process_dir}}/pkg/ubuntu20/basepkg-ubuntu20/*.deb 7 | else 8 | setenforce 0 >/dev/null 2>&1 9 | rpm -U /tmp/.kubeinstalltemp/data{{sub_process_dir}}/pkg/{{ostype}}/basepkg-{{ostype}}/*.rpm --force --nodeps 10 | fi 11 | 12 | 13 | 14 | exit 0 15 | 16 | 17 | -------------------------------------------------------------------------------- /sys/0x0000000000base/genfile/tasks/main.yml: -------------------------------------------------------------------------------- 1 | - name: 1.Create /tmp/.kubeinstalltemp{{sub_process_dir}} directory 2 | file: 3 | path: "/tmp/.kubeinstalltemp{{sub_process_dir}}/{{item}}" 4 | state: directory 5 | with_items: 6 | - bin 7 | - docs 8 | - pkg 9 | - proc 10 | - config 11 | - yaml 12 | - name: 2.Distributing deployment files to kubernetes master, please wait... 13 | copy: 14 | src: "/root/kube-install/bin" 15 | dest: "/tmp/.kubeinstalltemp{{sub_process_dir}}/" 16 | - copy: 17 | src: "/root/kube-install/docs" 18 | dest: "/tmp/.kubeinstalltemp{{sub_process_dir}}/" 19 | - copy: 20 | src: "/root/kube-install/pkg" 21 | dest: "/tmp/.kubeinstalltemp{{sub_process_dir}}/" 22 | - copy: 23 | src: "/root/kube-install/proc" 24 | dest: "/tmp/.kubeinstalltemp{{sub_process_dir}}/" 25 | - copy: 26 | src: "/root/kube-install/config" 27 | dest: "/tmp/.kubeinstalltemp{{sub_process_dir}}/" 28 | - copy: 29 | src: "/root/kube-install/yaml" 30 | dest: "/tmp/.kubeinstalltemp{{sub_process_dir}}/" 31 | - copy: 32 | src: "/root/kube-install/kube-install" 33 | dest: "/tmp/.kubeinstalltemp{{sub_process_dir}}/" 34 | - copy: 35 | src: "/root/kube-install/kube-install" 36 | dest: "/usr/local/bin/kube-install" 37 | mode: 0755 38 | - name: 3.Configure permissions for executables 39 | file: path=/tmp/.kubeinstalltemp{{sub_process_dir}}/{{ item }} mode=755 owner=root group=root 40 | with_items: 41 | - sys/0x00000000000ssh/sshkey-init.sh 42 | - sys/0x00000000000ssh/sshops-init.sh 43 | - proc/getmasterconfig.sh 44 | - name: 4.Install distributed control software 45 | shell: "/tmp/.kubeinstalltemp{{sub_process_dir}}/sys/0x00000000000ssh/sshops-init.sh /tmp/.kubeinstalltemp{{sub_process_dir}} /tmp/.kubeinstalltemp{{sub_process_dir}}" 46 | ignore_errors: yes 47 | 48 | -------------------------------------------------------------------------------- /sys/0x0000000000base/kernel/tasks/main.yml: -------------------------------------------------------------------------------- 1 | - name: 2.Decompress kernel package 2 | #update os to kernel4.19 3 | unarchive: 4 | src: "{{kipath}}/pkg/kernel4.19.tar.gz" 5 | dest: "/tmp/.kubeinstalltemp/data{{sub_process_dir}}/temp/" 6 | mode: 0744 7 | - name: 3.Update kernel and grub 8 | template: 9 | src: "../templates/updategrub.sh.j2" 10 | dest: "{{k8s_install_home}}/temp/updategrub.sh" 11 | mode: 0755 12 | - shell: "{{k8s_install_home}}/temp/updategrub.sh" 13 | -------------------------------------------------------------------------------- /sys/0x0000000000base/kernel/templates/updategrub.sh.j2: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | 4 | grubfile="" 5 | for i in {"/boot/grub2/grub.cfg","/boot/efi/EFI/centos/grub.cfg","/boot/efi/EFI/redhat/grub.cfg"} ; 6 | do 7 | if [ -f $i ]; then 8 | grubfile=$i 9 | break 10 | fi 11 | done 12 | 13 | if [ "$grubfile" != "" ]; then 14 | chattr -ai $grubfile 15 | rpm -U /tmp/.kubeinstalltemp/data{{sub_process_dir}}/temp/kernel4.19/*.rpm --force --nodeps 16 | sed -i 's/auto/512M/g' /etc/default/grub 17 | sed -i 's/crashkernel=512M rhgb quiet/crashkernel=512M rhgb quiet intel_idle.max_cstate=0 processor.max_cstate=1 intel_pstate=disable idle=poll nopti spectre_v2=off/g' /etc/default/grub 18 | grub2-set-default $[`awk -F\' '$1=="menuentry " {print $2}' $grubfile | sed -n '/4.19.12/='`-1] 19 | grub2-mkconfig -o $grubfile 20 | else 21 | echo "kube-install: Your grub file has been detected to be incompatible!" >> /var/log/message 22 | exit 1 23 | fi 24 | 25 | -------------------------------------------------------------------------------- /sys/0x0000000000base/runtime/templates/containerd.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=containerd container runtime 3 | After=network.target 4 | 5 | [Service] 6 | ExecStartPre=/sbin/modprobe overlay 7 | ExecStartPre=/sbin/modprobe br_netfilter 8 | ExecStart=/usr/local/bin/containerd 9 | Delegate=yes 10 | KillMode=process 11 | LimitNOFILE=1048576 12 | LimitNPROC=infinity 13 | LimitCORE=infinity 14 | 15 | [Install] 16 | WantedBy=multi-user.target 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /sys/0x0000000000base/runtime/templates/ipvsinit.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=IPVS init service 3 | Documentation=https://github.com/cloudnativer 4 | After=network-online.target 5 | Wants=network-online.target 6 | 7 | [Service] 8 | Type=notify 9 | ExecStart=/usr/local/bin/ipvsinit.sh 10 | ExecStop=ipvsadm -C 11 | LimitNOFILE=infinity 12 | LimitNPROC=infinity 13 | TimeoutStartSec=0 14 | Delegate=yes 15 | KillMode=process 16 | Restart=on-failure 17 | StartLimitBurst=3 18 | StartLimitInterval=60s 19 | 20 | [Install] 21 | WantedBy=multi-user.target 22 | 23 | -------------------------------------------------------------------------------- /sys/0x0000000000base/runtime/templates/ipvsinit.sh.j2: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | 4 | # Create dummy network 5 | ip link add dev kube-ipvs0 type dummy 6 | ip addr add 10.254.0.3/32 dev kube-ipvs0 7 | ip addr add 10.254.0.1/32 dev kube-ipvs0 8 | 9 | 10 | # Set ipvsadm rule 11 | {{ipvsinit_shell}} 12 | 13 | 14 | # Set user environment variables. 15 | echo "alias docker='/usr/local/bin/nerdctl --namespace k8s.io'" >> /etc/profile 16 | 17 | echo "alias docker='/usr/local/bin/nerdctl --namespace k8s.io'" >> ~/.bashrc 18 | 19 | 20 | exit 0 21 | 22 | 23 | -------------------------------------------------------------------------------- /sys/0x0000000000node/approve-csr/tasks/main.yml: -------------------------------------------------------------------------------- 1 | - name: 1.Enable csr-crb configuration 2 | file: 3 | dest: /etc/kubernetes/ssl 4 | mode: 0644 5 | recurse: yes 6 | - shell: "/usr/local/bin/kubectl apply -f /etc/kubernetes/apiserver-to-kubelet.yaml" 7 | - shell: "/usr/local/bin/kubectl apply -f /etc/kubernetes/cert-renew-rbac.yaml" 8 | - shell: "/usr/local/bin/kubectl apply -f /etc/kubernetes/ipvsinit_svc.yaml" 9 | - shell: "/usr/local/bin/kubectl apply -f /etc/kubernetes/ipvsinit_ep.yaml" 10 | - name: 2.Wait 90s 11 | wait_for: 12 | timeout: 90 13 | - name: 3.Approve node csr 14 | shell: "/usr/local/bin/kubectl get csr | awk '/Pending/ {print $1}' | xargs kubectl certificate approve" 15 | ignore_errors: yes 16 | - name: 4.Wait 30s 17 | wait_for: 18 | timeout: 30 19 | - name: 5. Setting scheduling label for k8s node 20 | shell: "/usr/local/bin/kubectl label node {{addons_ip1}} dashboard=turnon --overwrite" 21 | ignore_errors: yes 22 | - shell: "/usr/local/bin/kubectl label node {{addons_ip2}} dashboard=turnon --overwrite" 23 | ignore_errors: yes 24 | - shell: "/usr/local/bin/kubectl label node {{addons_ip3}} registry=turnon --overwrite" 25 | ignore_errors: yes 26 | 27 | -------------------------------------------------------------------------------- /sys/0x0000000000node/kube-proxy/tasks/main.yml: -------------------------------------------------------------------------------- 1 | - name: 1.Create kube-proxy.config.yaml configuration 2 | template: 3 | src: ../templates/kube-proxy.config.yaml.j2 4 | dest: /etc/kubernetes/kube-proxy.config.yaml 5 | - name: 2.Create {{k8s_install_home}}/kubernetes/kube-proxy directory 6 | file: 7 | path: "{{k8s_install_home}}/kubernetes/kube-proxy" 8 | state: directory 9 | - name: 3.Create kube-proxy service startup file 10 | template: 11 | src: ../templates/kube-proxy.service.j2 12 | dest: /etc/systemd/system/kube-proxy.service 13 | - name: 4.Start kube-proxy service 14 | systemd: 15 | daemon_reload: true 16 | name: kube-proxy 17 | state: restarted 18 | enabled: true 19 | -------------------------------------------------------------------------------- /sys/0x0000000000node/kube-proxy/templates/kube-proxy.config.yaml.j2: -------------------------------------------------------------------------------- 1 | apiVersion: kubeproxy.config.k8s.io/v1alpha1 2 | bindAddress: {{ip}} 3 | clientConnection: 4 | kubeconfig: /etc/kubernetes/ssl/kube-proxy.kubeconfig 5 | clusterCIDR: {{pod_cidr}} 6 | healthzBindAddress: {{ip}}:10256 7 | hostnameOverride: {{ip}} 8 | kind: KubeProxyConfiguration 9 | metricsBindAddress: {{ip}}:10249 10 | mode: "ipvs" 11 | -------------------------------------------------------------------------------- /sys/0x0000000000node/kube-proxy/templates/kube-proxy.service.j2: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=Kubernetes Kube-Proxy Server 3 | Documentation=https://github.com/GoogleCloudPlatform/kubernetes 4 | After=network.target 5 | 6 | [Service] 7 | WorkingDirectory={{k8s_install_home}}/kubernetes/kube-proxy 8 | ExecStart=/usr/local/bin/kube-proxy \ 9 | --config=/etc/kubernetes/kube-proxy.config.yaml \ 10 | --v=2 11 | Restart=on-failure 12 | RestartSec=5 13 | LimitNOFILE=65536 14 | 15 | [Install] 16 | WantedBy=multi-user.target 17 | -------------------------------------------------------------------------------- /sys/0x0000000000node/kubelet/tasks/main.yml: -------------------------------------------------------------------------------- 1 | - name: 1.Distribution kubelet cert 2 | copy: 3 | src: "{{kipath}}/data/output{{sub_process_dir}}/cert/" 4 | dest: /etc/kubernetes/ 5 | - name: 2.Clean up invalid certificates 6 | shell: "cd /etc/kubernetes/ssl/ && ls |grep '^kubelet'|while read i;do mv $i /etc/kubernetes/bak/$i.bak;done" 7 | ignore_errors: yes 8 | - name: 3.Copy kubelet config and shell file 9 | template: 10 | src: "../templates/kubelet.config.json-{{k8sver}}.j2" 11 | dest: /etc/kubernetes/kubelet.config.json 12 | - copy: 13 | src: "../templates/resolvinit.sh" 14 | dest: "/usr/local/bin/" 15 | mode: 0755 16 | - name: 4.Set IPVS rules 17 | shell: "/usr/local/bin/ipvsinit.sh" 18 | ignore_errors: yes 19 | - name: 5.Create {{k8s_install_home}}/kubernetes directory 20 | file: 21 | path: "{{k8s_install_home}}/kubernetes/kubelet" 22 | state: directory 23 | - file: 24 | path: "/run/systemd/resolve/resolv.conf" 25 | state: touch 26 | mode: 0755 27 | ignore_errors: yes 28 | - name: 6.Create kubelet service startup file 29 | template: 30 | src: "../templates/kubelet.service-{{k8sver}}.j2" 31 | dest: /etc/systemd/system/kubelet.service 32 | - name: 7.Start kubelet service 33 | systemd: 34 | daemon_reload: true 35 | name: kubelet 36 | state: restarted 37 | enabled: true 38 | 39 | -------------------------------------------------------------------------------- /sys/0x0000000000node/kubelet/templates/kubelet.config.json-1.24.j2: -------------------------------------------------------------------------------- 1 | { 2 | "kind": "KubeletConfiguration", 3 | "apiVersion": "kubelet.config.k8s.io/v1beta1", 4 | "authentication": { 5 | "x509": { 6 | "clientCAFile": "/etc/kubernetes/ssl/k8s-root-ca.pem" 7 | }, 8 | "webhook": { 9 | "enabled": true, 10 | "cacheTTL": "2m0s" 11 | }, 12 | "anonymous": { 13 | "enabled": false 14 | } 15 | }, 16 | "authorization": { 17 | "mode": "Webhook", 18 | "webhook": { 19 | "cacheAuthorizedTTL": "5m0s", 20 | "cacheUnauthorizedTTL": "30s" 21 | } 22 | }, 23 | "address": "{{ip}}", 24 | "port": 10250, 25 | "readOnlyPort": 10255, 26 | "failSwapOn": false, 27 | "podPidsLimit": -1, 28 | "maxPods": 210, 29 | "cgroupDriver": "systemd", 30 | "hairpinMode": "promiscuous-bridge", 31 | "serializeImagePulls": false, 32 | "featureGates": { 33 | "RotateKubeletServerCertificate": true 34 | }, 35 | "resolvConf": "/run/systemd/resolve/resolv.conf", 36 | "clusterDomain": "cluster.local.", 37 | "clusterDNS": ["{{service_dns_svc_ip}}"] 38 | } 39 | -------------------------------------------------------------------------------- /sys/0x0000000000node/kubelet/templates/kubelet.config.json-1.25.j2: -------------------------------------------------------------------------------- 1 | { 2 | "kind": "KubeletConfiguration", 3 | "apiVersion": "kubelet.config.k8s.io/v1beta1", 4 | "authentication": { 5 | "x509": { 6 | "clientCAFile": "/etc/kubernetes/ssl/k8s-root-ca.pem" 7 | }, 8 | "webhook": { 9 | "enabled": true, 10 | "cacheTTL": "2m0s" 11 | }, 12 | "anonymous": { 13 | "enabled": false 14 | } 15 | }, 16 | "authorization": { 17 | "mode": "Webhook", 18 | "webhook": { 19 | "cacheAuthorizedTTL": "5m0s", 20 | "cacheUnauthorizedTTL": "30s" 21 | } 22 | }, 23 | "address": "{{ip}}", 24 | "port": 10250, 25 | "readOnlyPort": 10255, 26 | "failSwapOn": false, 27 | "podPidsLimit": -1, 28 | "maxPods": 210, 29 | "cgroupDriver": "systemd", 30 | "hairpinMode": "promiscuous-bridge", 31 | "serializeImagePulls": false, 32 | "featureGates": { 33 | "RotateKubeletServerCertificate": true 34 | }, 35 | "resolvConf": "/run/systemd/resolve/resolv.conf", 36 | "clusterDomain": "cluster.local.", 37 | "clusterDNS": ["{{service_dns_svc_ip}}"] 38 | } 39 | -------------------------------------------------------------------------------- /sys/0x0000000000node/kubelet/templates/kubelet.config.json-1.26.j2: -------------------------------------------------------------------------------- 1 | { 2 | "kind": "KubeletConfiguration", 3 | "apiVersion": "kubelet.config.k8s.io/v1beta1", 4 | "authentication": { 5 | "x509": { 6 | "clientCAFile": "/etc/kubernetes/ssl/k8s-root-ca.pem" 7 | }, 8 | "webhook": { 9 | "enabled": true, 10 | "cacheTTL": "2m0s" 11 | }, 12 | "anonymous": { 13 | "enabled": false 14 | } 15 | }, 16 | "authorization": { 17 | "mode": "Webhook", 18 | "webhook": { 19 | "cacheAuthorizedTTL": "5m0s", 20 | "cacheUnauthorizedTTL": "30s" 21 | } 22 | }, 23 | "address": "{{ip}}", 24 | "port": 10250, 25 | "readOnlyPort": 10255, 26 | "failSwapOn": false, 27 | "podPidsLimit": -1, 28 | "maxPods": 210, 29 | "cgroupDriver": "systemd", 30 | "hairpinMode": "promiscuous-bridge", 31 | "serializeImagePulls": false, 32 | "featureGates": { 33 | "RotateKubeletServerCertificate": true 34 | }, 35 | "resolvConf": "/run/systemd/resolve/resolv.conf", 36 | "clusterDomain": "cluster.local.", 37 | "clusterDNS": ["{{service_dns_svc_ip}}"] 38 | } 39 | -------------------------------------------------------------------------------- /sys/0x0000000000node/kubelet/templates/kubelet.config.json-1.27.j2: -------------------------------------------------------------------------------- 1 | { 2 | "kind": "KubeletConfiguration", 3 | "apiVersion": "kubelet.config.k8s.io/v1beta1", 4 | "authentication": { 5 | "x509": { 6 | "clientCAFile": "/etc/kubernetes/ssl/k8s-root-ca.pem" 7 | }, 8 | "webhook": { 9 | "enabled": true, 10 | "cacheTTL": "2m0s" 11 | }, 12 | "anonymous": { 13 | "enabled": false 14 | } 15 | }, 16 | "authorization": { 17 | "mode": "Webhook", 18 | "webhook": { 19 | "cacheAuthorizedTTL": "5m0s", 20 | "cacheUnauthorizedTTL": "30s" 21 | } 22 | }, 23 | "address": "{{ip}}", 24 | "port": 10250, 25 | "readOnlyPort": 10255, 26 | "failSwapOn": false, 27 | "podPidsLimit": -1, 28 | "maxPods": 210, 29 | "cgroupDriver": "systemd", 30 | "hairpinMode": "promiscuous-bridge", 31 | "serializeImagePulls": false, 32 | "featureGates": { 33 | "RotateKubeletServerCertificate": true 34 | }, 35 | "resolvConf": "/run/systemd/resolve/resolv.conf", 36 | "clusterDomain": "cluster.local.", 37 | "clusterDNS": ["{{service_dns_svc_ip}}"] 38 | } 39 | -------------------------------------------------------------------------------- /sys/0x0000000000node/kubelet/templates/kubelet.config.json-1.28.j2: -------------------------------------------------------------------------------- 1 | { 2 | "kind": "KubeletConfiguration", 3 | "apiVersion": "kubelet.config.k8s.io/v1beta1", 4 | "authentication": { 5 | "x509": { 6 | "clientCAFile": "/etc/kubernetes/ssl/k8s-root-ca.pem" 7 | }, 8 | "webhook": { 9 | "enabled": true, 10 | "cacheTTL": "2m0s" 11 | }, 12 | "anonymous": { 13 | "enabled": false 14 | } 15 | }, 16 | "authorization": { 17 | "mode": "Webhook", 18 | "webhook": { 19 | "cacheAuthorizedTTL": "5m0s", 20 | "cacheUnauthorizedTTL": "30s" 21 | } 22 | }, 23 | "address": "{{ip}}", 24 | "port": 10250, 25 | "readOnlyPort": 10255, 26 | "failSwapOn": false, 27 | "podPidsLimit": -1, 28 | "maxPods": 210, 29 | "cgroupDriver": "systemd", 30 | "hairpinMode": "promiscuous-bridge", 31 | "serializeImagePulls": false, 32 | "featureGates": { 33 | "RotateKubeletServerCertificate": true 34 | }, 35 | "resolvConf": "/run/systemd/resolve/resolv.conf", 36 | "clusterDomain": "cluster.local.", 37 | "clusterDNS": ["{{service_dns_svc_ip}}"] 38 | } 39 | -------------------------------------------------------------------------------- /sys/0x0000000000node/kubelet/templates/kubelet.config.json-1.29.j2: -------------------------------------------------------------------------------- 1 | { 2 | "kind": "KubeletConfiguration", 3 | "apiVersion": "kubelet.config.k8s.io/v1beta1", 4 | "authentication": { 5 | "x509": { 6 | "clientCAFile": "/etc/kubernetes/ssl/k8s-root-ca.pem" 7 | }, 8 | "webhook": { 9 | "enabled": true, 10 | "cacheTTL": "2m0s" 11 | }, 12 | "anonymous": { 13 | "enabled": false 14 | } 15 | }, 16 | "authorization": { 17 | "mode": "Webhook", 18 | "webhook": { 19 | "cacheAuthorizedTTL": "5m0s", 20 | "cacheUnauthorizedTTL": "30s" 21 | } 22 | }, 23 | "address": "{{ip}}", 24 | "port": 10250, 25 | "readOnlyPort": 10255, 26 | "failSwapOn": false, 27 | "podPidsLimit": -1, 28 | "maxPods": 210, 29 | "cgroupDriver": "systemd", 30 | "hairpinMode": "promiscuous-bridge", 31 | "serializeImagePulls": false, 32 | "featureGates": { 33 | "RotateKubeletServerCertificate": true 34 | }, 35 | "resolvConf": "/run/systemd/resolve/resolv.conf", 36 | "clusterDomain": "cluster.local.", 37 | "clusterDNS": ["{{service_dns_svc_ip}}"] 38 | } 39 | -------------------------------------------------------------------------------- /sys/0x0000000000node/kubelet/templates/kubelet.service-1.24.j2: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=Kubernetes Kubelet 3 | Documentation=https://github.com/GoogleCloudPlatform/kubernetes 4 | 5 | [Service] 6 | WorkingDirectory={{k8s_install_home}}/kubernetes/kubelet 7 | ExecStartPre=/usr/local/bin/resolvinit.sh 8 | ExecStart=/usr/local/bin/kubelet \ 9 | --bootstrap-kubeconfig=/etc/kubernetes/ssl/bootstrap.kubeconfig \ 10 | --root-dir={{k8s_install_home}}/kubernetes/kubelet \ 11 | --cert-dir=/etc/kubernetes/ssl \ 12 | --kubeconfig=/etc/kubernetes/ssl/kubelet.kubeconfig \ 13 | --config=/etc/kubernetes/kubelet.config.json \ 14 | --hostname-override={{ip}} \ 15 | --pod-infra-container-image={{addons_ip3}}:5000/pause-amd64:3.5 \ 16 | --container-runtime=remote \ 17 | --container-runtime-endpoint=unix:///run/containerd/containerd.sock \ 18 | --alsologtostderr=true \ 19 | --logtostderr=false \ 20 | --root-dir={{k8s_install_home}}/kubernetes/kubelet \ 21 | --log-dir={{k8s_install_home}}/kubernetes/kubelet \ 22 | --v=2 23 | Restart=on-failure 24 | RestartSec=5 25 | 26 | [Install] 27 | WantedBy=multi-user.target 28 | -------------------------------------------------------------------------------- /sys/0x0000000000node/kubelet/templates/kubelet.service-1.25.j2: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=Kubernetes Kubelet 3 | Documentation=https://github.com/GoogleCloudPlatform/kubernetes 4 | 5 | [Service] 6 | WorkingDirectory={{k8s_install_home}}/kubernetes/kubelet 7 | ExecStartPre=/usr/local/bin/resolvinit.sh 8 | ExecStart=/usr/local/bin/kubelet \ 9 | --bootstrap-kubeconfig=/etc/kubernetes/ssl/bootstrap.kubeconfig \ 10 | --root-dir={{k8s_install_home}}/kubernetes/kubelet \ 11 | --cert-dir=/etc/kubernetes/ssl \ 12 | --kubeconfig=/etc/kubernetes/ssl/kubelet.kubeconfig \ 13 | --config=/etc/kubernetes/kubelet.config.json \ 14 | --hostname-override={{ip}} \ 15 | --pod-infra-container-image={{addons_ip3}}:5000/pause-amd64:3.5 \ 16 | --container-runtime=remote \ 17 | --container-runtime-endpoint=unix:///run/containerd/containerd.sock \ 18 | --alsologtostderr=true \ 19 | --logtostderr=false \ 20 | --root-dir={{k8s_install_home}}/kubernetes/kubelet \ 21 | --log-dir={{k8s_install_home}}/kubernetes/kubelet \ 22 | --v=2 23 | Restart=on-failure 24 | RestartSec=5 25 | 26 | [Install] 27 | WantedBy=multi-user.target 28 | -------------------------------------------------------------------------------- /sys/0x0000000000node/kubelet/templates/kubelet.service-1.26.j2: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=Kubernetes Kubelet 3 | Documentation=https://github.com/GoogleCloudPlatform/kubernetes 4 | 5 | [Service] 6 | WorkingDirectory={{k8s_install_home}}/kubernetes/kubelet 7 | ExecStartPre=/usr/local/bin/resolvinit.sh 8 | ExecStart=/usr/local/bin/kubelet \ 9 | --bootstrap-kubeconfig=/etc/kubernetes/ssl/bootstrap.kubeconfig \ 10 | --root-dir={{k8s_install_home}}/kubernetes/kubelet \ 11 | --cert-dir=/etc/kubernetes/ssl \ 12 | --kubeconfig=/etc/kubernetes/ssl/kubelet.kubeconfig \ 13 | --config=/etc/kubernetes/kubelet.config.json \ 14 | --hostname-override={{ip}} \ 15 | --pod-infra-container-image={{addons_ip3}}:5000/pause-amd64:3.5 \ 16 | --container-runtime=remote \ 17 | --container-runtime-endpoint=unix:///run/containerd/containerd.sock \ 18 | --root-dir={{k8s_install_home}}/kubernetes/kubelet \ 19 | --v=2 20 | Restart=on-failure 21 | RestartSec=5 22 | 23 | [Install] 24 | WantedBy=multi-user.target 25 | -------------------------------------------------------------------------------- /sys/0x0000000000node/kubelet/templates/kubelet.service-1.27.j2: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=Kubernetes Kubelet 3 | Documentation=https://github.com/GoogleCloudPlatform/kubernetes 4 | 5 | [Service] 6 | WorkingDirectory={{k8s_install_home}}/kubernetes/kubelet 7 | ExecStartPre=/usr/local/bin/resolvinit.sh 8 | ExecStart=/usr/local/bin/kubelet \ 9 | --bootstrap-kubeconfig=/etc/kubernetes/ssl/bootstrap.kubeconfig \ 10 | --root-dir={{k8s_install_home}}/kubernetes/kubelet \ 11 | --cert-dir=/etc/kubernetes/ssl \ 12 | --kubeconfig=/etc/kubernetes/ssl/kubelet.kubeconfig \ 13 | --config=/etc/kubernetes/kubelet.config.json \ 14 | --hostname-override={{ip}} \ 15 | --pod-infra-container-image={{addons_ip3}}:5000/pause-amd64:3.5 \ 16 | --container-runtime-endpoint=unix:///run/containerd/containerd.sock \ 17 | --root-dir={{k8s_install_home}}/kubernetes/kubelet \ 18 | --v=2 19 | Restart=on-failure 20 | RestartSec=5 21 | 22 | [Install] 23 | WantedBy=multi-user.target 24 | -------------------------------------------------------------------------------- /sys/0x0000000000node/kubelet/templates/kubelet.service-1.28.j2: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=Kubernetes Kubelet 3 | Documentation=https://github.com/GoogleCloudPlatform/kubernetes 4 | 5 | [Service] 6 | WorkingDirectory={{k8s_install_home}}/kubernetes/kubelet 7 | ExecStartPre=/usr/local/bin/resolvinit.sh 8 | ExecStart=/usr/local/bin/kubelet \ 9 | --bootstrap-kubeconfig=/etc/kubernetes/ssl/bootstrap.kubeconfig \ 10 | --root-dir={{k8s_install_home}}/kubernetes/kubelet \ 11 | --cert-dir=/etc/kubernetes/ssl \ 12 | --kubeconfig=/etc/kubernetes/ssl/kubelet.kubeconfig \ 13 | --config=/etc/kubernetes/kubelet.config.json \ 14 | --hostname-override={{ip}} \ 15 | --pod-infra-container-image={{addons_ip3}}:5000/pause-amd64:3.5 \ 16 | --container-runtime-endpoint=unix:///run/containerd/containerd.sock \ 17 | --root-dir={{k8s_install_home}}/kubernetes/kubelet \ 18 | --v=2 19 | Restart=on-failure 20 | RestartSec=5 21 | 22 | [Install] 23 | WantedBy=multi-user.target 24 | -------------------------------------------------------------------------------- /sys/0x0000000000node/kubelet/templates/kubelet.service-1.29.j2: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=Kubernetes Kubelet 3 | Documentation=https://github.com/GoogleCloudPlatform/kubernetes 4 | 5 | [Service] 6 | WorkingDirectory={{k8s_install_home}}/kubernetes/kubelet 7 | ExecStartPre=/usr/local/bin/resolvinit.sh 8 | ExecStart=/usr/local/bin/kubelet \ 9 | --bootstrap-kubeconfig=/etc/kubernetes/ssl/bootstrap.kubeconfig \ 10 | --root-dir={{k8s_install_home}}/kubernetes/kubelet \ 11 | --cert-dir=/etc/kubernetes/ssl \ 12 | --kubeconfig=/etc/kubernetes/ssl/kubelet.kubeconfig \ 13 | --config=/etc/kubernetes/kubelet.config.json \ 14 | --hostname-override={{ip}} \ 15 | --pod-infra-container-image={{addons_ip3}}:5000/pause-amd64:3.5 \ 16 | --container-runtime-endpoint=unix:///run/containerd/containerd.sock \ 17 | --root-dir={{k8s_install_home}}/kubernetes/kubelet \ 18 | --v=2 19 | Restart=on-failure 20 | RestartSec=5 21 | 22 | [Install] 23 | WantedBy=multi-user.target 24 | -------------------------------------------------------------------------------- /sys/0x0000000000node/kubelet/templates/resolvinit.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | 4 | mkdir -p /run/systemd/resolve 5 | 6 | touch /run/systemd/resolve/resolv.conf 7 | 8 | exit 0 9 | 10 | 11 | -------------------------------------------------------------------------------- /sys/0x00000000action/cleargarbage/tasks/main.yml: -------------------------------------------------------------------------------- 1 | - name: 1.Umount kubelet disk partition 2 | shell: "for diskPartition in `mount | grep kubelet | awk '{print $3}'` ; do umount $diskPartition ; done" 3 | ignore_errors: yes 4 | - name: 2.Delete {{software_home}} dir 5 | file: 6 | path: "{{software_home}}/loginkey.txt" 7 | state: absent 8 | ignore_errors: yes 9 | - file: 10 | path: "{{software_home}}/dockerregistry" 11 | state: absent 12 | ignore_errors: yes 13 | - file: 14 | path: "{{software_home}}/k8s/kubernetes/kubelet" 15 | state: absent 16 | ignore_errors: yes 17 | - file: 18 | path: "{{software_home}}/k8s/kubernetes/kube-proxy" 19 | state: absent 20 | ignore_errors: yes 21 | - file: 22 | path: "{{software_home}}/k8s/kubernetes/kube-apiserver" 23 | state: absent 24 | ignore_errors: yes 25 | - file: 26 | path: "{{software_home}}/k8s/kubernetes/kube-controller-manager" 27 | state: absent 28 | ignore_errors: yes 29 | - file: 30 | path: "{{software_home}}/k8s/kubernetes/kube-scheduler" 31 | state: absent 32 | ignore_errors: yes 33 | - file: 34 | path: "{{software_home}}/k8s/etcd" 35 | state: absent 36 | ignore_errors: yes 37 | - file: 38 | path: "{{software_home}}" 39 | state: absent 40 | ignore_errors: yes 41 | - file: 42 | path: "/opt/containerd" 43 | state: absent 44 | ignore_errors: yes 45 | - name: 3.Delete cert file 46 | file: 47 | path: /etc/kubernetes 48 | state: absent 49 | ignore_errors: yes 50 | - name: 4.Stop TTY service 51 | service: 52 | name: kube-install-ttyd 53 | state: stopped 54 | enabled: false 55 | ignore_errors: yes 56 | - file: 57 | path: /usr/local/bin/ttyd 58 | state: absent 59 | ignore_errors: yes 60 | - name: 5.Delete sysctl configuration 61 | file: 62 | path: /etc/sysctl.d/kubernetes.conf 63 | state: absent 64 | ignore_errors: yes 65 | - name: 6.Delete modules configuration 66 | file: 67 | path: /etc/sysconfig/modules/ipvs.modules 68 | state: absent 69 | ignore_errors: yes 70 | - name: 7.Delete CNI file 71 | file: 72 | path: /opt/cni 73 | state: absent 74 | ignore_errors: yes 75 | - file: 76 | path: /etc/cni 77 | state: absent 78 | ignore_errors: yes 79 | - name: 8.Delete kubernetes bin file 80 | file: 81 | path: /usr/sbin/kubectl 82 | state: absent 83 | ignore_errors: yes 84 | - file: 85 | path: /usr/local/bin/{{item}} 86 | state: absent 87 | with_items: 88 | - kubeadm 89 | - kubectl 90 | - kubectl-convert 91 | - kubelet 92 | - kube-proxy 93 | - mounter 94 | - ipvsinit.sh 95 | - resolvinit.sh 96 | ignore_errors: yes 97 | 98 | -------------------------------------------------------------------------------- /sys/0x00000000action/delnode/tasks/main.yml: -------------------------------------------------------------------------------- 1 | - name: 1.Stop kubelet service 2 | service: 3 | name: kubelet 4 | state: stopped 5 | enabled: false 6 | ignore_errors: yes 7 | - name: 2.Stop kube-proxy service 8 | service: 9 | name: kube-proxy 10 | state: stopped 11 | enabled: false 12 | ignore_errors: yes 13 | - name: 3.Stop runtime service 14 | service: 15 | name: containerd 16 | state: stopped 17 | enabled: false 18 | ignore_errors: yes 19 | - name: 4.Umount kubelet disk partition 20 | shell: "for diskPartition in `mount | grep kubelet | awk '{print $3}'` ; do umount $diskPartition ; done" 21 | ignore_errors: yes 22 | - name: 5.Delete bin file 23 | file: 24 | path: /opt/cni 25 | state: absent 26 | ignore_errors: yes 27 | - file: 28 | path: /etc/cni 29 | state: absent 30 | ignore_errors: yes 31 | - file: 32 | path: /usr/local/bin/{{item}} 33 | state: absent 34 | with_items: 35 | - calicoctl 36 | - containerd 37 | - containerd-shim 38 | - containerd-shim-runc-v1 39 | - containerd-shim-runc-v2 40 | - nerdctl 41 | - ctr 42 | - runc 43 | - kubelet 44 | - kube-proxy 45 | - ipvsinit.sh 46 | - resolvinit.sh 47 | ignore_errors: yes 48 | - name: 6.Delete kube-proxy service file 49 | file: 50 | path: /etc/systemd/system/kube-proxy.service 51 | state: absent 52 | ignore_errors: yes 53 | - file: 54 | path: "{{software_home}}/k8s/kubernetes/kube-proxy" 55 | state: absent 56 | ignore_errors: yes 57 | - name: 7.Delete kubelet service file 58 | file: 59 | path: /etc/systemd/system/kubelet.service 60 | state: absent 61 | ignore_errors: yes 62 | - file: 63 | path: "{{software_home}}/k8s/kubernetes/kubelet" 64 | state: absent 65 | ignore_errors: yes 66 | - name: 8.Delete runtime service file 67 | file: 68 | path: /etc/systemd/system/containerd.service 69 | state: absent 70 | ignore_errors: yes 71 | 72 | 73 | 74 | -------------------------------------------------------------------------------- /sys/0x00000000action/pushimages/tasks/main.yml: -------------------------------------------------------------------------------- 1 | - name: 1.Save container image to images registry 2 | shell: "nohup /tmp/.kubeinstalltemp{{sub_process_dir}}/images/pushsysimages.sh 2>&1 &" 3 | ignore_errors: yes 4 | - wait_for: 5 | timeout: 50 6 | 7 | -------------------------------------------------------------------------------- /sys/0x00000000addons/templates/2.dashboard/dashboardnot.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | 4 | echo " Unable to find token, please make sure kube-dashboard is selected during the first installation." >> /etc/kubernetes/dashboard_login_token.txt 5 | 6 | 7 | -------------------------------------------------------------------------------- /sys/0x00000000addons/templates/2.dashboard/dashboardtoken.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Show ADMIN_SECRET 4 | 5 | adminsecret=`/usr/sbin/kubectl --kubeconfig=/etc/kubernetes/ssl/kube-install.kubeconfig get secrets -n kube-system | grep dashboard-admin | awk '{print $1}'` 6 | 7 | 8 | # Create DASHBOARD_LOGIN_TOKEN 9 | 10 | token=`/usr/sbin/kubectl --kubeconfig=/etc/kubernetes/ssl/kube-install.kubeconfig describe secret -n kube-system $adminsecret | grep -E '^token' | awk '{print $2}'` 11 | 12 | 13 | # Create dashboard_login_token files 14 | 15 | echo $token >> /etc/kubernetes/dashboard_login_token.txt 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /sys/0x00000000addons/templates/4.traefik/traefik-config.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: ConfigMap 3 | metadata: 4 | name: traefik-config 5 | namespace: kube-system 6 | data: 7 | traefik.toml: | 8 | defaultEntryPoints = ["http","https"] 9 | debug = false 10 | logLevel = "INFO" 11 | 12 | # Do not verify backend certificates (use https backends) 13 | InsecureSkipVerify = true 14 | [entryPoints] 15 | [entryPoints.http] 16 | address = ":80" 17 | compress = true 18 | [entryPoints.https] 19 | address = ":443" 20 | [entryPoints.https.tls] 21 | #Config to redirect http to https 22 | #[entryPoints] 23 | # [entryPoints.http] 24 | # address = ":80" 25 | # compress = true 26 | # [entryPoints.http.redirect] 27 | # entryPoint = "https" 28 | # [entryPoints.https] 29 | # address = ":443" 30 | # [entryPoints.https.tls] 31 | [web] 32 | address = ":8080" 33 | [kubernetes] 34 | [metrics] 35 | [metrics.prometheus] 36 | buckets=[0.1,0.3,1.2,5.0] 37 | entryPoint = "traefik" 38 | [ping] 39 | entryPoint = "http" 40 | 41 | -------------------------------------------------------------------------------- /sys/0x00000000addons/templates/4.traefik/traefik-ds.yaml.j2: -------------------------------------------------------------------------------- 1 | --- 2 | apiVersion: v1 3 | kind: ServiceAccount 4 | metadata: 5 | name: traefik-ingress-controller 6 | namespace: kube-system 7 | --- 8 | kind: DaemonSet 9 | apiVersion: apps/v1 10 | metadata: 11 | name: traefik-ingress-controller 12 | namespace: kube-system 13 | labels: 14 | k8s-app: traefik-ingress-lb 15 | spec: 16 | selector: 17 | matchLabels: 18 | name: traefik-ingress-lb 19 | template: 20 | metadata: 21 | labels: 22 | k8s-app: traefik-ingress-lb 23 | name: traefik-ingress-lb 24 | spec: 25 | serviceAccountName: traefik-ingress-controller 26 | terminationGracePeriodSeconds: 60 27 | hostNetwork: true 28 | containers: 29 | - name: traefik-ingress-lb 30 | image: {{addons_ip3}}:5000/traefik:v2.0.7 31 | imagePullPolicy: IfNotPresent 32 | ports: 33 | - name: http 34 | containerPort: {{traefik_admin_port}} 35 | hostPort: {{traefik_admin_port}} 36 | - name: admin 37 | containerPort: {{traefik_data_port}} 38 | hostPort: {{traefik_data_port}} 39 | securityContext: 40 | capabilities: 41 | drop: 42 | - ALL 43 | add: 44 | - NET_BIND_SERVICE 45 | args: 46 | - --api 47 | - --api.insecure=true 48 | - --providers.kubernetesingress=true 49 | - --log.level=INFO 50 | volumes: 51 | - configMap: 52 | name: traefik-config 53 | name: config 54 | --- 55 | kind: Service 56 | apiVersion: v1 57 | metadata: 58 | name: traefik-ingress-service 59 | namespace: kube-system 60 | labels: 61 | k8s-app: traefik-ingress-lb 62 | spec: 63 | selector: 64 | k8s-app: traefik-ingress-lb 65 | ports: 66 | - protocol: TCP 67 | port: {{traefik_admin_port}} 68 | name: web 69 | - protocol: TCP 70 | port: {{traefik_data_port}} 71 | name: admin 72 | -------------------------------------------------------------------------------- /sys/0x00000000addons/templates/4.traefik/traefik-rbac.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | kind: ClusterRole 3 | apiVersion: rbac.authorization.k8s.io/v1 4 | metadata: 5 | name: traefik-ingress-controller 6 | rules: 7 | - apiGroups: 8 | - "" 9 | resources: 10 | - services 11 | - endpoints 12 | - secrets 13 | verbs: 14 | - get 15 | - list 16 | - watch 17 | - apiGroups: 18 | - extensions 19 | resources: 20 | - ingresses 21 | verbs: 22 | - get 23 | - list 24 | - watch 25 | - apiGroups: 26 | - extensions 27 | resources: 28 | - ingresses/status 29 | verbs: 30 | - update 31 | --- 32 | kind: ClusterRoleBinding 33 | apiVersion: rbac.authorization.k8s.io/v1 34 | metadata: 35 | name: traefik-ingress-controller 36 | roleRef: 37 | apiGroup: rbac.authorization.k8s.io 38 | kind: ClusterRole 39 | name: traefik-ingress-controller 40 | subjects: 41 | - kind: ServiceAccount 42 | name: traefik-ingress-controller 43 | namespace: kube-system 44 | -------------------------------------------------------------------------------- /sys/0x00000000addons/templates/4.traefik/traefik-ui.yaml-1.24.j2: -------------------------------------------------------------------------------- 1 | --- 2 | apiVersion: v1 3 | kind: Service 4 | metadata: 5 | name: traefik-web-ui 6 | namespace: kube-system 7 | spec: 8 | selector: 9 | k8s-app: traefik-ingress-lb 10 | ports: 11 | - name: web 12 | port: {{traefik_admin_port}} 13 | targetPort: {{traefik_data_port}} 14 | 15 | --- 16 | apiVersion: networking.k8s.io/v1 17 | kind: Ingress 18 | metadata: 19 | name: traefik-web-ui 20 | namespace: kube-system 21 | spec: 22 | rules: 23 | - host: traefik-ui 24 | http: 25 | paths: 26 | - path: / 27 | pathType: Prefix 28 | backend: 29 | service: 30 | name: traefik-web-ui 31 | port: 32 | number: {{traefik_admin_port}} 33 | 34 | 35 | -------------------------------------------------------------------------------- /sys/0x00000000addons/templates/4.traefik/traefik-ui.yaml-1.25.j2: -------------------------------------------------------------------------------- 1 | --- 2 | apiVersion: v1 3 | kind: Service 4 | metadata: 5 | name: traefik-web-ui 6 | namespace: kube-system 7 | spec: 8 | selector: 9 | k8s-app: traefik-ingress-lb 10 | ports: 11 | - name: web 12 | port: {{traefik_admin_port}} 13 | targetPort: {{traefik_data_port}} 14 | 15 | --- 16 | apiVersion: networking.k8s.io/v1 17 | kind: Ingress 18 | metadata: 19 | name: traefik-web-ui 20 | namespace: kube-system 21 | spec: 22 | rules: 23 | - host: traefik-ui 24 | http: 25 | paths: 26 | - path: / 27 | pathType: Prefix 28 | backend: 29 | service: 30 | name: traefik-web-ui 31 | port: 32 | number: {{traefik_admin_port}} 33 | 34 | 35 | -------------------------------------------------------------------------------- /sys/0x00000000addons/templates/4.traefik/traefik-ui.yaml-1.26.j2: -------------------------------------------------------------------------------- 1 | --- 2 | apiVersion: v1 3 | kind: Service 4 | metadata: 5 | name: traefik-web-ui 6 | namespace: kube-system 7 | spec: 8 | selector: 9 | k8s-app: traefik-ingress-lb 10 | ports: 11 | - name: web 12 | port: {{traefik_admin_port}} 13 | targetPort: {{traefik_data_port}} 14 | 15 | --- 16 | apiVersion: networking.k8s.io/v1 17 | kind: Ingress 18 | metadata: 19 | name: traefik-web-ui 20 | namespace: kube-system 21 | spec: 22 | rules: 23 | - host: traefik-ui 24 | http: 25 | paths: 26 | - path: / 27 | pathType: Prefix 28 | backend: 29 | service: 30 | name: traefik-web-ui 31 | port: 32 | number: {{traefik_admin_port}} 33 | 34 | 35 | -------------------------------------------------------------------------------- /sys/0x00000000addons/templates/4.traefik/traefik-ui.yaml-1.27.j2: -------------------------------------------------------------------------------- 1 | --- 2 | apiVersion: v1 3 | kind: Service 4 | metadata: 5 | name: traefik-web-ui 6 | namespace: kube-system 7 | spec: 8 | selector: 9 | k8s-app: traefik-ingress-lb 10 | ports: 11 | - name: web 12 | port: {{traefik_admin_port}} 13 | targetPort: {{traefik_data_port}} 14 | 15 | --- 16 | apiVersion: networking.k8s.io/v1 17 | kind: Ingress 18 | metadata: 19 | name: traefik-web-ui 20 | namespace: kube-system 21 | spec: 22 | rules: 23 | - host: traefik-ui 24 | http: 25 | paths: 26 | - path: / 27 | pathType: Prefix 28 | backend: 29 | service: 30 | name: traefik-web-ui 31 | port: 32 | number: {{traefik_admin_port}} 33 | 34 | 35 | -------------------------------------------------------------------------------- /sys/0x00000000addons/templates/4.traefik/traefik-ui.yaml-1.28.j2: -------------------------------------------------------------------------------- 1 | --- 2 | apiVersion: v1 3 | kind: Service 4 | metadata: 5 | name: traefik-web-ui 6 | namespace: kube-system 7 | spec: 8 | selector: 9 | k8s-app: traefik-ingress-lb 10 | ports: 11 | - name: web 12 | port: {{traefik_admin_port}} 13 | targetPort: {{traefik_data_port}} 14 | 15 | --- 16 | apiVersion: networking.k8s.io/v1 17 | kind: Ingress 18 | metadata: 19 | name: traefik-web-ui 20 | namespace: kube-system 21 | spec: 22 | rules: 23 | - host: traefik-ui 24 | http: 25 | paths: 26 | - path: / 27 | pathType: Prefix 28 | backend: 29 | service: 30 | name: traefik-web-ui 31 | port: 32 | number: {{traefik_admin_port}} 33 | 34 | 35 | -------------------------------------------------------------------------------- /sys/0x00000000addons/templates/4.traefik/traefik-ui.yaml-1.29.j2: -------------------------------------------------------------------------------- 1 | --- 2 | apiVersion: v1 3 | kind: Service 4 | metadata: 5 | name: traefik-web-ui 6 | namespace: kube-system 7 | spec: 8 | selector: 9 | k8s-app: traefik-ingress-lb 10 | ports: 11 | - name: web 12 | port: {{traefik_admin_port}} 13 | targetPort: {{traefik_data_port}} 14 | 15 | --- 16 | apiVersion: networking.k8s.io/v1 17 | kind: Ingress 18 | metadata: 19 | name: traefik-web-ui 20 | namespace: kube-system 21 | spec: 22 | rules: 23 | - host: traefik-ui 24 | http: 25 | paths: 26 | - path: / 27 | pathType: Prefix 28 | backend: 29 | service: 30 | name: traefik-web-ui 31 | port: 32 | number: {{traefik_admin_port}} 33 | 34 | 35 | -------------------------------------------------------------------------------- /sys/0x00000000addons/templates/5.heapster/heapster-Deployment.yaml.j2: -------------------------------------------------------------------------------- 1 | apiVersion: apps/v1 2 | kind: Deployment 3 | metadata: 4 | name: heapster 5 | namespace: kube-system 6 | spec: 7 | replicas: 1 8 | selector: 9 | matchLabels: 10 | task: monitoring 11 | k8s-app: heapster 12 | template: 13 | metadata: 14 | labels: 15 | task: monitoring 16 | k8s-app: heapster 17 | spec: 18 | serviceAccountName: heapster 19 | containers: 20 | - name: heapster 21 | image: {{addons_ip3}}:5000/heapster-amd64:v1.5.4 22 | imagePullPolicy: IfNotPresent 23 | command: 24 | - /heapster 25 | - --source=kubernetes:https://{{master_vip}}:{{k8sapiport}}?auth= 26 | resources: 27 | requests: 28 | cpu: 100m 29 | memory: 250Mi 30 | limits: 31 | cpu: 2 32 | memory: 2048Mi 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /sys/0x00000000addons/templates/5.heapster/heapster-ServiceAccount.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: ServiceAccount 3 | metadata: 4 | name: heapster 5 | namespace: kube-system 6 | labels: 7 | kubernetes.io/cluster-service: "true" 8 | addonmanager.kubernetes.io/mode: Reconcile 9 | -------------------------------------------------------------------------------- /sys/0x00000000addons/templates/5.heapster/heapster-rbac.yaml: -------------------------------------------------------------------------------- 1 | kind: ClusterRoleBinding 2 | apiVersion: rbac.authorization.k8s.io/v1 3 | metadata: 4 | name: heapster 5 | roleRef: 6 | apiGroup: rbac.authorization.k8s.io 7 | kind: ClusterRole 8 | name: system:heapster 9 | subjects: 10 | - kind: ServiceAccount 11 | name: heapster 12 | namespace: kube-system 13 | -------------------------------------------------------------------------------- /sys/0x00000000addons/templates/5.heapster/heapster-svc.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | apiVersion: v1 3 | kind: Service 4 | metadata: 5 | labels: 6 | task: monitoring 7 | # For use as a Cluster add-on (https://github.com/kubernetes/kubernetes/tree/master/cluster/addons) 8 | # If you are NOT using this as an addon, you should comment out this line. 9 | kubernetes.io/cluster-service: 'true' 10 | kubernetes.io/name: Heapster 11 | name: heapster 12 | namespace: kube-system 13 | spec: 14 | ports: 15 | - port: 80 16 | targetPort: 8082 17 | selector: 18 | k8s-app: heapster 19 | 20 | -------------------------------------------------------------------------------- /sys/0x00000000addons/templates/6.registry/docker-registry.yaml.j2: -------------------------------------------------------------------------------- 1 | apiVersion: apps/v1 2 | kind: Deployment 3 | metadata: 4 | name: docker-registry 5 | namespace: kube-system 6 | labels: 7 | app: docker-registry 8 | spec: 9 | replicas: 1 10 | selector: 11 | matchLabels: 12 | app: docker-registry 13 | template: 14 | metadata: 15 | labels: 16 | app: docker-registry 17 | spec: 18 | nodeSelector: 19 | registry: turnon 20 | containers: 21 | - name: docker-registry 22 | image: {{addons_ip3}}:5000/registry:v2.7.1 23 | imagePullPolicy: IfNotPresent 24 | resources: 25 | requests: 26 | cpu: 100m 27 | memory: 256Mi 28 | limits: 29 | cpu: 4 30 | memory: 8192Gi 31 | livenessProbe: 32 | httpGet: 33 | path: / 34 | port: 5000 35 | scheme: HTTP 36 | initialDelaySeconds: 120 37 | timeoutSeconds: 10 38 | periodSeconds: 60 39 | volumeMounts: 40 | - name: registry-data 41 | mountPath: /var/lib/registry 42 | volumes: 43 | - name: registry-data 44 | hostPath: 45 | path: {{software_home}}/dockerregistry 46 | 47 | --- 48 | apiVersion: v1 49 | kind: Service 50 | metadata: 51 | name: docker-registry 52 | namespace: kube-system 53 | labels: 54 | app: docker-registry 55 | spec: 56 | type: NodePort 57 | selector: 58 | app: docker-registry 59 | ports: 60 | - name: http 61 | port: 5000 62 | targetPort: 5000 63 | nodePort: 5000 64 | 65 | -------------------------------------------------------------------------------- /sys/0x00000000finish/addnode/tasks/main.yml: -------------------------------------------------------------------------------- 1 | - name: Create reboot config file 2 | copy: 3 | src: ../../templates/tempreboot.sh 4 | dest: "/tmp/.kubeinstalltemp/data{{sub_process_dir}}/temp/tempreboot.sh" 5 | mode: 0755 6 | - name: Congratulations, node successfully joined kubernetes cluster! "{{rebootxt}}" 7 | wait_for: 8 | timeout: "{{rebootime}}" 9 | - shell: "nohup /tmp/.kubeinstalltemp/data{{sub_process_dir}}/temp/tempreboot.sh 2>&1 &" 10 | ignore_errors: yes 11 | 12 | -------------------------------------------------------------------------------- /sys/0x00000000finish/install/tasks/main.yml: -------------------------------------------------------------------------------- 1 | - name: Create reboot config file 2 | copy: 3 | src: ../../templates/tempreboot.sh 4 | dest: "/tmp/.kubeinstalltemp/data{{sub_process_dir}}/temp/tempreboot.sh" 5 | mode: 0755 6 | - name: Kubernetes cluster installation and deployment completed! "{{rebootxt}}" 7 | wait_for: 8 | timeout: "{{rebootime}}" 9 | - shell: "nohup /tmp/.kubeinstalltemp/data{{sub_process_dir}}/temp/tempreboot.sh 2>&1 &" 10 | ignore_errors: yes 11 | -------------------------------------------------------------------------------- /sys/0x00000000finish/templates/tempreboot.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | sleep 5 4 | sync 5 | reboot 6 | 7 | 8 | -------------------------------------------------------------------------------- /sys/0x00000000master/admintoken/tasks/main.yml: -------------------------------------------------------------------------------- 1 | - name: 1.Create loginkey 2 | template: 3 | src: "../templates/loginkey.txt.j2" 4 | dest: "{{software_home}}/loginkey.txt" 5 | - name: 2.Distribution login_token 6 | copy: 7 | src: "{{kipath}}/data/output{{sub_process_dir}}/cert/dashboard_login_token.txt" 8 | dest: "/etc/kubernetes/dashboard_login_token.txt" 9 | - shell: "cat /etc/kubernetes/dashboard_login_token.txt >> {{software_home}}/loginkey.txt" 10 | 11 | -------------------------------------------------------------------------------- /sys/0x00000000master/admintoken/templates/loginkey.txt.j2: -------------------------------------------------------------------------------- 1 | --------------------------------------------------------------- 2 | [1] Container image center address: {{addons_ip3}}:5000 3 | usage method: 4 | docker pull {{addons_ip3}}:5000/Your-image-name:Version 5 | ctr -n=k8s.io images pull --plain-http {{addons_ip3}}:5000/Your-image-name:Version 6 | docker push {{addons_ip3}}:5000/Your-image-name:Version 7 | ctr -n=k8s.io images push --plain-http {{addons_ip3}}:5000/Your-image-name:Version 8 | 9 | 10 | --------------------------------------------------------------- 11 | [2] k8s dashboard console: https://{{addons_ip1}}:32767 12 | usage method: 13 | Use the browser to log in and access. The token is as follows: 14 | -------------------------------------------------------------------------------- /sys/0x00000000master/api-rbac/tasks/main.yml: -------------------------------------------------------------------------------- 1 | - name: 1.Wait 30s 2 | wait_for: 3 | timeout: 30 4 | - name: 2.Create clusterrolebinding 5 | shell: "kubectl create clusterrolebinding kubelet-bootstrap --clusterrole=system:node-bootstrapper --user=kubelet-bootstrap" 6 | ignore_errors: yes 7 | - shell: "kubectl create clusterrolebinding kube-apiserver:kubelet-apis --clusterrole=system:kubelet-api-admin --user kubernetes" 8 | ignore_errors: yes 9 | - name: 3.Get kubelet-api-admin role info 10 | shell: "kubectl describe clusterrole system:node-bootstrapper" 11 | ignore_errors: yes 12 | -------------------------------------------------------------------------------- /sys/0x00000000master/apiserver/tasks/main.yml: -------------------------------------------------------------------------------- 1 | - name: 1.Distribution kube-apiserver cert 2 | copy: 3 | src: "{{kipath}}/data/output{{sub_process_dir}}/cert/" 4 | dest: /etc/kubernetes/ 5 | - name: 2.Create kube-apiserver service startup file 6 | template: 7 | src: "../templates/kube-apiserver.service-{{k8sver}}.j2" 8 | dest: /etc/systemd/system/kube-apiserver.service 9 | - name: 3.Create {{k8s_install_home}}/kubernetes/kube-apiserver directory 10 | file: 11 | path: "{{k8s_install_home}}/kubernetes/kube-apiserver/log" 12 | state: directory 13 | - name: 4.Start kube-apiserver service 14 | systemd: 15 | daemon_reload: true 16 | name: kube-apiserver 17 | state: restarted 18 | enabled: true 19 | - name: 5.Set IPVS rules 20 | shell: "/usr/local/bin/ipvsinit.sh" 21 | ignore_errors: yes 22 | 23 | -------------------------------------------------------------------------------- /sys/0x00000000master/apiserver/templates/kube-apiserver.service-1.27.j2: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=Kubernetes API Server 3 | Documentation=https://github.com/GoogleCloudPlatform/kubernetes 4 | After=network.target 5 | 6 | [Service] 7 | WorkingDirectory={{k8s_install_home}}/kubernetes/kube-apiserver 8 | ExecStart=/usr/local/bin/kube-apiserver \ 9 | --enable-admission-plugins=NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,ResourceQuota,MutatingAdmissionWebhook,ValidatingAdmissionWebhook \ 10 | --advertise-address={{ip}} \ 11 | --bind-address=0.0.0.0 \ 12 | --secure-port={{k8sapiport}} \ 13 | --runtime-config=rbac.authorization.k8s.io/v1beta1 \ 14 | --authorization-mode=Node,RBAC \ 15 | --anonymous-auth=false \ 16 | --enable-bootstrap-token-auth \ 17 | --token-auth-file=/etc/kubernetes/ssl/token.csv \ 18 | --service-cluster-ip-range={{service_cidr}} \ 19 | --service-node-port-range=5000-32767 \ 20 | --enable-aggregator-routing=true \ 21 | --proxy-client-cert-file=/etc/kubernetes/ssl/kubernetes.pem \ 22 | --proxy-client-key-file=/etc/kubernetes/ssl/kubernetes-key.pem \ 23 | --requestheader-client-ca-file=/etc/kubernetes/ssl/k8s-root-ca.pem \ 24 | --requestheader-allowed-names=aggregator,metrics,front-proxy-client \ 25 | --requestheader-extra-headers-prefix=X-Remote-Extra- \ 26 | --requestheader-group-headers=X-Remote-Group \ 27 | --requestheader-username-headers=X-Remote-User \ 28 | --runtime-config=rbac.authorization.k8s.io/v1beta1 \ 29 | --tls-cert-file=/etc/kubernetes/ssl/kubernetes.pem \ 30 | --tls-private-key-file=/etc/kubernetes/ssl/kubernetes-key.pem \ 31 | --service-account-key-file=/etc/kubernetes/ssl/sa.pub \ 32 | --service-account-signing-key-file=/etc/kubernetes/ssl/sa.key \ 33 | --service-account-issuer=https://kubernetes.default.svc.cluster.local \ 34 | --kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname \ 35 | --kubelet-client-certificate=/etc/kubernetes/ssl/kubernetes.pem \ 36 | --kubelet-client-key=/etc/kubernetes/ssl/kubernetes-key.pem \ 37 | --client-ca-file=/etc/kubernetes/ssl/k8s-root-ca.pem \ 38 | --service-account-key-file=/etc/kubernetes/ssl/k8s-root-ca-key.pem \ 39 | --etcd-cafile=/etc/kubernetes/ssl/k8s-root-ca.pem \ 40 | --etcd-certfile=/etc/kubernetes/ssl/kubernetes.pem \ 41 | --etcd-keyfile=/etc/kubernetes/ssl/kubernetes-key.pem \ 42 | --etcd-servers={{etcd_endpoints}} \ 43 | --allow-privileged=true \ 44 | --apiserver-count=3 \ 45 | --audit-log-maxage=30 \ 46 | --audit-log-maxbackup=3 \ 47 | --audit-log-maxsize=100 \ 48 | --event-ttl=1h \ 49 | --v=2 50 | Restart=on-failure 51 | RestartSec=5 52 | Type=notify 53 | LimitNOFILE=65536 54 | 55 | [Install] 56 | WantedBy=multi-user.target 57 | -------------------------------------------------------------------------------- /sys/0x00000000master/apiserver/templates/kube-apiserver.service-1.28.j2: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=Kubernetes API Server 3 | Documentation=https://github.com/GoogleCloudPlatform/kubernetes 4 | After=network.target 5 | 6 | [Service] 7 | WorkingDirectory={{k8s_install_home}}/kubernetes/kube-apiserver 8 | ExecStart=/usr/local/bin/kube-apiserver \ 9 | --enable-admission-plugins=NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,ResourceQuota,MutatingAdmissionWebhook,ValidatingAdmissionWebhook \ 10 | --advertise-address={{ip}} \ 11 | --bind-address=0.0.0.0 \ 12 | --secure-port={{k8sapiport}} \ 13 | --runtime-config=rbac.authorization.k8s.io/v1beta1 \ 14 | --authorization-mode=Node,RBAC \ 15 | --anonymous-auth=false \ 16 | --enable-bootstrap-token-auth \ 17 | --token-auth-file=/etc/kubernetes/ssl/token.csv \ 18 | --service-cluster-ip-range={{service_cidr}} \ 19 | --service-node-port-range=5000-32767 \ 20 | --enable-aggregator-routing=true \ 21 | --proxy-client-cert-file=/etc/kubernetes/ssl/kubernetes.pem \ 22 | --proxy-client-key-file=/etc/kubernetes/ssl/kubernetes-key.pem \ 23 | --requestheader-client-ca-file=/etc/kubernetes/ssl/k8s-root-ca.pem \ 24 | --requestheader-allowed-names=aggregator,metrics,front-proxy-client \ 25 | --requestheader-extra-headers-prefix=X-Remote-Extra- \ 26 | --requestheader-group-headers=X-Remote-Group \ 27 | --requestheader-username-headers=X-Remote-User \ 28 | --runtime-config=rbac.authorization.k8s.io/v1beta1 \ 29 | --tls-cert-file=/etc/kubernetes/ssl/kubernetes.pem \ 30 | --tls-private-key-file=/etc/kubernetes/ssl/kubernetes-key.pem \ 31 | --service-account-key-file=/etc/kubernetes/ssl/sa.pub \ 32 | --service-account-signing-key-file=/etc/kubernetes/ssl/sa.key \ 33 | --service-account-issuer=https://kubernetes.default.svc.cluster.local \ 34 | --kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname \ 35 | --kubelet-client-certificate=/etc/kubernetes/ssl/kubernetes.pem \ 36 | --kubelet-client-key=/etc/kubernetes/ssl/kubernetes-key.pem \ 37 | --client-ca-file=/etc/kubernetes/ssl/k8s-root-ca.pem \ 38 | --service-account-key-file=/etc/kubernetes/ssl/k8s-root-ca-key.pem \ 39 | --etcd-cafile=/etc/kubernetes/ssl/k8s-root-ca.pem \ 40 | --etcd-certfile=/etc/kubernetes/ssl/kubernetes.pem \ 41 | --etcd-keyfile=/etc/kubernetes/ssl/kubernetes-key.pem \ 42 | --etcd-servers={{etcd_endpoints}} \ 43 | --allow-privileged=true \ 44 | --apiserver-count=3 \ 45 | --audit-log-maxage=30 \ 46 | --audit-log-maxbackup=3 \ 47 | --audit-log-maxsize=100 \ 48 | --event-ttl=1h \ 49 | --v=2 50 | Restart=on-failure 51 | RestartSec=5 52 | Type=notify 53 | LimitNOFILE=65536 54 | 55 | [Install] 56 | WantedBy=multi-user.target 57 | -------------------------------------------------------------------------------- /sys/0x00000000master/apiserver/templates/kube-apiserver.service-1.29.j2: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=Kubernetes API Server 3 | Documentation=https://github.com/GoogleCloudPlatform/kubernetes 4 | After=network.target 5 | 6 | [Service] 7 | WorkingDirectory={{k8s_install_home}}/kubernetes/kube-apiserver 8 | ExecStart=/usr/local/bin/kube-apiserver \ 9 | --enable-admission-plugins=NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,ResourceQuota,MutatingAdmissionWebhook,ValidatingAdmissionWebhook \ 10 | --advertise-address={{ip}} \ 11 | --bind-address=0.0.0.0 \ 12 | --secure-port={{k8sapiport}} \ 13 | --runtime-config=rbac.authorization.k8s.io/v1beta1 \ 14 | --authorization-mode=Node,RBAC \ 15 | --anonymous-auth=false \ 16 | --enable-bootstrap-token-auth \ 17 | --token-auth-file=/etc/kubernetes/ssl/token.csv \ 18 | --service-cluster-ip-range={{service_cidr}} \ 19 | --service-node-port-range=5000-32767 \ 20 | --enable-aggregator-routing=true \ 21 | --proxy-client-cert-file=/etc/kubernetes/ssl/kubernetes.pem \ 22 | --proxy-client-key-file=/etc/kubernetes/ssl/kubernetes-key.pem \ 23 | --requestheader-client-ca-file=/etc/kubernetes/ssl/k8s-root-ca.pem \ 24 | --requestheader-allowed-names=aggregator,metrics,front-proxy-client \ 25 | --requestheader-extra-headers-prefix=X-Remote-Extra- \ 26 | --requestheader-group-headers=X-Remote-Group \ 27 | --requestheader-username-headers=X-Remote-User \ 28 | --runtime-config=rbac.authorization.k8s.io/v1beta1 \ 29 | --tls-cert-file=/etc/kubernetes/ssl/kubernetes.pem \ 30 | --tls-private-key-file=/etc/kubernetes/ssl/kubernetes-key.pem \ 31 | --service-account-key-file=/etc/kubernetes/ssl/sa.pub \ 32 | --service-account-signing-key-file=/etc/kubernetes/ssl/sa.key \ 33 | --service-account-issuer=https://kubernetes.default.svc.cluster.local \ 34 | --kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname \ 35 | --kubelet-client-certificate=/etc/kubernetes/ssl/kubernetes.pem \ 36 | --kubelet-client-key=/etc/kubernetes/ssl/kubernetes-key.pem \ 37 | --client-ca-file=/etc/kubernetes/ssl/k8s-root-ca.pem \ 38 | --service-account-key-file=/etc/kubernetes/ssl/k8s-root-ca-key.pem \ 39 | --etcd-cafile=/etc/kubernetes/ssl/k8s-root-ca.pem \ 40 | --etcd-certfile=/etc/kubernetes/ssl/kubernetes.pem \ 41 | --etcd-keyfile=/etc/kubernetes/ssl/kubernetes-key.pem \ 42 | --etcd-servers={{etcd_endpoints}} \ 43 | --allow-privileged=true \ 44 | --apiserver-count=3 \ 45 | --audit-log-maxage=30 \ 46 | --audit-log-maxbackup=3 \ 47 | --audit-log-maxsize=100 \ 48 | --event-ttl=1h \ 49 | --v=2 50 | Restart=on-failure 51 | RestartSec=5 52 | Type=notify 53 | LimitNOFILE=65536 54 | 55 | [Install] 56 | WantedBy=multi-user.target 57 | -------------------------------------------------------------------------------- /sys/0x00000000master/controller-manager/tasks/main.yml: -------------------------------------------------------------------------------- 1 | - name: 1.Create kube-controller-manager service startup file 2 | template: 3 | src: "../templates/kube-controller-manager.service-{{k8sver}}.j2" 4 | dest: /etc/systemd/system/kube-controller-manager.service 5 | - name: 2.Create {{k8s_install_home}}/kubernetes/kube-controller-manager directory 6 | file: 7 | path: "{{k8s_install_home}}/kubernetes/kube-controller-manager" 8 | state: directory 9 | - name: 3.Start kube-controller-manager service 10 | systemd: 11 | daemon_reload: true 12 | name: kube-controller-manager 13 | state: restarted 14 | enabled: true 15 | 16 | -------------------------------------------------------------------------------- /sys/0x00000000master/controller-manager/templates/kube-controller-manager.service-1.24.j2: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=Kubernetes Controller Manager 3 | Documentation=https://github.com/GoogleCloudPlatform/kubernetes 4 | 5 | [Service] 6 | WorkingDirectory={{k8s_install_home}}/kubernetes/kube-controller-manager/ 7 | ExecStart=/usr/local/bin/kube-controller-manager \ 8 | --bind-address=127.0.0.1 \ 9 | --allocate-node-cidrs=true \ 10 | --requestheader-allowed-names=aggregator \ 11 | --horizontal-pod-autoscaler-cpu-initialization-period=2m \ 12 | --horizontal-pod-autoscaler-downscale-stabilization=3m \ 13 | --service-cluster-ip-range={{service_cidr}} \ 14 | --cluster-cidr={{pod_cidr}} \ 15 | --node-cidr-mask-size=25 \ 16 | --cluster-name=kubernetes \ 17 | --cluster-signing-cert-file=/etc/kubernetes/ssl/k8s-root-ca.pem \ 18 | --cluster-signing-key-file=/etc/kubernetes/ssl/k8s-root-ca-key.pem \ 19 | --service-account-private-key-file=/etc/kubernetes/ssl/k8s-root-ca-key.pem \ 20 | --root-ca-file=/etc/kubernetes/ssl/k8s-root-ca.pem \ 21 | --kubeconfig=/etc/kubernetes/ssl/local.kubeconfig \ 22 | --service-account-private-key-file=/etc/kubernetes/ssl/sa.key \ 23 | --use-service-account-credentials=true \ 24 | --leader-elect=true \ 25 | --logtostderr=false \ 26 | --log-dir={{k8s_install_home}}/kubernetes/kube-controller-manager/ \ 27 | --v=2 28 | Restart=on-failure 29 | RestartSec=5 30 | 31 | [Install] 32 | WantedBy=multi-user.target 33 | 34 | -------------------------------------------------------------------------------- /sys/0x00000000master/controller-manager/templates/kube-controller-manager.service-1.25.j2: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=Kubernetes Controller Manager 3 | Documentation=https://github.com/GoogleCloudPlatform/kubernetes 4 | 5 | [Service] 6 | WorkingDirectory={{k8s_install_home}}/kubernetes/kube-controller-manager/ 7 | ExecStart=/usr/local/bin/kube-controller-manager \ 8 | --bind-address=127.0.0.1 \ 9 | --allocate-node-cidrs=true \ 10 | --requestheader-allowed-names=aggregator \ 11 | --horizontal-pod-autoscaler-cpu-initialization-period=2m \ 12 | --horizontal-pod-autoscaler-downscale-stabilization=3m \ 13 | --service-cluster-ip-range={{service_cidr}} \ 14 | --cluster-cidr={{pod_cidr}} \ 15 | --node-cidr-mask-size=25 \ 16 | --cluster-name=kubernetes \ 17 | --cluster-signing-cert-file=/etc/kubernetes/ssl/k8s-root-ca.pem \ 18 | --cluster-signing-key-file=/etc/kubernetes/ssl/k8s-root-ca-key.pem \ 19 | --service-account-private-key-file=/etc/kubernetes/ssl/k8s-root-ca-key.pem \ 20 | --root-ca-file=/etc/kubernetes/ssl/k8s-root-ca.pem \ 21 | --kubeconfig=/etc/kubernetes/ssl/local.kubeconfig \ 22 | --service-account-private-key-file=/etc/kubernetes/ssl/sa.key \ 23 | --use-service-account-credentials=true \ 24 | --leader-elect=true \ 25 | --v=2 26 | Restart=on-failure 27 | RestartSec=5 28 | 29 | [Install] 30 | WantedBy=multi-user.target 31 | 32 | -------------------------------------------------------------------------------- /sys/0x00000000master/controller-manager/templates/kube-controller-manager.service-1.26.j2: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=Kubernetes Controller Manager 3 | Documentation=https://github.com/GoogleCloudPlatform/kubernetes 4 | 5 | [Service] 6 | WorkingDirectory={{k8s_install_home}}/kubernetes/kube-controller-manager/ 7 | ExecStart=/usr/local/bin/kube-controller-manager \ 8 | --bind-address=127.0.0.1 \ 9 | --allocate-node-cidrs=true \ 10 | --requestheader-allowed-names=aggregator \ 11 | --horizontal-pod-autoscaler-cpu-initialization-period=2m \ 12 | --horizontal-pod-autoscaler-downscale-stabilization=3m \ 13 | --service-cluster-ip-range={{service_cidr}} \ 14 | --cluster-cidr={{pod_cidr}} \ 15 | --node-cidr-mask-size=25 \ 16 | --cluster-name=kubernetes \ 17 | --cluster-signing-cert-file=/etc/kubernetes/ssl/k8s-root-ca.pem \ 18 | --cluster-signing-key-file=/etc/kubernetes/ssl/k8s-root-ca-key.pem \ 19 | --service-account-private-key-file=/etc/kubernetes/ssl/k8s-root-ca-key.pem \ 20 | --root-ca-file=/etc/kubernetes/ssl/k8s-root-ca.pem \ 21 | --kubeconfig=/etc/kubernetes/ssl/local.kubeconfig \ 22 | --service-account-private-key-file=/etc/kubernetes/ssl/sa.key \ 23 | --use-service-account-credentials=true \ 24 | --leader-elect=true \ 25 | --v=2 26 | Restart=on-failure 27 | RestartSec=5 28 | 29 | [Install] 30 | WantedBy=multi-user.target 31 | 32 | -------------------------------------------------------------------------------- /sys/0x00000000master/controller-manager/templates/kube-controller-manager.service-1.27.j2: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=Kubernetes Controller Manager 3 | Documentation=https://github.com/GoogleCloudPlatform/kubernetes 4 | 5 | [Service] 6 | WorkingDirectory={{k8s_install_home}}/kubernetes/kube-controller-manager/ 7 | ExecStart=/usr/local/bin/kube-controller-manager \ 8 | --bind-address=127.0.0.1 \ 9 | --allocate-node-cidrs=true \ 10 | --requestheader-allowed-names=aggregator \ 11 | --horizontal-pod-autoscaler-cpu-initialization-period=2m \ 12 | --horizontal-pod-autoscaler-downscale-stabilization=3m \ 13 | --service-cluster-ip-range={{service_cidr}} \ 14 | --cluster-cidr={{pod_cidr}} \ 15 | --node-cidr-mask-size=25 \ 16 | --cluster-name=kubernetes \ 17 | --cluster-signing-cert-file=/etc/kubernetes/ssl/k8s-root-ca.pem \ 18 | --cluster-signing-key-file=/etc/kubernetes/ssl/k8s-root-ca-key.pem \ 19 | --service-account-private-key-file=/etc/kubernetes/ssl/k8s-root-ca-key.pem \ 20 | --root-ca-file=/etc/kubernetes/ssl/k8s-root-ca.pem \ 21 | --kubeconfig=/etc/kubernetes/ssl/local.kubeconfig \ 22 | --service-account-private-key-file=/etc/kubernetes/ssl/sa.key \ 23 | --use-service-account-credentials=true \ 24 | --leader-elect=true \ 25 | --v=2 26 | Restart=on-failure 27 | RestartSec=5 28 | 29 | [Install] 30 | WantedBy=multi-user.target 31 | 32 | -------------------------------------------------------------------------------- /sys/0x00000000master/controller-manager/templates/kube-controller-manager.service-1.28.j2: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=Kubernetes Controller Manager 3 | Documentation=https://github.com/GoogleCloudPlatform/kubernetes 4 | 5 | [Service] 6 | WorkingDirectory={{k8s_install_home}}/kubernetes/kube-controller-manager/ 7 | ExecStart=/usr/local/bin/kube-controller-manager \ 8 | --bind-address=127.0.0.1 \ 9 | --allocate-node-cidrs=true \ 10 | --requestheader-allowed-names=aggregator \ 11 | --horizontal-pod-autoscaler-cpu-initialization-period=2m \ 12 | --horizontal-pod-autoscaler-downscale-stabilization=3m \ 13 | --service-cluster-ip-range={{service_cidr}} \ 14 | --cluster-cidr={{pod_cidr}} \ 15 | --node-cidr-mask-size=25 \ 16 | --cluster-name=kubernetes \ 17 | --cluster-signing-cert-file=/etc/kubernetes/ssl/k8s-root-ca.pem \ 18 | --cluster-signing-key-file=/etc/kubernetes/ssl/k8s-root-ca-key.pem \ 19 | --service-account-private-key-file=/etc/kubernetes/ssl/k8s-root-ca-key.pem \ 20 | --root-ca-file=/etc/kubernetes/ssl/k8s-root-ca.pem \ 21 | --kubeconfig=/etc/kubernetes/ssl/local.kubeconfig \ 22 | --service-account-private-key-file=/etc/kubernetes/ssl/sa.key \ 23 | --use-service-account-credentials=true \ 24 | --leader-elect=true \ 25 | --v=2 26 | Restart=on-failure 27 | RestartSec=5 28 | 29 | [Install] 30 | WantedBy=multi-user.target 31 | 32 | -------------------------------------------------------------------------------- /sys/0x00000000master/controller-manager/templates/kube-controller-manager.service-1.29.j2: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=Kubernetes Controller Manager 3 | Documentation=https://github.com/GoogleCloudPlatform/kubernetes 4 | 5 | [Service] 6 | WorkingDirectory={{k8s_install_home}}/kubernetes/kube-controller-manager/ 7 | ExecStart=/usr/local/bin/kube-controller-manager \ 8 | --bind-address=127.0.0.1 \ 9 | --allocate-node-cidrs=true \ 10 | --requestheader-allowed-names=aggregator \ 11 | --horizontal-pod-autoscaler-cpu-initialization-period=2m \ 12 | --horizontal-pod-autoscaler-downscale-stabilization=3m \ 13 | --service-cluster-ip-range={{service_cidr}} \ 14 | --cluster-cidr={{pod_cidr}} \ 15 | --node-cidr-mask-size=25 \ 16 | --cluster-name=kubernetes \ 17 | --cluster-signing-cert-file=/etc/kubernetes/ssl/k8s-root-ca.pem \ 18 | --cluster-signing-key-file=/etc/kubernetes/ssl/k8s-root-ca-key.pem \ 19 | --service-account-private-key-file=/etc/kubernetes/ssl/k8s-root-ca-key.pem \ 20 | --root-ca-file=/etc/kubernetes/ssl/k8s-root-ca.pem \ 21 | --kubeconfig=/etc/kubernetes/ssl/local.kubeconfig \ 22 | --service-account-private-key-file=/etc/kubernetes/ssl/sa.key \ 23 | --use-service-account-credentials=true \ 24 | --leader-elect=true \ 25 | --v=2 26 | Restart=on-failure 27 | RestartSec=5 28 | 29 | [Install] 30 | WantedBy=multi-user.target 31 | 32 | -------------------------------------------------------------------------------- /sys/0x00000000master/kubectl/tasks/main.yml: -------------------------------------------------------------------------------- 1 | - name: 1.Create /root/.kube directory 2 | file: 3 | path: /root/.kube 4 | state: directory 5 | - name: 2.Create local.kubeconfig file 6 | copy: 7 | src: "{{kipath}}/data/output{{sub_process_dir}}/cert/ssl/local.kubeconfig" 8 | dest: "/root/.kube/config" 9 | - name: 3.Generate kubectl program file 10 | shell: "cp -rf /usr/local/bin/kubectl /usr/sbin/" 11 | ignore_errors: yes 12 | 13 | -------------------------------------------------------------------------------- /sys/0x00000000master/scheduler/tasks/main.yml: -------------------------------------------------------------------------------- 1 | - name: 1.Create kube-scheduler service startup file 2 | template: 3 | src: "../templates/kube-scheduler.service-{{k8sver}}.j2" 4 | dest: "/etc/systemd/system/kube-scheduler.service" 5 | - name: 2.Create {{k8s_install_home}}/kubernetes/kube-scheduler directory 6 | file: 7 | path: "{{k8s_install_home}}/kubernetes/kube-scheduler/" 8 | state: directory 9 | - name: 3.Start kube-scheduler service 10 | systemd: 11 | daemon_reload: true 12 | name: kube-scheduler 13 | state: restarted 14 | enabled: true 15 | 16 | -------------------------------------------------------------------------------- /sys/0x00000000master/scheduler/templates/kube-scheduler.service-1.24.j2: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=Kubernetes Scheduler 3 | Documentation=https://github.com/GoogleCloudPlatform/kubernetes 4 | 5 | [Service] 6 | ExecStart=/usr/local/bin/kube-scheduler \ 7 | --bind-address=127.0.0.1 \ 8 | --leader-elect=true \ 9 | --kubeconfig=/etc/kubernetes/ssl/local.kubeconfig \ 10 | --logtostderr=false \ 11 | --log-dir={{k8s_install_home}}/kubernetes/kube-scheduler \ 12 | --v=2 13 | Restart=on-failure 14 | RestartSec=5 15 | 16 | [Install] 17 | WantedBy=multi-user.target 18 | -------------------------------------------------------------------------------- /sys/0x00000000master/scheduler/templates/kube-scheduler.service-1.25.j2: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=Kubernetes Scheduler 3 | Documentation=https://github.com/GoogleCloudPlatform/kubernetes 4 | 5 | [Service] 6 | ExecStart=/usr/local/bin/kube-scheduler \ 7 | --bind-address=127.0.0.1 \ 8 | --leader-elect=true \ 9 | --kubeconfig=/etc/kubernetes/ssl/local.kubeconfig \ 10 | --v=2 11 | Restart=on-failure 12 | RestartSec=5 13 | 14 | [Install] 15 | WantedBy=multi-user.target 16 | -------------------------------------------------------------------------------- /sys/0x00000000master/scheduler/templates/kube-scheduler.service-1.26.j2: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=Kubernetes Scheduler 3 | Documentation=https://github.com/GoogleCloudPlatform/kubernetes 4 | 5 | [Service] 6 | ExecStart=/usr/local/bin/kube-scheduler \ 7 | --bind-address=127.0.0.1 \ 8 | --leader-elect=true \ 9 | --kubeconfig=/etc/kubernetes/ssl/local.kubeconfig \ 10 | --v=2 11 | Restart=on-failure 12 | RestartSec=5 13 | 14 | [Install] 15 | WantedBy=multi-user.target 16 | -------------------------------------------------------------------------------- /sys/0x00000000master/scheduler/templates/kube-scheduler.service-1.27.j2: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=Kubernetes Scheduler 3 | Documentation=https://github.com/GoogleCloudPlatform/kubernetes 4 | 5 | [Service] 6 | ExecStart=/usr/local/bin/kube-scheduler \ 7 | --bind-address=127.0.0.1 \ 8 | --leader-elect=true \ 9 | --kubeconfig=/etc/kubernetes/ssl/local.kubeconfig \ 10 | --v=2 11 | Restart=on-failure 12 | RestartSec=5 13 | 14 | [Install] 15 | WantedBy=multi-user.target 16 | -------------------------------------------------------------------------------- /sys/0x00000000master/scheduler/templates/kube-scheduler.service-1.28.j2: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=Kubernetes Scheduler 3 | Documentation=https://github.com/GoogleCloudPlatform/kubernetes 4 | 5 | [Service] 6 | ExecStart=/usr/local/bin/kube-scheduler \ 7 | --bind-address=127.0.0.1 \ 8 | --leader-elect=true \ 9 | --kubeconfig=/etc/kubernetes/ssl/local.kubeconfig \ 10 | --v=2 11 | Restart=on-failure 12 | RestartSec=5 13 | 14 | [Install] 15 | WantedBy=multi-user.target 16 | -------------------------------------------------------------------------------- /sys/0x00000000master/scheduler/templates/kube-scheduler.service-1.29.j2: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=Kubernetes Scheduler 3 | Documentation=https://github.com/GoogleCloudPlatform/kubernetes 4 | 5 | [Service] 6 | ExecStart=/usr/local/bin/kube-scheduler \ 7 | --bind-address=127.0.0.1 \ 8 | --leader-elect=true \ 9 | --kubeconfig=/etc/kubernetes/ssl/local.kubeconfig \ 10 | --v=2 11 | Restart=on-failure 12 | RestartSec=5 13 | 14 | [Install] 15 | WantedBy=multi-user.target 16 | -------------------------------------------------------------------------------- /sys/0x0000000network/calico/tasks/main.yml: -------------------------------------------------------------------------------- 1 | - name: 1.Create cniplugin directory 2 | file: 3 | path: "{{k8s_install_home}}/cniplugin/{{item}}" 4 | state: directory 5 | with_items: 6 | - flannel 7 | - calico 8 | - kuberouter 9 | - weave 10 | - cilium 11 | 12 | - name: 2.Create calico.yaml file 13 | template: 14 | src: "../templates/calico.yaml.j2" 15 | dest: "{{k8s_install_home}}/cniplugin/calico/calico.yaml" 16 | 17 | - name: 3.Deploy calico 18 | shell: "/usr/sbin/kubectl --kubeconfig=/etc/kubernetes/ssl/kube-install.kubeconfig apply -f {{k8s_install_home}}/cniplugin/calico/calico.yaml" 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /sys/0x0000000network/cilium/tasks/main.yml: -------------------------------------------------------------------------------- 1 | - name: 1.Create cniplugin directory 2 | file: 3 | path: "{{k8s_install_home}}/cniplugin/{{item}}" 4 | state: directory 5 | with_items: 6 | - flannel 7 | - calico 8 | - kuberouter 9 | - weave 10 | - cilium 11 | 12 | - name: 2.Create cilium.yaml file 13 | template: 14 | src: "../templates/cilium.yaml.j2" 15 | dest: "{{k8s_install_home}}/cniplugin/cilium/cilium.yaml" 16 | 17 | - name: 3.Deploy cilium 18 | shell: "/usr/sbin/kubectl --kubeconfig=/etc/kubernetes/ssl/kube-install.kubeconfig apply -f {{k8s_install_home}}/cniplugin/cilium/cilium.yaml" 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /sys/0x0000000network/flannel/tasks/main.yml: -------------------------------------------------------------------------------- 1 | - name: 1.Create cniplugin directory 2 | file: 3 | path: "{{k8s_install_home}}/cniplugin/{{item}}" 4 | state: directory 5 | with_items: 6 | - flannel 7 | - calico 8 | - kuberouter 9 | - weave 10 | - cilium 11 | 12 | - name: 2.Create flannel.yaml file 13 | template: 14 | src: "../templates/flannel.yaml.j2" 15 | dest: "{{k8s_install_home}}/cniplugin/flannel/flannel.yaml" 16 | mode: 0755 17 | 18 | - name: 3.Deploy flannel 19 | shell: "/usr/sbin/kubectl --kubeconfig=/etc/kubernetes/ssl/kube-install.kubeconfig apply -f {{k8s_install_home}}/cniplugin/flannel/flannel.yaml" 20 | 21 | 22 | -------------------------------------------------------------------------------- /sys/0x0000000network/kuberouter/tasks/main.yml: -------------------------------------------------------------------------------- 1 | - name: 1.Create cniplugin directory 2 | file: 3 | path: "{{k8s_install_home}}/cniplugin/{{item}}" 4 | state: directory 5 | with_items: 6 | - flannel 7 | - calico 8 | - kuberouter 9 | - weave 10 | - cilium 11 | 12 | - name: 2.Create kube-router.yaml file 13 | template: 14 | src: "../templates/kube-router.yaml.j2" 15 | dest: "{{k8s_install_home}}/cniplugin/kuberouter/kube-router.yaml" 16 | 17 | - name: 3.Deploy kube-router 18 | shell: "/usr/sbin/kubectl --kubeconfig=/etc/kubernetes/ssl/kube-install.kubeconfig apply -f {{k8s_install_home}}/cniplugin/kuberouter/kube-router.yaml" 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /sys/0x0000000network/weave/tasks/main.yml: -------------------------------------------------------------------------------- 1 | - name: 1.Create cniplugin directory 2 | file: 3 | path: "{{k8s_install_home}}/cniplugin/{{item}}" 4 | state: directory 5 | with_items: 6 | - flannel 7 | - calico 8 | - kuberouter 9 | - weave 10 | - cilium 11 | 12 | - name: 2.Create weave.yaml file 13 | template: 14 | src: "../templates/weave.yaml.j2" 15 | dest: "{{k8s_install_home}}/cniplugin/weave/weave.yaml" 16 | 17 | - name: 3.Deploy weave 18 | shell: "/usr/sbin/kubectl --kubeconfig=/etc/kubernetes/ssl/kube-install.kubeconfig apply -f {{k8s_install_home}}/cniplugin/weave/weave.yaml" 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /sys/0x0000000storage/tasks/main.yml: -------------------------------------------------------------------------------- 1 | - name: 1.Cleaning up garbage files left in history 2 | file: 3 | path: "{{k8s_install_home}}/etcd" 4 | state: absent 5 | ignore_errors: yes 6 | 7 | - name: 2.Decompress etcd software package 8 | unarchive: 9 | src: "{{kipath}}/pkg/etcd.tar.gz" 10 | dest: /usr/local/bin/ 11 | mode: 0755 12 | - name: 3.Create {{k8s_install_home}}/etcd data directory 13 | file: 14 | path: "{{k8s_install_home}}/etcd" 15 | state: directory 16 | - name: 4.Create etcd cert directory 17 | file: 18 | path: /etc/kubernetes/ssl/ 19 | state: directory 20 | - name: 5.Distribution etcd cert file 21 | copy: 22 | src: "{{kipath}}/data/output{{sub_process_dir}}/cert/" 23 | dest: /etc/kubernetes/ 24 | 25 | - name: 6.Check and replace etcd member status 26 | template: 27 | src: "../templates/etcdmember.sh.j2" 28 | dest: "{{k8s_install_home}}/temp/etcdmember.sh" 29 | mode: 0755 30 | - shell: "{{k8s_install_home}}/temp/etcdmember.sh" 31 | ignore_errors: yes 32 | - name: 7.Create etcd service file 33 | template: 34 | src: ../templates/etcd.service.j2 35 | dest: /etc/systemd/system/etcd.service 36 | - name: 8.Start etcd service 37 | systemd: 38 | daemon_reload: true 39 | name: etcd 40 | state: restarted 41 | enabled: true 42 | 43 | -------------------------------------------------------------------------------- /sys/0x0000000storage/templates/etcd.service.j2: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=Etcd Server 3 | After=network.target 4 | After=network-online.target 5 | Wants=network-online.target 6 | Documentation=https://github.com/coreos 7 | 8 | [Service] 9 | Type=notify 10 | WorkingDirectory={{k8s_install_home}}/etcd/ 11 | ExecStart=/usr/local/bin/etcd \ 12 | --name={{ip}} \ 13 | --data-dir={{k8s_install_home}}/etcd \ 14 | --cert-file=/etc/kubernetes/ssl/kubernetes.pem \ 15 | --key-file=/etc/kubernetes/ssl/kubernetes-key.pem \ 16 | --peer-cert-file=/etc/kubernetes/ssl/kubernetes.pem \ 17 | --peer-key-file=/etc/kubernetes/ssl/kubernetes-key.pem \ 18 | --trusted-ca-file=/etc/kubernetes/ssl/k8s-root-ca.pem \ 19 | --peer-trusted-ca-file=/etc/kubernetes/ssl/k8s-root-ca.pem \ 20 | --peer-client-cert-auth \ 21 | --client-cert-auth \ 22 | --listen-peer-urls=https://{{ip}}:2380 \ 23 | --initial-advertise-peer-urls=https://{{ip}}:2380 \ 24 | --listen-client-urls=https://{{ip}}:2379,http://127.0.0.1:2379 \ 25 | --advertise-client-urls=https://{{ip}}:2379 \ 26 | --initial-cluster-token=etcd-cluster-0 \ 27 | --initial-cluster={{etcd_initial}} \ 28 | --initial-cluster-state={{initial_cluster_state}} 29 | Restart=on-failure 30 | RestartSec=5 31 | LimitNOFILE=65536 32 | 33 | [Install] 34 | WantedBy=multi-user.target 35 | -------------------------------------------------------------------------------- /sys/0x0000000storage/templates/etcdmember.sh.j2: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | 4 | oldname=`ETCDCTL_API=3 etcdctl --cacert="/etc/kubernetes/ssl/k8s-root-ca.pem" --key="/etc/kubernetes/ssl/kubernetes-key.pem" --cert="/etc/kubernetes/ssl/kubernetes.pem" --endpoints="{{etcd_endpoints}}" member list | grep {{ip}} | cut -d "," -f 1` 5 | 6 | ETCDCTL_API=3 etcdctl --cacert="/etc/kubernetes/ssl/k8s-root-ca.pem" --key="/etc/kubernetes/ssl/kubernetes-key.pem" --cert="/etc/kubernetes/ssl/kubernetes.pem" --endpoints="{{etcd_endpoints}}" member remove $oldname 7 | 8 | ETCDCTL_API=3 etcdctl --cacert="/etc/kubernetes/ssl/k8s-root-ca.pem" --key="/etc/kubernetes/ssl/kubernetes-key.pem" --cert="/etc/kubernetes/ssl/kubernetes.pem" --endpoints="{{etcd_endpoints}}" member add {{ip}} --peer-urls=https://{{ip}}:2380 9 | 10 | exit 0 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /sys/0x000certificate/copycfssl/tasks/main.yml: -------------------------------------------------------------------------------- 1 | - name: 1.Create k8s cert directory 2 | file: 3 | path: "/etc/kubernetes/ssl/" 4 | state: directory 5 | - name: 2.Set kubernetes-csr configuration 6 | template: 7 | src: ../templates/kubernetes-csr.json.j2 8 | dest: "/etc/kubernetes/ssl/kubernetes-csr.json" 9 | - copy: 10 | src: "../templates/{{item}}" 11 | dest: "/etc/kubernetes/ssl/{{item}}" 12 | with_items: 13 | - admin-csr.json 14 | - audit-policy.yaml 15 | - k8s-gencert.json 16 | - k8s-root-ca-csr.json 17 | - kube-proxy-csr.json 18 | - token.csv 19 | - template: 20 | src: "../templates/{{item}}.j2" 21 | dest: "/etc/kubernetes/{{item}}" 22 | with_items: 23 | - ipvsinit_svc.yaml 24 | - ipvsinit_ep.yaml 25 | - copy: 26 | src: "../templates/{{item}}" 27 | dest: "/etc/kubernetes/{{item}}" 28 | with_items: 29 | - apiserver-to-kubelet.yaml 30 | - cert-renew-rbac.yaml 31 | 32 | -------------------------------------------------------------------------------- /sys/0x000certificate/copycfssl/templates/admin-csr.json: -------------------------------------------------------------------------------- 1 | { 2 | "CN": "admin", 3 | "hosts": [], 4 | "key": { 5 | "algo": "rsa", 6 | "size": 2048 7 | }, 8 | "names": [ 9 | { 10 | "C": "CN", 11 | "ST": "Hongkong", 12 | "L": "Cloudnativer", 13 | "O": "system:masters", 14 | "OU": "System" 15 | } 16 | ] 17 | } 18 | 19 | -------------------------------------------------------------------------------- /sys/0x000certificate/copycfssl/templates/apiserver-to-kubelet.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: rbac.authorization.k8s.io/v1 2 | kind: ClusterRoleBinding 3 | metadata: 4 | name: system:kubernetes 5 | namespace: "" 6 | roleRef: 7 | apiGroup: rbac.authorization.k8s.io 8 | kind: ClusterRole 9 | name: cluster-admin 10 | subjects: 11 | - apiGroup: rbac.authorization.k8s.io 12 | kind: User 13 | name: kubernetes 14 | 15 | -------------------------------------------------------------------------------- /sys/0x000certificate/copycfssl/templates/audit-policy.yaml: -------------------------------------------------------------------------------- 1 | # Log all requests at the Metadata level. 2 | apiVersion: audit.k8s.io/v1beta1 3 | kind: Policy 4 | rules: 5 | - level: Metadata 6 | -------------------------------------------------------------------------------- /sys/0x000certificate/copycfssl/templates/cert-renew-rbac.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: rbac.authorization.k8s.io/v1 2 | kind: ClusterRoleBinding 3 | metadata: 4 | name: auto-approve-csrs-for-group 5 | subjects: 6 | - kind: Group 7 | name: system:kubelet-bootstrap 8 | apiGroup: rbac.authorization.k8s.io 9 | roleRef: 10 | kind: ClusterRole 11 | name: system:certificates.k8s.io:certificatesigningrequests:nodeclient 12 | apiGroup: rbac.authorization.k8s.io 13 | --- 14 | apiVersion: rbac.authorization.k8s.io/v1 15 | kind: ClusterRoleBinding 16 | metadata: 17 | name: auto-approve-renewals-for-nodes 18 | subjects: 19 | - kind: Group 20 | name: system:nodes 21 | apiGroup: rbac.authorization.k8s.io 22 | roleRef: 23 | kind: ClusterRole 24 | name: system:certificates.k8s.io:certificatesigningrequests:selfnodeclient 25 | apiGroup: rbac.authorization.k8s.io 26 | 27 | -------------------------------------------------------------------------------- /sys/0x000certificate/copycfssl/templates/ipvsinit_ep.yaml.j2: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Endpoints 3 | metadata: 4 | name: ipvsinit-lb 5 | namespace: kube-system 6 | labels: 7 | k8sapp: ipvsinit-lb 8 | subsets: 9 | - addresses: 10 | - ip: 192.168.1.15 11 | ports: 12 | - name: k8s-api 13 | port: {{k8sapiport}} 14 | protocol: TCP 15 | -------------------------------------------------------------------------------- /sys/0x000certificate/copycfssl/templates/ipvsinit_svc.yaml.j2: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: ipvsinit-lb 5 | namespace: kube-system 6 | labels: 7 | k8sapp: ipvsinit-lb 8 | spec: 9 | type: ClusterIP 10 | clusterIP: 10.254.0.3 11 | sessionAffinity: None 12 | ports: 13 | - name: k8s-api 14 | port: {{k8sapiport}} 15 | protocol: TCP 16 | targetPort: {{k8sapiport}} 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /sys/0x000certificate/copycfssl/templates/k8s-gencert.json: -------------------------------------------------------------------------------- 1 | { 2 | "signing": { 3 | "default": { 4 | "expiry": "876000h" 5 | }, 6 | "profiles": { 7 | "kubernetes": { 8 | "usages": [ 9 | "signing", 10 | "key encipherment", 11 | "server auth", 12 | "client auth" 13 | ], 14 | "expiry": "876000h" 15 | } 16 | } 17 | } 18 | } 19 | 20 | -------------------------------------------------------------------------------- /sys/0x000certificate/copycfssl/templates/k8s-root-ca-csr.json: -------------------------------------------------------------------------------- 1 | { 2 | "CN": "kubernetes", 3 | "key": { 4 | "algo": "rsa", 5 | "size": 4096 6 | }, 7 | "names": [ 8 | { 9 | "C": "CN", 10 | "ST": "Hongkong", 11 | "L": "Cloudnativer", 12 | "O": "k8s", 13 | "OU": "System" 14 | } 15 | ], 16 | "ca": { 17 | "expiry": "876000h" 18 | } 19 | } 20 | 21 | -------------------------------------------------------------------------------- /sys/0x000certificate/copycfssl/templates/kube-proxy-csr.json: -------------------------------------------------------------------------------- 1 | { 2 | "CN": "system:kube-proxy", 3 | "hosts": [], 4 | "key": { 5 | "algo": "rsa", 6 | "size": 2048 7 | }, 8 | "names": [ 9 | { 10 | "C": "CN", 11 | "ST": "Hongkong", 12 | "L": "Cloudnativer", 13 | "O": "k8s", 14 | "OU": "System" 15 | } 16 | ] 17 | } 18 | 19 | -------------------------------------------------------------------------------- /sys/0x000certificate/copycfssl/templates/kubernetes-csr.json.j2: -------------------------------------------------------------------------------- 1 | { 2 | "CN": "kubernetes", 3 | "hosts": [ 4 | "127.0.0.1", 5 | {{master_iplist}}, 6 | "{{master_vip}}", 7 | "{{service_svc_ip}}", 8 | "kubernetes", 9 | "kubernetes.default", 10 | "kubernetes.default.svc", 11 | "kubernetes.default.svc.cluster", 12 | "kubernetes.default.svc.cluster.local" 13 | ], 14 | "key": { 15 | "algo": "rsa", 16 | "size": 2048 17 | }, 18 | "names": [ 19 | { 20 | "C": "CN", 21 | "ST": "Hongkong", 22 | "L": "Cloudnativer", 23 | "O": "k8s", 24 | "OU": "System" 25 | } 26 | ] 27 | } 28 | 29 | 30 | -------------------------------------------------------------------------------- /sys/0x000certificate/copycfssl/templates/token.csv: -------------------------------------------------------------------------------- 1 | 706127e2ed6ea0f8d85944d232b29099,kubelet-bootstrap,10001,"system:kubelet-bootstrap" 2 | -------------------------------------------------------------------------------- /sys/0x000certificate/fetchssl/tasks/main.yml: -------------------------------------------------------------------------------- 1 | - name: 1.Fetch cert file from remote master 2 | fetch: 3 | src: "/etc/kubernetes/{{item}}" 4 | dest: "{{kipath}}/data/output{{sub_process_dir}}/cert/" 5 | mode: 0755 6 | flat: yes 7 | with_items: 8 | - apiserver-to-kubelet.yaml 9 | - cert-renew-rbac.yaml 10 | - ipvsinit_ep.yaml 11 | - ipvsinit_svc.yaml 12 | - fetch: 13 | src: "/etc/kubernetes/ssl/{{item}}" 14 | dest: "{{kipath}}/data/output{{sub_process_dir}}/cert/ssl/" 15 | mode: 0755 16 | flat: yes 17 | with_items: 18 | - admin.csr 19 | - admin-csr.json 20 | - admin-key.pem 21 | - admin.pem 22 | - audit-policy.yaml 23 | - bootstrap.kubeconfig 24 | - k8s-gencert.json 25 | - k8s-root-ca.csr 26 | - k8s-root-ca-csr.json 27 | - k8s-root-ca-key.pem 28 | - k8s-root-ca.pem 29 | - kube-install.kubeconfig 30 | - kube.kubeconfig 31 | - kube-proxy.csr 32 | - kube-proxy-csr.json 33 | - kube-proxy-key.pem 34 | - kube-proxy.kubeconfig 35 | - kube-proxy.pem 36 | - kubernetes.csr 37 | - kubernetes-csr.json 38 | - kubernetes-key.pem 39 | - kubernetes.pem 40 | - local.kubeconfig 41 | - sa.key 42 | - sa.pub 43 | - token.csv 44 | 45 | -------------------------------------------------------------------------------- /yaml/myapp-example.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: apps/v1 2 | kind: Deployment 3 | metadata: 4 | name: myapp 5 | namespace: myapp 6 | labels: 7 | app: myapp 8 | spec: 9 | replicas: 10 10 | selector: 11 | matchLabels: 12 | app: myapp 13 | template: 14 | metadata: 15 | labels: 16 | app: myapp 17 | spec: 18 | containers: 19 | - name: myapp 20 | image: {{registry_ip}}:5000/nginx:latest 21 | imagePullPolicy: IfNotPresent 22 | resources: 23 | requests: 24 | cpu: 100m 25 | memory: 256Mi 26 | limits: 27 | cpu: 200m 28 | memory: 512Mi 29 | env: 30 | - name: group 31 | value: cloudnativer 32 | livenessProbe: 33 | httpGet: 34 | path: / 35 | port: 80 36 | scheme: HTTP 37 | initialDelaySeconds: 120 38 | timeoutSeconds: 10 39 | periodSeconds: 60 40 | #volumeMounts: 41 | #- name: nginx-conf-configmap 42 | # mountPath: /etc/nginx/nginx.conf 43 | # readOnly: True 44 | # subPath: nginx.conf 45 | #- name: nginx-log 46 | # mountPath: /var/logs/nginx 47 | #volumes: 48 | # - name: nginx-log 49 | # hostPath: 50 | # path: /opt 51 | # - name: nginx-conf-configmap 52 | # configMap: 53 | # name: nginx-conf-configmap 54 | --- 55 | apiVersion: v1 56 | kind: Service 57 | metadata: 58 | name: myapp 59 | namespace: myapp 60 | labels: 61 | app: myapp 62 | spec: 63 | selector: 64 | app: myapp 65 | ports: 66 | - name: http 67 | port: 80 68 | targetPort: 80 69 | --- 70 | apiVersion: extensions/v1beta1 71 | kind: Ingress 72 | metadata: 73 | name: myapp 74 | namespace: myapp 75 | spec: 76 | rules: 77 | - host: myapp.cloudnativer.github.io 78 | http: 79 | paths: 80 | - path: 81 | backend: 82 | serviceName: myapp 83 | servicePort: 80 84 | --------------------------------------------------------------------------------