├── 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 | 
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 | 
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 | # kube-install -opt help |
8 | |
9 |
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 | |
31 | |
32 |
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 | |
52 | |
53 |
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 |
8 |
9 | ```
10 | # kube-install help
11 | ```
12 |
13 | |
14 | |
15 |
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 | |
37 | |
38 |
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 | |
59 | |
60 |
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 |
8 |
9 | ```
10 | # kube-install help
11 | ```
12 |
13 | |
14 | |
15 |
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 | |
38 | |
39 |
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 | |
62 | |
63 |
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 |
8 |
9 | ```
10 | # kube-install help
11 | ```
12 |
13 | |
14 | |
15 |
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 | |
37 | |
38 |
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 | |
61 | |
62 |
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 |
8 |
9 | ```
10 | # kube-install help
11 | ```
12 |
13 | |
14 | |
15 |
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 | |
38 | |
39 |
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 | |
62 | |
63 |
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 | 
9 |
10 | Click the `Install Schedule Calendar` button to view Install Schedule Calendar Tools.
11 |
12 | 
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 | 
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 | 
19 |
20 | Click `Submit` button to open SSH channel automatically.
21 |
22 | 
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 | 
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 | 
19 |
20 | Click `Submit` button to open SSH channel automatically.
21 |
22 | 
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 |
--------------------------------------------------------------------------------