├── README.md
└── docs
├── .DS_Store
└── kubernetes
├── dashboard-user-role.yaml
├── dashboard.yaml
└── kube-flannel.yaml
/README.md:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | 持续更新中...
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 | 自学之路漫又长,唯有不断总结,不断回味,不断分享,才能成长!
15 |
16 | 联系我可以去[【公众号】](#公众号)直接私信我,或者加我[【微信】](#微信)
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 | ---
37 | # 学习路线
38 |
39 | - [Java后端开发学习路线](https://mp.weixin.qq.com/s/rAoamIey7cARMES7kfIaLw)
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 | > 注:图片上传后可能被压缩,如需无损版高清大图,可去微信公众号「CodeSheep」后台回复「高清大图」四个字获取即可
48 |
49 | - [C语言/C++开发学习路线(偏后台)](https://mp.weixin.qq.com/s/tXilzUzN7cDhnc3ztw4Vlw)
50 | - Linux学习路线
51 | - [前端开发学习路线](https://mp.weixin.qq.com/s/Y50BZPXfWhQw5xYl7WgEZw)
52 |
53 | ---
54 | # 项目推荐
55 |
56 | - [看完这篇,别人的开源项目结构应该能看懂了](https://mp.weixin.qq.com/s/5Ar5B9Ah2BdO8i9YjMQ7Qg)
57 | - [上次谁说要Java开源项目来着?来!](https://mp.weixin.qq.com/s/y59hmDbQj1QglVj90viZqw)
58 | - [分享几款适合初学者的C语言/C++开源项目](https://mp.weixin.qq.com/s/bRNiqhZZXaoRwPEt8GIpLg)
59 | - [吵着要学AI的小伙伴,可以看看这些牛批的开源项目](https://mp.weixin.qq.com/s/I9lr_SEg70OO_v-GOIUgjQ)
60 | - [再整理几个开源项目:练手/毕设/私活都不愁了](https://mp.weixin.qq.com/s/jjugnXIr3G0u7i9krbmmqg)
61 | - [C/C++领域的练手开源项目,小伙伴们接好](https://mp.weixin.qq.com/s/fNgOqKlITKa4yTbULO2Atw)
62 | - [5个值得学习和练手的企业级开源项目!](https://mp.weixin.qq.com/s/PmxVlkI9LUmnqqSk0Frqeg)
63 | - [互联网开发十大顶级开源项目巡礼!](https://mp.weixin.qq.com/s/2cXCyl9rLNhFY1dDurkEMA)
64 | - [推荐几个炫酷的Python开源项目](https://mp.weixin.qq.com/s/Fu4OMojTJK0MrZohsLOx4w)
65 |
66 | ---
67 | # 书籍推荐
68 |
69 | - [我的Java后端开发小书架分享](https://mp.weixin.qq.com/s/voNG467kSVfR-yjwelQhow)
70 | - [必读计算机编程好书推荐!程序员小伙搬出了他的书架!](https://www.bilibili.com/video/BV1kJ411W7pi)
71 | - [自学C/C++书籍推荐(自学C/C++看书路线推荐)](https://www.bilibili.com/video/BV1ob411m76i)
72 |
73 | ---
74 | # 自学编程
75 |
76 | ---
77 | ### 编程基础!
78 |
79 | - 基本功趣味学习
80 |
81 | - [老大说:谁要再用double定义商品金额,就自己收拾东西走](https://mp.weixin.qq.com/s/UyYDt3HB8IO_AoSDLndhxA)
82 | - [为什么我们要面向接口编程?!](https://mp.weixin.qq.com/s/Dg9LcKJBrabcnvC_6wga-A)
83 | - [恕我直言,我怀疑你没怎么用过枚举](https://mp.weixin.qq.com/s/DgOr7cat8SP0zoY7Ke3toQ)
84 | - [一文详解序列化和反序列化](https://mp.weixin.qq.com/s/0EfIUB9E-0Oh_Clwuxswuw)
85 | - [对不起我拖后腿了!我才刚用上Java 11](https://mp.weixin.qq.com/s/kNMQp-vjVK6Fq07xalZkng)
86 | - [答应我,别再if/else走天下了可以吗](https://mp.weixin.qq.com/s/ufRf8DQQRYQI0q2VxG3hQg)
87 | - [答应我,别再if/else走天下了可以吗「C++ 版」](https://mp.weixin.qq.com/s/iGqAZM7Ja_OzjH5AgS8geA)
88 | - [听说你只会用注解,不会自己写注解?](https://mp.weixin.qq.com/s/gdYysBB3aD_HmPyvEThFXw)
89 | - [从一个面试题看程序员的几项基本功](https://mp.weixin.qq.com/s/dVgDv1bNH8ivO0Ft0FtmZg)
90 | - [只因少写一个判空,我的代码上线后炸了!](https://mp.weixin.qq.com/s/RsC7peRsFaJAEcG2eTJb0Q)
91 | - [以后要是再写for循环,我就捶自己](https://mp.weixin.qq.com/s/yI82juBiirJ56BZfGJezLw)
92 | - [什么?你项目还在用Date表示时间?!](https://mp.weixin.qq.com/s/v-Va_GuSUGr9HVAW84kloQ)
93 | - [面试官:为什么要重写hashcode和equals方法?](https://mp.weixin.qq.com/s/QZPezSruj0qvBUJEM4jB0g)
94 | - [这才是学编程要懂的基础!](https://mp.weixin.qq.com/s/ttncekujB82g88GRx3a6lQ)
95 | - [真有小伙伴不知道浮点数如何转二进制吗?](https://mp.weixin.qq.com/s/LVpvmBO0GY6TC4gwL_12Yw)
96 | - [List使用踩坑记录](https://mp.weixin.qq.com/s/9bw2-pkuYSKEnstb4KGsqQ)
97 | - [Map使用踩坑记录](https://mp.weixin.qq.com/s/D21mcfI4cxNf4D9ukjESog)
98 |
99 | - 多线程/并发
100 |
101 | - [ThreadLocal源码剖析](https://mp.weixin.qq.com/s/ND-nUCGvXTHkEClKqN1qrQ)
102 | - 线程池详解
103 | - 各种“锁”大科普
104 | - JUC工具类解析
105 |
106 | - JVM
107 | - JVM内存模型剖析
108 | - JVM垃圾回收详解
109 | - 类加载机制
110 | - 性能调优和问题排查
111 |
112 | - 数据结构和算法
113 |
114 | - [24张图,九大数据结构安排得明明白白!](https://mp.weixin.qq.com/s/ZVwIUN-xf9FuxOFXW8H3Nw)
115 | - [诸葛亮vs司马懿,排序算法大战谁能笑到最后?](https://mp.weixin.qq.com/s/za_MJY3-r9Gfiu3BJfej7Q)
116 | - [十大经典排序算法大梳理 (动图+代码)](https://mp.weixin.qq.com/s/ekGdneZrMa23ALxt5mvKpQ)
117 | - [数据结构里各种难啃的“树”,一文搞懂它](https://mp.weixin.qq.com/s/k4-RaW4ROlo6chSXsO_4AA)
118 | - [一篇文章彻底学会递归思路解题!](https://mp.weixin.qq.com/s/-V0jBkPoZHYC2jLfSnQ6-g)
119 | - 哈希算法详解
120 |
121 |
122 | - 计算机网络(TCP/IP协议栈)
123 |
124 | - [计网 IP 知识全家桶,45 张图一套带走](https://mp.weixin.qq.com/s/21Tk-8gxpDoH9DNWNYCWmA)
125 | - [ping命令用得这么6,原理知道不?图解一波!](https://mp.weixin.qq.com/s/55bbQX2-SUNe6PEI9My5fA)
126 | - [探究:一个数据包在网络中到底是怎么游走的?](https://mp.weixin.qq.com/s/07zloKKMUl-RHN6tWqZIJQ)
127 | - [硬不硬你说了算!全图解被问千百遍的TCP三次握手和四次挥手面试题](https://mp.weixin.qq.com/s/lFnyBaaP3f0eNcKGW5RtCg)
128 | - [硬核!30 张图解 HTTP 常见的面试题](https://mp.weixin.qq.com/s/FJGKObVnU61ve_ioejLrtw)
129 | - [如果面试再问GET和POST区别,就把这篇甩给他](https://mp.weixin.qq.com/s/BraxnIUJF4JGtIep0YiovA)
130 | - [计网 TCP/UDP 部分高频面试题大集合](https://mp.weixin.qq.com/s/SZ8XcOzZCVJG_P1_O4OtWQ)
131 |
132 | - 操作系统
133 |
134 | - [硬核科普:程序员必知的 89 个操作系统核心概念](https://mp.weixin.qq.com/s/VsQ7IpP-jnXSjJhOAzl-ew)
135 |
136 | - 数据库/SQL
137 |
138 | - [left join、right join和join,傻傻分不清?](https://mp.weixin.qq.com/s/o150rmPOgzUeafVTh-ESmQ)
139 | - [数据库索引到底是什么](https://mp.weixin.qq.com/s/WMuxdG3ymNMWWDk1XhLwZQ)
140 | - [数据库索引的原理和使用准则](https://mp.weixin.qq.com/s/4K3borSZXt-yc5t5UJnJpQ)
141 | - 数据库锁机制
142 | - 数据库事务特性与隔离级别详解
143 | - SQL优化详解
144 | - 基于代理的数据库分库分表框架 Mycat实践
145 |
146 | - 其他
147 |
148 | - [UML大科普:一文梳理清 14种 UML图](https://mp.weixin.qq.com/s/o1P4z3u2Xphu_IyTUFT-2g)
149 |
150 | ---
151 | ### 工具和软件
152 |
153 | [【置顶1】熬10天夜,肝出了这个PDF版「软件安装手册」](https://mp.weixin.qq.com/s/YNOZSQ5smo1uGE5ZttUZ_w)
154 |
155 | [【置顶2】再肝两夜,写了个「服务器项目部署」实战PDF手册](https://mp.weixin.qq.com/s/JUJ6qu_ec3s1JmTxQt_V3g)
156 |
157 | - Linux系统
158 |
159 | - [常用 Linux 发行版操作系统大盘点](https://mp.weixin.qq.com/s/x8rwsIOzYEPXmEVXmWJ4Tg)
160 | - [人手一套Linux环境搭建之:macOS版本教程](https://mp.weixin.qq.com/s/WeZLtfrMdnISpX3v5WpJfA)
161 | - [人手一套Linux环境之:Windows版本教程](https://mp.weixin.qq.com/s/onVwwEQ1DAwbvK7qS2YNxg)
162 | - [面试常问的20个Linux命令](https://mp.weixin.qq.com/s/3NI4FWuOfYMJBiKqqnpqMA)
163 | - [废柴电脑拯救计划:搭个云服务器它不香嘛](https://mp.weixin.qq.com/s/YpWp-b3vcAtb_jBwCM7wtg)
164 |
165 | - Git/SVN
166 |
167 | - [一招搞定GitHub下载加速!](https://mp.weixin.qq.com/s/SYR4zvjhAH1mX9fxdp8cbA)
168 | - [为什么 Git把 SVN拍在了沙滩上!](https://mp.weixin.qq.com/s/bUYz9JwqAYH_Fn6nHPSmTg)
169 | - [Git的由来、数据模型以及基础命令](https://mp.weixin.qq.com/s/VvpjFUXd6jcatACHyFPHfg)
170 | - [Git操作与命令看这篇足矣!](https://mp.weixin.qq.com/s/swnwBiuyVmhs5iPqv3H6BQ)
171 |
172 | - 开发软件
173 |
174 | - [船新 IDEA 2020.1 真香体验!](https://mp.weixin.qq.com/s/Ua4TYlcNntLr-x9WQirHyg)
175 | - [没用过这些IDEA插件?怪不得写代码头疼](https://mp.weixin.qq.com/s/xMwGAL_7sGkmnFvWZroVPw)
176 | - [试水JetBrains官方新编程字体,真香!](https://mp.weixin.qq.com/s/RK_ygHgMjayL5-qTnlHbeg)
177 |
178 |
179 | - 持续集成
180 | - [Jenkins长大了,Pipeline该用起来了!](https://mp.weixin.qq.com/s/Y2gxBmBK2HPvr1uKUUxRYA)
181 | - [如何让自己少写点bug?](https://mp.weixin.qq.com/s/PgoXJcJX_sm5132VGQoZ1w)
182 |
183 | - 文档管理
184 |
185 | - Dash
186 | - Zeal
187 |
188 | - 其他软件和工具
189 |
190 | - [我的常用软件大公开!](https://mp.weixin.qq.com/s/ONx6wjGjQSvOOIgnEBTNJQ)
191 | - [这么多编程学习网站,总有一个适合你吧](https://mp.weixin.qq.com/s/L9lbKUJHTThCoOC8d6FGpg)
192 | - [前后端都分离了,该搞个好用的API管理系统了!](https://mp.weixin.qq.com/s/Ahs6fnIfFVVPOn3NZpIsNA)
193 | - [服务器软件大盘点!](https://mp.weixin.qq.com/s/J1XjIwtEKjaltqWH-0qmgw)
194 | - [几款提升效率和B格的软件神器](https://mp.weixin.qq.com/s/HZRz_A8bLcOTuzcezYEFZg)
195 | - [我的常用在线工具网站](https://mp.weixin.qq.com/s/oMAJaKDfr_bmgCVD0CX1oA)
196 |
197 |
198 | ---
199 | ### 应用框架
200 |
201 | - Spring系列框架
202 |
203 | * [Spring Boot 应用程序启动过程探秘](http://mp.weixin.qq.com/s?__biz=MzU4ODI1MjA3NQ==&mid=2247483867&idx=1&sn=319afaf4a53a659aa2e513732e0deee2&chksm=fdded71fcaa95e09ed14f1608cc6809d321897b2c7bcafb72873eaa672fcc9fe233038ebc21c&scene=21#wechat_redirect)
204 | * [SpringBoot 中 @SpringBootApplication注解背后的三体结构探秘](http://mp.weixin.qq.com/s?__biz=MzU4ODI1MjA3NQ==&mid=2247483829&idx=1&sn=e0fd1b9154e687f367e850ca0251c073&chksm=fdded771caa95e67180b6ac76e03f506b6325c3a81cf1ddbe4d8cacbf1a8fb0cb6ebc276d50a&scene=21#wechat_redirect)
205 | * [Spring Boot日志框架实践](http://mp.weixin.qq.com/s?__biz=MzU4ODI1MjA3NQ==&mid=2247483822&idx=1&sn=0302e3d40ca827a37d135707ea944769&chksm=fdded76acaa95e7ccb18bdc857e21dbac962c32ebe661df15b7019caba50619d14e3cebdbd53&scene=21#wechat_redirect)
206 | * [利用神器BTrace 追踪线上 Spring Boot应用运行时信息](http://mp.weixin.qq.com/s?__biz=MzU4ODI1MjA3NQ==&mid=2247483994&idx=1&sn=0df1d378f66122803d894b9d10b8a264&chksm=fdded49ecaa95d88fad4a1a92ac6338e53f6fc42f0324537b8e24973a7dc0e5db5b361e24dd4&scene=21#wechat_redirect)
207 | * [Spring Boot工程集成全局唯一ID生成器 UidGenerator](http://mp.weixin.qq.com/s?__biz=MzU4ODI1MjA3NQ==&mid=2247483908&idx=1&sn=bb43028457c590eeac1e43fcfc6cf2ba&chksm=fdded4c0caa95dd67a29c79526dd0947fe7134f0a2cdfb72bb5b057f9976464f8b1534a846e9&scene=21#wechat_redirect)
208 | * [Spring Boot Admin 2.0开箱体验](http://mp.weixin.qq.com/s?__biz=MzU4ODI1MjA3NQ==&mid=2247483816&idx=1&sn=c7a3581bfa9f8853961446db28e3904b&chksm=fdded76ccaa95e7a5a884e1d6079556f2f89b9b6fdce31bb962e8c4e21579bef8fc4f4ef146e&scene=21#wechat_redirect)
209 | * [基于Spring Security Oauth2的SSO单点登录+JWT权限控制实践](http://mp.weixin.qq.com/s?__biz=MzU4ODI1MjA3NQ==&mid=2247484161&idx=1&sn=6378dbce60394dc71877dd890b52309d&chksm=fdded5c5caa95cd39f81a39863dd56cb4f4787bd69b9795b050552de70b255d4187808ed5e16&scene=21#wechat_redirect)[](http://mp.weixin.qq.com/s?__biz=MzU4ODI1MjA3NQ==&mid=2247484330&idx=1&sn=0dc2690c5398f345e4d9ac61ee4f62dd&chksm=fdded56ecaa95c78d39499728f9a5227e4499eb60bdbc90599cd1d2693aa808bd5001d9403fd&scene=21#wechat_redirect)
210 | * [封装一个流水号ID生成器:id-spring-boot-starter](http://mp.weixin.qq.com/s?__biz=MzU4ODI1MjA3NQ==&mid=2247484330&idx=1&sn=0dc2690c5398f345e4d9ac61ee4f62dd&chksm=fdded56ecaa95c78d39499728f9a5227e4499eb60bdbc90599cd1d2693aa808bd5001d9403fd&scene=21#wechat_redirect)
211 | * [自制一个 elasticsearch-spring-boot-starter](http://mp.weixin.qq.com/s?__biz=MzU4ODI1MjA3NQ==&mid=2247484014&idx=1&sn=b04b0530921877e733b1fd606714096d&chksm=fdded4aacaa95dbc36245635484d1fb53f926c7c85436745126818d308c6eae8eae4a2a71a61&scene=21#wechat_redirect)
212 | * [基于Spring Security和 JWT的权限系统设计](http://mp.weixin.qq.com/s?__biz=MzU4ODI1MjA3NQ==&mid=2247484035&idx=1&sn=e92e92c550279e6c0484c39daa2a4361&chksm=fdded447caa95d514dd3dc299b8168945422a466829981a0841ab826d7de26f4474d810ecaf0&scene=21#wechat_redirect)
213 | * [Spring Boot 工程集成全局唯一ID生成器 Vesta](http://mp.weixin.qq.com/s?__biz=MzU4ODI1MjA3NQ==&mid=2247483949&idx=1&sn=25ce8750d7ce3de823c28c36cd0a8a19&chksm=fdded4e9caa95dff078f62b6d365fff87d0b41aefb1de6f18c241d4757cc3c5e31fc515d4dc3&scene=21#wechat_redirect)
214 | * [Mybatis-Plus 真好用(乡村爱情加持)](http://mp.weixin.qq.com/s?__biz=MzU4ODI1MjA3NQ==&mid=2247484119&idx=1&sn=96f980fb364c3a1cbdca802ca6477eb3&chksm=fdded413caa95d0534bfa137fac7820075ccb9699fc5dca6400ab06f3d4cc3894f7c3b9aa2ea&scene=21#wechat_redirect)
215 | - [啥?听说你还在手写复杂的参数校验?](https://mp.weixin.qq.com/s/WQ-2fPOxk0GvSHiRR5-kQw)
216 | * [如何自制一个Spring Boot Starter并推送到远端公服](http://mp.weixin.qq.com/s?__biz=MzU4ODI1MjA3NQ==&mid=2247483999&idx=1&sn=388b301f8bee2376ec8d791d7eb565bf&chksm=fdded49bcaa95d8daa7026876e189f7e8e740b8d50f1d64cbddd054430a55005947cd516144a&scene=21#wechat_redirect)
217 | * [Spring Boot应用缓存实践之:Ehcache加持](http://mp.weixin.qq.com/s?__biz=MzU4ODI1MjA3NQ==&mid=2247483893&idx=1&sn=dbfc63f98c1f22c58db40b0de3b126cf&chksm=fdded731caa95e27f0f12f1a8f7be55bf74886ac59170052cc6c2035ddd82373126c50b95f7d&scene=21#wechat_redirect)
218 | * [自然语言处理工具包 HanLP在 Spring Boot中的应用](http://mp.weixin.qq.com/s?__biz=MzU4ODI1MjA3NQ==&mid=2247483917&idx=1&sn=10501a9d725b9ea7be4c873a14871214&chksm=fdded4c9caa95ddf2edbfadbc448a32396a9ba97bea6f67764eb0aade88d32786e77fcb5a1b8&scene=21#wechat_redirect)[](http://mp.weixin.qq.com/s?__biz=MzU4ODI1MjA3NQ==&mid=2247483940&idx=1&sn=da510a926fe8a772a06bc9c4ca527c2c&chksm=fdded4e0caa95df6131b89caa4de55db4ccc54f839883ee71926790e2f06d853648e30f2ac32&scene=21#wechat_redirect)
219 | * [基于Spring Boot实现图片上传/加水印一把梭操作](http://mp.weixin.qq.com/s?__biz=MzU4ODI1MjA3NQ==&mid=2247483940&idx=1&sn=da510a926fe8a772a06bc9c4ca527c2c&chksm=fdded4e0caa95df6131b89caa4de55db4ccc54f839883ee71926790e2f06d853648e30f2ac32&scene=21#wechat_redirect)
220 | * [EVCache缓存在 Spring Boot中的实战](http://mp.weixin.qq.com/s?__biz=MzU4ODI1MjA3NQ==&mid=2247483958&idx=1&sn=4d6c9e99827a0bd2357a7724c00045a1&chksm=fdded4f2caa95de45e330427a8392de52fb473b0d9ec7cafda699ffc6f1a80b3f632250d1405&scene=21#wechat_redirect)
221 | * [Guava Cache本地缓存在 Spring Boot应用中的实践](http://mp.weixin.qq.com/s?__biz=MzU4ODI1MjA3NQ==&mid=2247483990&idx=1&sn=67991fd14de685dad94e930f29f7b721&chksm=fdded492caa95d84439bc32303709d0b0c871f3a87ea948dfe81c8e3a60d90718e3d1411d036&scene=21#wechat_redirect)[](http://mp.weixin.qq.com/s?__biz=MzU4ODI1MjA3NQ==&mid=2247484010&idx=1&sn=f2d722b6681d14b11d6aa399f1613e52&chksm=fdded4aecaa95db83868737f30e950205510492729a189f378c7326146e057b2e82267ac7dd9&scene=21#wechat_redirect)
222 | * [Spring Boot项目利用MyBatis Generator进行数据层代码自动生成](http://mp.weixin.qq.com/s?__biz=MzU4ODI1MjA3NQ==&mid=2247484010&idx=1&sn=f2d722b6681d14b11d6aa399f1613e52&chksm=fdded4aecaa95db83868737f30e950205510492729a189f378c7326146e057b2e82267ac7dd9&scene=21#wechat_redirect)
223 | * [初探Kotlin+SpringBoot联合编程](http://mp.weixin.qq.com/s?__biz=MzU4ODI1MjA3NQ==&mid=2247484900&idx=2&sn=45df41412575afb244f75de08b6bbe7f&chksm=fdded320caa95a36e85c510a1a72951b97a579511db7bd58aba2270020434b5579b8c3ce578f&scene=21#wechat_redirect)
224 | * [Spring Boot优雅编码之:Lombok加持](http://mp.weixin.qq.com/s?__biz=MzU4ODI1MjA3NQ==&mid=2247485020&idx=1&sn=3c3405807f96a597398f513c48bb094e&chksm=fdded098caa9598e6159bd7315180e149e6a789a3ee75d42b4acaaae96669504e08378eeddae&scene=21#wechat_redirect)
225 | * [Spring Boot应用监控实战](http://mp.weixin.qq.com/s?__biz=MzU4ODI1MjA3NQ==&mid=2247483771&idx=1&sn=7c5f103a816c16e453e04141d7433bf9&chksm=fdded7bfcaa95ea9a5dbe81114d32c1908bf8da0b3366bfbfcbe2473445cdba73c5e2060d5f3&scene=21#wechat_redirect)
226 | * [Spring Boot应用部署于外置Tomcat容器](http://mp.weixin.qq.com/s?__biz=MzU4ODI1MjA3NQ==&mid=2247483792&idx=1&sn=fde72633b86c7f951cd2a25f0c270121&chksm=fdded754caa95e420516178ff70b67b42271c4c68bc4644b4671925bf3c0b8383242432318a5&scene=21#wechat_redirect)
227 | * [Spring Boot热部署加持](http://mp.weixin.qq.com/s?__biz=MzU4ODI1MjA3NQ==&mid=2247483804&idx=1&sn=ac5860655be99dea94aa12cc393669f6&chksm=fdded758caa95e4efc39d9d4bcbafdc4c491b7894b951bedd37f884bb846f757757e0ff4cbd0&scene=21#wechat_redirect)
228 | - [数据库密码配置项都不加密?心也太大了!](https://mp.weixin.qq.com/s/CTDEFxTKdk0qxK9VNSEIqw)
229 | - [谁要是再敢用Map传参,我过去就是一JIO](https://mp.weixin.qq.com/s/AdtUX9davFH-C60gBypnoA)
230 |
231 | - 前后端分离
232 |
233 | - [这次要讲不清前后端分离,我都怎么地!](https://mp.weixin.qq.com/s/Y0z-3r_Mdm-etCwa0GmQmQ)
234 | - [前后端分离的接口规范,我们是这样做的!](https://mp.weixin.qq.com/s/zAOYAcR-6DEJU_s0qXe91g)
235 | - [前后端分离式开发:高效协作10板斧](https://mp.weixin.qq.com/s/niYHlrCDIkA1NqPVI_VJ8w)
236 | - [前后端都分离了,该搞个好用的API管理系统了!](https://mp.weixin.qq.com/s/Ahs6fnIfFVVPOn3NZpIsNA)
237 |
238 | - 微服务
239 |
240 | * [RPC框架实践之:Apache Thrift](http://mp.weixin.qq.com/s?__biz=MzU4ODI1MjA3NQ==&mid=2247483777&idx=1&sn=f15f86fd0cde1855fec1f6ad2098b331&chksm=fdded745caa95e53bbcc8ccaf495dc1a4abb64412cc6ea60989c8cafd138d475fae073b87011&scene=21#wechat_redirect)
241 | * [RPC框架实践之:Google gRPC](http://mp.weixin.qq.com/s?__biz=MzU4ODI1MjA3NQ==&mid=2247483780&idx=1&sn=e04264df80209244f8e263ef0931d134&chksm=fdded740caa95e56190918108985795439a277a88e054c119b3cb63a92a8e0899943d9f3e02b&scene=21#wechat_redirect)
242 | * [微服务调用链追踪中心搭建](http://mp.weixin.qq.com/s?__biz=MzU4ODI1MjA3NQ==&mid=2247483764&idx=1&sn=964629a4e1d42d84047986529376eb28&chksm=fdded7b0caa95ea6a038c623f8813c239e3c6cf87a6cd3818277369f6c287a6833d7826b9bdd&scene=21#wechat_redirect)
243 | * [利用Zipkin追踪Mysql数据库调用链](http://mp.weixin.qq.com/s?__biz=MzU4ODI1MjA3NQ==&mid=2247483774&idx=1&sn=18b144913d593af54f5e60a5a1353897&chksm=fdded7bacaa95eac39e1d29152a32a57e876bb227c37465c39672418d0cb392da6f9ed48cf7c&scene=21#wechat_redirect)
244 | * [Spring Cloud Feign的两种使用姿势](http://mp.weixin.qq.com/s?__biz=MzU4ODI1MjA3NQ==&mid=2247483887&idx=1&sn=6d4b191dc992ea27bf8602eefd323383&chksm=fdded72bcaa95e3ddbe74c3c1cebd524d17dd6e58c01e387ce04d3994bac694b40c505732441&scene=21#wechat_redirect)
245 | * [Spring Cloud Eureka Server高可用之:在线扩容](http://mp.weixin.qq.com/s?__biz=MzU4ODI1MjA3NQ==&mid=2247483902&idx=1&sn=9b3a26473bda9ac4a109f844e3644aea&chksm=fdded73acaa95e2c25b68f638eb174108b1d53c2944f28ba82588142065af477ce4262ac09db&scene=21#wechat_redirect)
246 | * [Eureka Server 开启Spring Security Basic认证](http://mp.weixin.qq.com/s?__biz=MzU4ODI1MjA3NQ==&mid=2247483954&idx=1&sn=feb4559a3b3f44915fadd18090e491a0&chksm=fdded4f6caa95de08eb0b4e0006abc1a6c1be1f50d56567f223717a0de667a9dd10f3d7655eb&scene=21#wechat_redirect)[](http://mp.weixin.qq.com/s?__biz=MzU4ODI1MjA3NQ==&mid=2247483973&idx=1&sn=e022ca0c0962c07d4de1ca9770713cb9&chksm=fdded481caa95d97c4cb055f7bb692199a5bee8ccc1dfd9f787990f8cbc09a25a5ec9a1b2964&scene=21#wechat_redirect)
247 | * [Eureka Server启用 https服务指北](http://mp.weixin.qq.com/s?__biz=MzU4ODI1MjA3NQ==&mid=2247483973&idx=1&sn=e022ca0c0962c07d4de1ca9770713cb9&chksm=fdded481caa95d97c4cb055f7bb692199a5bee8ccc1dfd9f787990f8cbc09a25a5ec9a1b2964&scene=21#wechat_redirect)
248 |
249 | - Docker容器/集群
250 |
251 | * [利用ELK搭建Docker容器化应用日志中心](http://mp.weixin.qq.com/s?__biz=MzU4ODI1MjA3NQ==&mid=2247484928&idx=2&sn=4db40348f22f82b1106122cafbd77c33&chksm=fdded0c4caa959d25f914c79849cdef56045ce53ce18256c26fad0b9d967b575e4e9902da211&scene=21#wechat_redirect)
252 | * [Docker容器可视化监控中心搭建](https://mp.weixin.qq.com/s?__biz=MzU4ODI1MjA3NQ==&mid=2247483763&idx=1&sn=6ceb9e73540b5016dadfb212636b3855&scene=21#wechat_redirect)
253 | * [Docker容器跨主机通信之:直接路由方式](http://mp.weixin.qq.com/s?__biz=MzU4ODI1MjA3NQ==&mid=2247483798&idx=1&sn=fd8f78d60d1dc6e4da3359dbf6a14753&chksm=fdded752caa95e44e1cf62f5dc373a49d93426c9800a5343b1959a12a5b1fdb4958b2ee746c1&scene=21#wechat_redirect)
254 | * [利用TICK搭建Docker容器可视化监控中心](http://mp.weixin.qq.com/s?__biz=MzU4ODI1MjA3NQ==&mid=2247483810&idx=1&sn=51a4cdb03e54348e7736ea47fae04a96&chksm=fdded766caa95e70e14dba33a51224c319219852e1618bbefb380f1b9406b1d19f8563a66bf8&scene=21#wechat_redirect)
255 | * [编写高效Dockerfile的几条准则](http://mp.weixin.qq.com/s?__biz=MzU4ODI1MjA3NQ==&mid=2247483813&idx=1&sn=b0b87a7ec8816f53fd19142424682de0&chksm=fdded761caa95e775957e59ed0eccd913162d776f917f44711e4833d541c9c24d1db616f1334&scene=21#wechat_redirect)
256 | * [利用 Kubeadm部署 Kubernetes 1.13.1 集群实践录](http://mp.weixin.qq.com/s?__biz=MzU4ODI1MjA3NQ==&mid=2247483982&idx=1&sn=3af0acac7cc213ff34a5710b21efef15&chksm=fdded48acaa95d9c6b3fd8b3d030890fa45c7be9bcdf44595dbfc2d3421c815deceadd1764f8&scene=21#wechat_redirect)
257 | * [Docker Swarm的前世今生](http://mp.weixin.qq.com/s?__biz=MzU4ODI1MjA3NQ==&mid=2247483801&idx=1&sn=6e482b69f46ee620c17309d7d88e4cd9&chksm=fdded75dcaa95e4b2bd4fc7a72bff0008f55c4f8d69003c6924b6b573a76a41c90b311596c51&scene=21#wechat_redirect)
258 | * [Docker Swarm集群初探]()
259 | * [利用K8S技术栈打造个人私有云(连载之:初章)](http://mp.weixin.qq.com/s?__biz=MzU4ODI1MjA3NQ==&mid=2247483699&idx=1&sn=57b84f4ec72c8a578934cdb4225e6fe7&chksm=fdded7f7caa95ee198652c295b48b74565fd244afc4dccc0551b036c8216caab0397a1342d99&scene=21#wechat_redirect)
260 | * [利用K8S技术栈打造个人私有云(连载之:K8S集群搭建)](http://mp.weixin.qq.com/s?__biz=MzU4ODI1MjA3NQ==&mid=2247483755&idx=1&sn=92a547c579aeacf1db9a8f0e56601b52&chksm=fdded7afcaa95eb9d6aa6cf323bff1df46692fc6a6672e0a483105f091ddf9670fb06d034e2a&scene=21#wechat_redirect)
261 | * [利用K8S技术栈打造个人私有云(连载之:K8S环境理解和练手)](http://mp.weixin.qq.com/s?__biz=MzU4ODI1MjA3NQ==&mid=2247483758&idx=1&sn=629b6219a06374b2050703b9549037fa&chksm=fdded7aacaa95ebc9a3e88e839515b13109752c26c586032ae60219d2c3b24e13385e1bcd37c&scene=21#wechat_redirect)
262 | * [利用K8S技术栈打造个人私有云(连载之:基础镜像制作与实验)](http://mp.weixin.qq.com/s?__biz=MzU4ODI1MjA3NQ==&mid=2247483759&idx=1&sn=8403d42fe1769a252f9ee2997fc2f561&chksm=fdded7abcaa95ebd8cdae86f4d692f1f6e92daab74dbbd8c56c6db8fe6aa2a3616ccce1eebb1&scene=21#wechat_redirect)
263 | * [利用K8S技术栈打造个人私有云(连载之:K8S资源控制)](http://mp.weixin.qq.com/s?__biz=MzU4ODI1MjA3NQ==&mid=2247483760&idx=1&sn=d44f2c744ccdc965fb6c7e4d9efe9f92&chksm=fdded7b4caa95ea278d7363b4b4788d84914b915422a9cc98e7936c3bce0c7ce1197abfac13f&scene=21#wechat_redirect)
264 |
265 | - 缓存/中间件/运维
266 |
267 | * [Redis字符串类型内部编码剖析](http://mp.weixin.qq.com/s?__biz=MzU4ODI1MjA3NQ==&mid=2247483838&idx=1&sn=d8dd3eff36d1323811362a01c272c667&chksm=fdded77acaa95e6c8119ed796dd9f2e0f085b7a00f2f38872df8ca45f8bc0d1becfa487b93b8&scene=21#wechat_redirect)
268 | * [Redis 哈希结构内存模型剖析](http://mp.weixin.qq.com/s?__biz=MzU4ODI1MjA3NQ==&mid=2247483862&idx=1&sn=63effdf595d75bceef4bb9a1cb766d5c&chksm=fdded712caa95e04c36d8555f249fecd1a860f3ac50823c1054ee2b4cacb9f9f06740c48651b&scene=21#wechat_redirect)
269 | * [你可能没有细究过的TCP/IP](http://mp.weixin.qq.com/s?__biz=MzU4ODI1MjA3NQ==&mid=2247483819&idx=1&sn=e7a5dc93a94ea6e9ce297ca7a1a187dc&chksm=fdded76fcaa95e79a907517c83f6f1d9475a6c87e8ab1a2995e05e75ca823009044eb1d253f4&scene=21#wechat_redirect)
270 | * [Nginx服务器开箱体验](http://mp.weixin.qq.com/s?__biz=MzU4ODI1MjA3NQ==&mid=2247483783&idx=1&sn=1e552ee01b50cde1df32c07db8e7b4ea&chksm=fdded743caa95e55a62c5b216795be61785265daf6a23d803e4566ba50253c240544b87971e3&scene=21#wechat_redirect)
271 | * [从一份配置清单详解Nginx服务器配置](http://mp.weixin.qq.com/s?__biz=MzU4ODI1MjA3NQ==&mid=2247483807&idx=1&sn=e3a164701c2f6e0f3cf91bd25d595479&chksm=fdded75bcaa95e4d857e5f4e040f37b7c3d8f3b301856493419498b6e54d8a43addfc25e7505&scene=21#wechat_redirect)
272 | * [基于代理的数据库分库分表框架 Mycat实践](http://mp.weixin.qq.com/s?__biz=MzU4ODI1MjA3NQ==&mid=2247483977&idx=1&sn=c739684c8a97ef3ec222e4fc76b2a2c1&chksm=fdded48dcaa95d9b1e47a8851262a81472ffe80e3f91d1d327e1dd71e11349defeb34a8726b8&scene=21#wechat_redirect)
273 | * [Jenkins长大了,Pipeline该用起来了!](http://mp.weixin.qq.com/s?__biz=MzU4ODI1MjA3NQ==&mid=2247484886&idx=2&sn=46d651172e2426760c7fe1675f1ed73a&chksm=fdded312caa95a04430b2caaf6b73e09ca963109d91224c4d7fdb544c6ae72bf90dad3b72ab7&scene=21#wechat_redirect)
274 | * [一文详解Linux系统常用监控工具](http://mp.weixin.qq.com/s?__biz=MzU4ODI1MjA3NQ==&mid=2247483877&idx=1&sn=113867c83c0cecf5781a9e1a7f91bdd1&chksm=fdded721caa95e37f757660e7f14775ac55e4a72f9c24b119af7ef83ca7587ceb53f22298c99&scene=21#wechat_redirect)
275 | * [一文上手 Elasticsearch常用可视化管理工具](http://mp.weixin.qq.com/s?__biz=MzU4ODI1MjA3NQ==&mid=2247483913&idx=1&sn=254e99832da662cd5dc7af57bfb0081b&chksm=fdded4cdcaa95ddbf867ce83b2a4c48aa497d6b61b087ba9111b040dfcfaab1f8c9aa34f2d53&scene=21#wechat_redirect)
276 | * [从一份定义文件详解ELK中Logstash插件结构](http://mp.weixin.qq.com/s?__biz=MzU4ODI1MjA3NQ==&mid=2247483825&idx=1&sn=51bfd85095f7ba287fea388294169f0e&chksm=fdded775caa95e63e34796dcc26326d3c88fe1def3a4df62d5bf7711de9b0aaba2a773233567&scene=21#wechat_redirect)
277 | * [Elasticsearch 索引的映射配置详解](http://mp.weixin.qq.com/s?__biz=MzU4ODI1MjA3NQ==&mid=2247483844&idx=1&sn=77e4651389efebcad361467e4dc995e4&chksm=fdded700caa95e163ed9e86e96d8bb5e467e8e6c36cdb905d6eb291c6e49ebd084ec51ce36cf&scene=21#wechat_redirect)
278 | * [CentOS7 上搭建多节点 Elasticsearch集群](http://mp.weixin.qq.com/s?__biz=MzU4ODI1MjA3NQ==&mid=2247483921&idx=1&sn=3b29a77f6dd9faa8ed4410dec7705289&chksm=fdded4d5caa95dc3a4cd5ab040a1de5ef21c8e77dd15c9554d1e88ffa19a96d286c3f526627e&scene=21#wechat_redirect)
279 | * [轻量级 memcached缓存代理 twemproxy实践](http://mp.weixin.qq.com/s?__biz=MzU4ODI1MjA3NQ==&mid=2247483945&idx=1&sn=00633aed7adecf6fc71289758226caed&chksm=fdded4edcaa95dfbe771cf97b6056c725e5c7a2d835b41589f52b97f261d63f807ff06e26091&scene=21#wechat_redirect)
280 | * [前后端都分离了,该搞个好用的API管理系统了!](http://mp.weixin.qq.com/s?__biz=MzU4ODI1MjA3NQ==&mid=2247484489&idx=1&sn=8d59a12d27de5c50776d1a9967890a7e&chksm=fdded28dcaa95b9b1798009f7b9df7f0381573ad52d7903361687796ca4a7b071024e0085e1e&scene=21#wechat_redirect)
281 |
282 | ---
283 | ## 看源码
284 |
285 | - [Java(JDK)源码阅读环境搭建](https://mp.weixin.qq.com/s/K0ehqbxrzSz07nqnqRvn5A)
286 | - Spring Boot源码阅读调试环境搭建
287 | - Redis源码阅读调试环境搭建
288 |
289 |
290 |
291 | ---
292 | # 面试相关
293 |
294 | ---
295 | ### 面试题分享
296 |
297 | - [Java基础知识面试题大集合](https://mp.weixin.qq.com/s/f-qIQGbzwHcW5Ur51rCqgg)
298 | - [Java虚拟机(JVM)面试题大集合](https://mp.weixin.qq.com/s/T2DqgJ9-0QiRZQYUeR3c8w)
299 | - [Java并发和多线程基础面试题大集合](https://mp.weixin.qq.com/s/pIVf97W4DuAPNxq6zgRvsQ)
300 | - [计网 TCP/UDP 部分高频面试题大集合](https://mp.weixin.qq.com/s/SZ8XcOzZCVJG_P1_O4OtWQ)
301 | - [面试常问的20个Linux命令](https://mp.weixin.qq.com/s/3NI4FWuOfYMJBiKqqnpqMA)
302 | - [Spring 经典面试题大集合](https://mp.weixin.qq.com/s/q4CajkpSUC8TCgv55VK5aQ)
303 | - [Spring Boot基础面试题大集合](https://mp.weixin.qq.com/s/cLh9xCDkVG0KV-uaX8PkNw)
304 | - [Spring Cloud基础面试题大集合](https://mp.weixin.qq.com/s/g0br3PfTmm8C_nkKbzE_ig)
305 | - [C语言/C++基础面试知识大集合](https://mp.weixin.qq.com/s/7mx58Idw1pL0MjPIFBUB1Q)
306 |
307 | ### 面经分享
308 |
309 | - [小伙伴现身说法:Linux后台开发该如何准备](https://mp.weixin.qq.com/s/joFBDntI9PmyVRiKPHwpRg)
310 | - [二本无实习上岸滴滴京东58复盘(上)](https://mp.weixin.qq.com/s/V0nRwXQlkNBnBneERZQURQ)
311 | - [二本无实习上岸滴滴京东58·复盘(中)](https://mp.weixin.qq.com/s/BnbBQGL-S2sGdRtNh7DN1A)
312 | - [小伙伴面经分享(一):深信服(含答案)](https://mp.weixin.qq.com/s/3YfKHo2lW-NC1tEA_u-mlQ)
313 | - [小伙伴面经分享(二):京东(含答案)](https://mp.weixin.qq.com/s/sc-7rc6obYZNFcc1mjNPAg)
314 | - [一位程序媛的秋招软件开发岗面试经历](https://mp.weixin.qq.com/s/jAPYcMULqQl6AE_Vv7BZhQ)
315 | - [写简历→面试→谈薪:一绿向北](https://mp.weixin.qq.com/s/0RoFVAezxW8cl3bjlAHbQg)
316 |
317 | ---
318 | ### 简历模板
319 |
320 | - [简历模板分享](https://mp.weixin.qq.com/s/-qlU2-a-vvXWOHXzKHRm6A)
321 |
322 | ### 城市/公司选择
323 |
324 | - [一二线城市知名IT互联网公司名单](https://mp.weixin.qq.com/s/VFocc914mGTrDzodI-MF1A)
325 |
326 | ---
327 | # 资源推荐
328 |
329 | - [我的Java后端开发小书架分享](https://mp.weixin.qq.com/s/voNG467kSVfR-yjwelQhow)
330 | - [这么多编程学习网站,总有一个适合你吧](https://mp.weixin.qq.com/s/L9lbKUJHTThCoOC8d6FGpg)
331 | - [阿里巴巴Java开发手册分享](https://mp.weixin.qq.com/s/yncEfIOxWeNj7asCLPwrUw)
332 | - [简历模板分享](https://mp.weixin.qq.com/s/-qlU2-a-vvXWOHXzKHRm6A)
333 |
334 | ---
335 | # 其他技术文章
336 |
337 | - [扫码付款背后的原理居然是这样](https://mp.weixin.qq.com/s/RjVLsAhiMIYzsMhXJiReNg)
338 |
339 |
340 |
341 | ---
342 | # 关于作者
343 |
344 | ---
345 | ### 自我介绍
346 |
347 | - [自我介绍](https://mp.weixin.qq.com/s/ePhaYezFblgt0NgbvtWqww)
348 |
349 | ---
350 | ### 联系方式
351 |
352 | - [微信公众号私信联系我](https://mp.weixin.qq.com/s/ePhaYezFblgt0NgbvtWqww)
353 |
354 | ---
355 | ### 我的心路历程
356 |
357 | - [我的毕业季,没有一点点仪式感](https://mp.weixin.qq.com/s/0iSzqJBj7YHkijGxbFUqCQ)
358 | - [既然硕士毕业也去搞开发,那我还读个喵的研?](https://mp.weixin.qq.com/s/_Kt9OmaBVDDj6S7rsdC-Aw)
359 | - [二线城市的程序员活得好吗?](https://mp.weixin.qq.com/s/gOo8ztVLdXp3m_rvBozQpQ)
360 | - [自学编程的八大误区!克服它!](https://mp.weixin.qq.com/s/r_vm7lA2Ul_ZFhkx60wplg)
361 | - [我的本科回忆录:从迷茫自卑到保送华科](https://mp.weixin.qq.com/s/t9F6Z-DrybWLUxVrPTRPJw)
362 | - [聊一聊加班多该如何有效地自我提升](https://mp.weixin.qq.com/s/2mt8NGW0fhx-J1R2GyvKKQ)
363 | - [到底要不要考研?](https://mp.weixin.qq.com/s/pwInIR-h1gkPXGuu4u1aWw)
364 | - [昨夜,我梦回武汉 . . .](https://mp.weixin.qq.com/s/lfGqTBuyRSiA9NL-8Na-xg)
365 | - [转行的路,走起来其实有点累...](https://mp.weixin.qq.com/s/FPreCde-JHl2D6HZDGK7qg)
366 | - [来B站一年,我活成了人的模样!](https://mp.weixin.qq.com/s/-RWgqMi2iKFUQGWbgyyo3w)
367 | - [快30岁的我,终于赚到人生第一个10W!](https://mp.weixin.qq.com/s/i-EFuFb7yPpoOidme18EWA)
368 |
369 |
370 | ---
371 | ### 写作之路
372 |
373 | - [坚持写博客三年了,分享几个私藏小工具](https://mp.weixin.qq.com/s/T-b7GfBoMGRuOqtp3T_HaA)
374 | - [Win10下Hexo博客搭建教程,及阿里云服务器部署实战](https://mp.weixin.qq.com/s/JTTUYJTvtdT6X2fvLUBFZg)
375 | - [用Github+docsify,我花了半天就搭好了个人博客](https://mp.weixin.qq.com/s/grsv_rx3DL862M8dBsHd_A)
376 |
377 |
378 |
379 |
380 | ---
381 | # 闲聊/侃大山
382 |
383 | - [如何优雅地向老师表达:我这周任务没啥进展?](https://mp.weixin.qq.com/s/gbIGNXIkOpw8tQ5aIoJMtw)
384 | - [C语言为什么不会过时](https://mp.weixin.qq.com/s/ltcfVu__ajU_i9wq77OnJg)
385 | - [好不容易读个研,遇到放羊的导师可咋整?](https://mp.weixin.qq.com/s/OkxMe3Eaywx-KF9tBmjf-Q)
386 | - [程序员小猪队友行为大赏](https://mp.weixin.qq.com/s/1dJO8VJ6GaZykv33IUslkw)
387 | - [研究生/专升本都扩招,我们没有理由放弃!](https://mp.weixin.qq.com/s/MvZFLDHItPR7InzrtYRL5w)
388 | - [实不相瞒,在家远程办公15天,我有点自闭](https://mp.weixin.qq.com/s/gJBlu5gXL5vqYWG6ggisRw)
389 | - [2020开年,C语言重回巅峰王座!](https://mp.weixin.qq.com/s/fW-xZ2vJTaZa6XgF_LlMDA)
390 | - [膜拜!感谢大佬们赏饭吃,向你们致敬!](https://mp.weixin.qq.com/s/oyK1nLSBZStKT1C3NiASEg)
391 | - [嗯,用了一下Kotlin编程语言,真香!](https://mp.weixin.qq.com/s/xYG355L4YXRkKnOvv23umw)
392 | - [程序员竟也会玩浪漫?【非程序员勿进】](https://mp.weixin.qq.com/s/vI7EGqo7YbljRdZn2nUSMQ)
393 | - [真实IT领域2/8法则,扎心了!](https://mp.weixin.qq.com/s/wd9QkLsrygO8ADW6heJg8w)
394 |
395 | ---
396 |
397 |
398 |
399 |
400 |
401 |
402 | IT咨询、获取更新、领取资源,直接扫码私我即可!
403 |
404 |
405 |
406 |
407 | 
408 |
409 |
--------------------------------------------------------------------------------
/docs/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hansonwang99/JavaCollection/cf9f5fa7c5c0b0c48f3164351b88cdf48533dbe8/docs/.DS_Store
--------------------------------------------------------------------------------
/docs/kubernetes/dashboard-user-role.yaml:
--------------------------------------------------------------------------------
1 | kind: ClusterRoleBinding
2 | apiVersion: rbac.authorization.k8s.io/v1beta1
3 | metadata:
4 | name: admin
5 | annotations:
6 | rbac.authorization.kubernetes.io/autoupdate: "true"
7 | roleRef:
8 | kind: ClusterRole
9 | name: cluster-admin
10 | apiGroup: rbac.authorization.k8s.io
11 | subjects:
12 | - kind: ServiceAccount
13 | name: admin
14 | namespace: kube-system
15 | ---
16 | apiVersion: v1
17 | kind: ServiceAccount
18 | metadata:
19 | name: admin
20 | namespace: kube-system
21 | labels:
22 | kubernetes.io/cluster-service: "true"
23 | addonmanager.kubernetes.io/mode: Reconcile
24 |
--------------------------------------------------------------------------------
/docs/kubernetes/dashboard.yaml:
--------------------------------------------------------------------------------
1 | # Copyright 2017 The Kubernetes Authors.
2 | #
3 | # Licensed under the Apache License, Version 2.0 (the "License");
4 | # you may not use this file except in compliance with the License.
5 | # You may obtain a copy of the License at
6 | #
7 | # http://www.apache.org/licenses/LICENSE-2.0
8 | #
9 | # Unless required by applicable law or agreed to in writing, software
10 | # distributed under the License is distributed on an "AS IS" BASIS,
11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | # See the License for the specific language governing permissions and
13 | # limitations under the License.
14 |
15 | # ------------------- Dashboard Secret ------------------- #
16 |
17 | apiVersion: v1
18 | kind: Secret
19 | metadata:
20 | labels:
21 | k8s-app: kubernetes-dashboard
22 | name: kubernetes-dashboard-certs
23 | namespace: kube-system
24 | type: Opaque
25 |
26 | ---
27 | # ------------------- Dashboard Service Account ------------------- #
28 |
29 | apiVersion: v1
30 | kind: ServiceAccount
31 | metadata:
32 | labels:
33 | k8s-app: kubernetes-dashboard
34 | name: kubernetes-dashboard
35 | namespace: kube-system
36 |
37 | ---
38 | # ------------------- Dashboard Role & Role Binding ------------------- #
39 |
40 | kind: Role
41 | apiVersion: rbac.authorization.k8s.io/v1
42 | metadata:
43 | name: kubernetes-dashboard-minimal
44 | namespace: kube-system
45 | rules:
46 | # Allow Dashboard to create 'kubernetes-dashboard-key-holder' secret.
47 | - apiGroups: [""]
48 | resources: ["secrets"]
49 | verbs: ["create"]
50 | # Allow Dashboard to create 'kubernetes-dashboard-settings' config map.
51 | - apiGroups: [""]
52 | resources: ["configmaps"]
53 | verbs: ["create"]
54 | # Allow Dashboard to get, update and delete Dashboard exclusive secrets.
55 | - apiGroups: [""]
56 | resources: ["secrets"]
57 | resourceNames: ["kubernetes-dashboard-key-holder", "kubernetes-dashboard-certs"]
58 | verbs: ["get", "update", "delete"]
59 | # Allow Dashboard to get and update 'kubernetes-dashboard-settings' config map.
60 | - apiGroups: [""]
61 | resources: ["configmaps"]
62 | resourceNames: ["kubernetes-dashboard-settings"]
63 | verbs: ["get", "update"]
64 | # Allow Dashboard to get metrics from heapster.
65 | - apiGroups: [""]
66 | resources: ["services"]
67 | resourceNames: ["heapster"]
68 | verbs: ["proxy"]
69 | - apiGroups: [""]
70 | resources: ["services/proxy"]
71 | resourceNames: ["heapster", "http:heapster:", "https:heapster:"]
72 | verbs: ["get"]
73 |
74 | ---
75 | apiVersion: rbac.authorization.k8s.io/v1
76 | kind: RoleBinding
77 | metadata:
78 | name: kubernetes-dashboard-minimal
79 | namespace: kube-system
80 | roleRef:
81 | apiGroup: rbac.authorization.k8s.io
82 | kind: Role
83 | name: kubernetes-dashboard-minimal
84 | subjects:
85 | - kind: ServiceAccount
86 | name: kubernetes-dashboard
87 | namespace: kube-system
88 |
89 | ---
90 | # ------------------- Dashboard Deployment ------------------- #
91 |
92 | kind: Deployment
93 | apiVersion: apps/v1beta2
94 | metadata:
95 | labels:
96 | k8s-app: kubernetes-dashboard
97 | name: kubernetes-dashboard
98 | namespace: kube-system
99 | spec:
100 | replicas: 1
101 | revisionHistoryLimit: 10
102 | selector:
103 | matchLabels:
104 | k8s-app: kubernetes-dashboard
105 | template:
106 | metadata:
107 | labels:
108 | k8s-app: kubernetes-dashboard
109 | spec:
110 | containers:
111 | - name: kubernetes-dashboard
112 | image: k8s.gcr.io/kubernetes-dashboard-amd64:v1.10.0
113 | ports:
114 | - containerPort: 8443
115 | protocol: TCP
116 | args:
117 | - --auto-generate-certificates
118 | - --token-ttl=5400
119 | # Uncomment the following line to manually specify Kubernetes API server Host
120 | # If not specified, Dashboard will attempt to auto discover the API server and connect
121 | # to it. Uncomment only if the default does not work.
122 | # - --apiserver-host=http://my-address:port
123 | volumeMounts:
124 | - name: kubernetes-dashboard-certs
125 | mountPath: /certs
126 | # Create on-disk volume to store exec logs
127 | - mountPath: /tmp
128 | name: tmp-volume
129 | livenessProbe:
130 | httpGet:
131 | scheme: HTTPS
132 | path: /
133 | port: 8443
134 | initialDelaySeconds: 30
135 | timeoutSeconds: 30
136 | volumes:
137 | - name: kubernetes-dashboard-certs
138 | hostPath:
139 | path: /home/share/certs
140 | type: Directory
141 | - name: tmp-volume
142 | emptyDir: {}
143 | serviceAccountName: kubernetes-dashboard
144 | # Comment the following tolerations if Dashboard must not be deployed on master
145 | tolerations:
146 | - key: node-role.kubernetes.io/master
147 | effect: NoSchedule
148 |
149 | ---
150 | # ------------------- Dashboard Service ------------------- #
151 |
152 | kind: Service
153 | apiVersion: v1
154 | metadata:
155 | labels:
156 | k8s-app: kubernetes-dashboard
157 | name: kubernetes-dashboard
158 | namespace: kube-system
159 | spec:
160 | ports:
161 | - port: 443
162 | targetPort: 8443
163 | nodePort: 31234
164 | selector:
165 | k8s-app: kubernetes-dashboard
166 | type: NodePort
167 |
--------------------------------------------------------------------------------
/docs/kubernetes/kube-flannel.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | kind: ClusterRole
3 | apiVersion: rbac.authorization.k8s.io/v1beta1
4 | metadata:
5 | name: flannel
6 | rules:
7 | - apiGroups:
8 | - ""
9 | resources:
10 | - pods
11 | verbs:
12 | - get
13 | - apiGroups:
14 | - ""
15 | resources:
16 | - nodes
17 | verbs:
18 | - list
19 | - watch
20 | - apiGroups:
21 | - ""
22 | resources:
23 | - nodes/status
24 | verbs:
25 | - patch
26 | ---
27 | kind: ClusterRoleBinding
28 | apiVersion: rbac.authorization.k8s.io/v1beta1
29 | metadata:
30 | name: flannel
31 | roleRef:
32 | apiGroup: rbac.authorization.k8s.io
33 | kind: ClusterRole
34 | name: flannel
35 | subjects:
36 | - kind: ServiceAccount
37 | name: flannel
38 | namespace: kube-system
39 | ---
40 | apiVersion: v1
41 | kind: ServiceAccount
42 | metadata:
43 | name: flannel
44 | namespace: kube-system
45 | ---
46 | kind: ConfigMap
47 | apiVersion: v1
48 | metadata:
49 | name: kube-flannel-cfg
50 | namespace: kube-system
51 | labels:
52 | tier: node
53 | app: flannel
54 | data:
55 | cni-conf.json: |
56 | {
57 | "name": "cbr0",
58 | "plugins": [
59 | {
60 | "type": "flannel",
61 | "delegate": {
62 | "hairpinMode": true,
63 | "isDefaultGateway": true
64 | }
65 | },
66 | {
67 | "type": "portmap",
68 | "capabilities": {
69 | "portMappings": true
70 | }
71 | }
72 | ]
73 | }
74 | net-conf.json: |
75 | {
76 | "Network": "10.244.0.0/16",
77 | "Backend": {
78 | "Type": "vxlan"
79 | }
80 | }
81 | ---
82 | apiVersion: extensions/v1beta1
83 | kind: DaemonSet
84 | metadata:
85 | name: kube-flannel-ds-amd64
86 | namespace: kube-system
87 | labels:
88 | tier: node
89 | app: flannel
90 | spec:
91 | template:
92 | metadata:
93 | labels:
94 | tier: node
95 | app: flannel
96 | spec:
97 | hostNetwork: true
98 | nodeSelector:
99 | beta.kubernetes.io/arch: amd64
100 | tolerations:
101 | - operator: Exists
102 | effect: NoSchedule
103 | serviceAccountName: flannel
104 | initContainers:
105 | - name: install-cni
106 | image: quay.io/coreos/flannel:v0.10.0-amd64
107 | command:
108 | - cp
109 | args:
110 | - -f
111 | - /etc/kube-flannel/cni-conf.json
112 | - /etc/cni/net.d/10-flannel.conflist
113 | volumeMounts:
114 | - name: cni
115 | mountPath: /etc/cni/net.d
116 | - name: flannel-cfg
117 | mountPath: /etc/kube-flannel/
118 | containers:
119 | - name: kube-flannel
120 | image: quay.io/coreos/flannel:v0.10.0-amd64
121 | command:
122 | - /opt/bin/flanneld
123 | args:
124 | - --ip-masq
125 | - --kube-subnet-mgr
126 | resources:
127 | requests:
128 | cpu: "100m"
129 | memory: "50Mi"
130 | limits:
131 | cpu: "100m"
132 | memory: "50Mi"
133 | securityContext:
134 | privileged: true
135 | env:
136 | - name: POD_NAME
137 | valueFrom:
138 | fieldRef:
139 | fieldPath: metadata.name
140 | - name: POD_NAMESPACE
141 | valueFrom:
142 | fieldRef:
143 | fieldPath: metadata.namespace
144 | volumeMounts:
145 | - name: run
146 | mountPath: /run
147 | - name: flannel-cfg
148 | mountPath: /etc/kube-flannel/
149 | volumes:
150 | - name: run
151 | hostPath:
152 | path: /run
153 | - name: cni
154 | hostPath:
155 | path: /etc/cni/net.d
156 | - name: flannel-cfg
157 | configMap:
158 | name: kube-flannel-cfg
159 | ---
160 | apiVersion: extensions/v1beta1
161 | kind: DaemonSet
162 | metadata:
163 | name: kube-flannel-ds-arm64
164 | namespace: kube-system
165 | labels:
166 | tier: node
167 | app: flannel
168 | spec:
169 | template:
170 | metadata:
171 | labels:
172 | tier: node
173 | app: flannel
174 | spec:
175 | hostNetwork: true
176 | nodeSelector:
177 | beta.kubernetes.io/arch: arm64
178 | tolerations:
179 | - operator: Exists
180 | effect: NoSchedule
181 | serviceAccountName: flannel
182 | initContainers:
183 | - name: install-cni
184 | image: quay.io/coreos/flannel:v0.10.0-arm64
185 | command:
186 | - cp
187 | args:
188 | - -f
189 | - /etc/kube-flannel/cni-conf.json
190 | - /etc/cni/net.d/10-flannel.conflist
191 | volumeMounts:
192 | - name: cni
193 | mountPath: /etc/cni/net.d
194 | - name: flannel-cfg
195 | mountPath: /etc/kube-flannel/
196 | containers:
197 | - name: kube-flannel
198 | image: quay.io/coreos/flannel:v0.10.0-arm64
199 | command:
200 | - /opt/bin/flanneld
201 | args:
202 | - --ip-masq
203 | - --kube-subnet-mgr
204 | resources:
205 | requests:
206 | cpu: "100m"
207 | memory: "50Mi"
208 | limits:
209 | cpu: "100m"
210 | memory: "50Mi"
211 | securityContext:
212 | privileged: true
213 | env:
214 | - name: POD_NAME
215 | valueFrom:
216 | fieldRef:
217 | fieldPath: metadata.name
218 | - name: POD_NAMESPACE
219 | valueFrom:
220 | fieldRef:
221 | fieldPath: metadata.namespace
222 | volumeMounts:
223 | - name: run
224 | mountPath: /run
225 | - name: flannel-cfg
226 | mountPath: /etc/kube-flannel/
227 | volumes:
228 | - name: run
229 | hostPath:
230 | path: /run
231 | - name: cni
232 | hostPath:
233 | path: /etc/cni/net.d
234 | - name: flannel-cfg
235 | configMap:
236 | name: kube-flannel-cfg
237 | ---
238 | apiVersion: extensions/v1beta1
239 | kind: DaemonSet
240 | metadata:
241 | name: kube-flannel-ds-arm
242 | namespace: kube-system
243 | labels:
244 | tier: node
245 | app: flannel
246 | spec:
247 | template:
248 | metadata:
249 | labels:
250 | tier: node
251 | app: flannel
252 | spec:
253 | hostNetwork: true
254 | nodeSelector:
255 | beta.kubernetes.io/arch: arm
256 | tolerations:
257 | - operator: Exists
258 | effect: NoSchedule
259 | serviceAccountName: flannel
260 | initContainers:
261 | - name: install-cni
262 | image: quay.io/coreos/flannel:v0.10.0-arm
263 | command:
264 | - cp
265 | args:
266 | - -f
267 | - /etc/kube-flannel/cni-conf.json
268 | - /etc/cni/net.d/10-flannel.conflist
269 | volumeMounts:
270 | - name: cni
271 | mountPath: /etc/cni/net.d
272 | - name: flannel-cfg
273 | mountPath: /etc/kube-flannel/
274 | containers:
275 | - name: kube-flannel
276 | image: quay.io/coreos/flannel:v0.10.0-arm
277 | command:
278 | - /opt/bin/flanneld
279 | args:
280 | - --ip-masq
281 | - --kube-subnet-mgr
282 | resources:
283 | requests:
284 | cpu: "100m"
285 | memory: "50Mi"
286 | limits:
287 | cpu: "100m"
288 | memory: "50Mi"
289 | securityContext:
290 | privileged: true
291 | env:
292 | - name: POD_NAME
293 | valueFrom:
294 | fieldRef:
295 | fieldPath: metadata.name
296 | - name: POD_NAMESPACE
297 | valueFrom:
298 | fieldRef:
299 | fieldPath: metadata.namespace
300 | volumeMounts:
301 | - name: run
302 | mountPath: /run
303 | - name: flannel-cfg
304 | mountPath: /etc/kube-flannel/
305 | volumes:
306 | - name: run
307 | hostPath:
308 | path: /run
309 | - name: cni
310 | hostPath:
311 | path: /etc/cni/net.d
312 | - name: flannel-cfg
313 | configMap:
314 | name: kube-flannel-cfg
315 | ---
316 | apiVersion: extensions/v1beta1
317 | kind: DaemonSet
318 | metadata:
319 | name: kube-flannel-ds-ppc64le
320 | namespace: kube-system
321 | labels:
322 | tier: node
323 | app: flannel
324 | spec:
325 | template:
326 | metadata:
327 | labels:
328 | tier: node
329 | app: flannel
330 | spec:
331 | hostNetwork: true
332 | nodeSelector:
333 | beta.kubernetes.io/arch: ppc64le
334 | tolerations:
335 | - operator: Exists
336 | effect: NoSchedule
337 | serviceAccountName: flannel
338 | initContainers:
339 | - name: install-cni
340 | image: quay.io/coreos/flannel:v0.10.0-ppc64le
341 | command:
342 | - cp
343 | args:
344 | - -f
345 | - /etc/kube-flannel/cni-conf.json
346 | - /etc/cni/net.d/10-flannel.conflist
347 | volumeMounts:
348 | - name: cni
349 | mountPath: /etc/cni/net.d
350 | - name: flannel-cfg
351 | mountPath: /etc/kube-flannel/
352 | containers:
353 | - name: kube-flannel
354 | image: quay.io/coreos/flannel:v0.10.0-ppc64le
355 | command:
356 | - /opt/bin/flanneld
357 | args:
358 | - --ip-masq
359 | - --kube-subnet-mgr
360 | resources:
361 | requests:
362 | cpu: "100m"
363 | memory: "50Mi"
364 | limits:
365 | cpu: "100m"
366 | memory: "50Mi"
367 | securityContext:
368 | privileged: true
369 | env:
370 | - name: POD_NAME
371 | valueFrom:
372 | fieldRef:
373 | fieldPath: metadata.name
374 | - name: POD_NAMESPACE
375 | valueFrom:
376 | fieldRef:
377 | fieldPath: metadata.namespace
378 | volumeMounts:
379 | - name: run
380 | mountPath: /run
381 | - name: flannel-cfg
382 | mountPath: /etc/kube-flannel/
383 | volumes:
384 | - name: run
385 | hostPath:
386 | path: /run
387 | - name: cni
388 | hostPath:
389 | path: /etc/cni/net.d
390 | - name: flannel-cfg
391 | configMap:
392 | name: kube-flannel-cfg
393 | ---
394 | apiVersion: extensions/v1beta1
395 | kind: DaemonSet
396 | metadata:
397 | name: kube-flannel-ds-s390x
398 | namespace: kube-system
399 | labels:
400 | tier: node
401 | app: flannel
402 | spec:
403 | template:
404 | metadata:
405 | labels:
406 | tier: node
407 | app: flannel
408 | spec:
409 | hostNetwork: true
410 | nodeSelector:
411 | beta.kubernetes.io/arch: s390x
412 | tolerations:
413 | - operator: Exists
414 | effect: NoSchedule
415 | serviceAccountName: flannel
416 | initContainers:
417 | - name: install-cni
418 | image: quay.io/coreos/flannel:v0.10.0-s390x
419 | command:
420 | - cp
421 | args:
422 | - -f
423 | - /etc/kube-flannel/cni-conf.json
424 | - /etc/cni/net.d/10-flannel.conflist
425 | volumeMounts:
426 | - name: cni
427 | mountPath: /etc/cni/net.d
428 | - name: flannel-cfg
429 | mountPath: /etc/kube-flannel/
430 | containers:
431 | - name: kube-flannel
432 | image: quay.io/coreos/flannel:v0.10.0-s390x
433 | command:
434 | - /opt/bin/flanneld
435 | args:
436 | - --ip-masq
437 | - --kube-subnet-mgr
438 | resources:
439 | requests:
440 | cpu: "100m"
441 | memory: "50Mi"
442 | limits:
443 | cpu: "100m"
444 | memory: "50Mi"
445 | securityContext:
446 | privileged: true
447 | env:
448 | - name: POD_NAME
449 | valueFrom:
450 | fieldRef:
451 | fieldPath: metadata.name
452 | - name: POD_NAMESPACE
453 | valueFrom:
454 | fieldRef:
455 | fieldPath: metadata.namespace
456 | volumeMounts:
457 | - name: run
458 | mountPath: /run
459 | - name: flannel-cfg
460 | mountPath: /etc/kube-flannel/
461 | volumes:
462 | - name: run
463 | hostPath:
464 | path: /run
465 | - name: cni
466 | hostPath:
467 | path: /etc/cni/net.d
468 | - name: flannel-cfg
469 | configMap:
470 | name: kube-flannel-cfg
471 |
--------------------------------------------------------------------------------