diff --git a/README.md b/README.md index af5d1af..9f0864e 100644 --- a/README.md +++ b/README.md @@ -36,7 +36,7 @@ --- # 学习路线 -- [Java后端开发学习路线](https://mp.weixin.qq.com/s/D5yHGclHsOXKa4DJ5xQJGg) +- [Java后端开发学习路线](https://mp.weixin.qq.com/s/rAoamIey7cARMES7kfIaLw)

@@ -57,6 +57,7 @@ - [上次谁说要Java开源项目来着?来!](https://mp.weixin.qq.com/s/y59hmDbQj1QglVj90viZqw) - [分享几款适合初学者的C语言/C++开源项目](https://mp.weixin.qq.com/s/bRNiqhZZXaoRwPEt8GIpLg) - [吵着要学AI的小伙伴,可以看看这些牛批的开源项目](https://mp.weixin.qq.com/s/I9lr_SEg70OO_v-GOIUgjQ) +- [再整理几个开源项目:练手/毕设/私活都不愁了](https://mp.weixin.qq.com/s/jjugnXIr3G0u7i9krbmmqg) - [C/C++领域的练手开源项目,小伙伴们接好](https://mp.weixin.qq.com/s/fNgOqKlITKa4yTbULO2Atw) - [5个值得学习和练手的企业级开源项目!](https://mp.weixin.qq.com/s/PmxVlkI9LUmnqqSk0Frqeg) - [互联网开发十大顶级开源项目巡礼!](https://mp.weixin.qq.com/s/2cXCyl9rLNhFY1dDurkEMA) @@ -65,6 +66,7 @@ --- # 书籍推荐 +- [我的Java后端开发小书架分享](https://mp.weixin.qq.com/s/voNG467kSVfR-yjwelQhow) - [必读计算机编程好书推荐!程序员小伙搬出了他的书架!](https://www.bilibili.com/video/BV1kJ411W7pi) - [自学C/C++书籍推荐(自学C/C++看书路线推荐)](https://www.bilibili.com/video/BV1ob411m76i) @@ -76,21 +78,23 @@ - 基本功趣味学习 - - [这才是学编程要懂的基础!](https://mp.weixin.qq.com/s/ttncekujB82g88GRx3a6lQ) - - [真有小伙伴不知道浮点数如何转二进制吗?](https://mp.weixin.qq.com/s/LVpvmBO0GY6TC4gwL_12Yw) - - [编程坑太多,光一个List使用,就踩了5个](https://mp.weixin.qq.com/s/9bw2-pkuYSKEnstb4KGsqQ) - [老大说:谁要再用double定义商品金额,就自己收拾东西走](https://mp.weixin.qq.com/s/UyYDt3HB8IO_AoSDLndhxA) + - [为什么我们要面向接口编程?!](https://mp.weixin.qq.com/s/Dg9LcKJBrabcnvC_6wga-A) - [恕我直言,我怀疑你没怎么用过枚举](https://mp.weixin.qq.com/s/DgOr7cat8SP0zoY7Ke3toQ) + - [一文详解序列化和反序列化](https://mp.weixin.qq.com/s/0EfIUB9E-0Oh_Clwuxswuw) - [对不起我拖后腿了!我才刚用上Java 11](https://mp.weixin.qq.com/s/kNMQp-vjVK6Fq07xalZkng) - - [为什么我们要面向接口编程?!](https://mp.weixin.qq.com/s/Dg9LcKJBrabcnvC_6wga-A) - [答应我,别再if/else走天下了可以吗](https://mp.weixin.qq.com/s/ufRf8DQQRYQI0q2VxG3hQg) - - [答应我,别再if/else走天下了可以吗「C++ 篇」](https://mp.weixin.qq.com/s/iGqAZM7Ja_OzjH5AgS8geA) + - [答应我,别再if/else走天下了可以吗「C++ 版」](https://mp.weixin.qq.com/s/iGqAZM7Ja_OzjH5AgS8geA) - [听说你只会用注解,不会自己写注解?](https://mp.weixin.qq.com/s/gdYysBB3aD_HmPyvEThFXw) - [从一个面试题看程序员的几项基本功](https://mp.weixin.qq.com/s/dVgDv1bNH8ivO0Ft0FtmZg) - [只因少写一个判空,我的代码上线后炸了!](https://mp.weixin.qq.com/s/RsC7peRsFaJAEcG2eTJb0Q) - [以后要是再写for循环,我就捶自己](https://mp.weixin.qq.com/s/yI82juBiirJ56BZfGJezLw) - [什么?你项目还在用Date表示时间?!](https://mp.weixin.qq.com/s/v-Va_GuSUGr9HVAW84kloQ) - [面试官:为什么要重写hashcode和equals方法?](https://mp.weixin.qq.com/s/QZPezSruj0qvBUJEM4jB0g) + - [这才是学编程要懂的基础!](https://mp.weixin.qq.com/s/ttncekujB82g88GRx3a6lQ) + - [真有小伙伴不知道浮点数如何转二进制吗?](https://mp.weixin.qq.com/s/LVpvmBO0GY6TC4gwL_12Yw) + - [List使用踩坑记录](https://mp.weixin.qq.com/s/9bw2-pkuYSKEnstb4KGsqQ) + - [Map使用踩坑记录](https://mp.weixin.qq.com/s/D21mcfI4cxNf4D9ukjESog) - 多线程/并发 @@ -107,6 +111,9 @@ - 数据结构和算法 + - [24张图,九大数据结构安排得明明白白!](https://mp.weixin.qq.com/s/ZVwIUN-xf9FuxOFXW8H3Nw) + - [诸葛亮vs司马懿,排序算法大战谁能笑到最后?](https://mp.weixin.qq.com/s/za_MJY3-r9Gfiu3BJfej7Q) + - [十大经典排序算法大梳理 (动图+代码)](https://mp.weixin.qq.com/s/ekGdneZrMa23ALxt5mvKpQ) - [数据结构里各种难啃的“树”,一文搞懂它](https://mp.weixin.qq.com/s/k4-RaW4ROlo6chSXsO_4AA) - [一篇文章彻底学会递归思路解题!](https://mp.weixin.qq.com/s/-V0jBkPoZHYC2jLfSnQ6-g) - 哈希算法详解 @@ -114,11 +121,13 @@ - 计算机网络(TCP/IP协议栈) + - [计网 IP 知识全家桶,45 张图一套带走](https://mp.weixin.qq.com/s/21Tk-8gxpDoH9DNWNYCWmA) - [ping命令用得这么6,原理知道不?图解一波!](https://mp.weixin.qq.com/s/55bbQX2-SUNe6PEI9My5fA) - [探究:一个数据包在网络中到底是怎么游走的?](https://mp.weixin.qq.com/s/07zloKKMUl-RHN6tWqZIJQ) - [硬不硬你说了算!全图解被问千百遍的TCP三次握手和四次挥手面试题](https://mp.weixin.qq.com/s/lFnyBaaP3f0eNcKGW5RtCg) - [硬核!30 张图解 HTTP 常见的面试题](https://mp.weixin.qq.com/s/FJGKObVnU61ve_ioejLrtw) - [如果面试再问GET和POST区别,就把这篇甩给他](https://mp.weixin.qq.com/s/BraxnIUJF4JGtIep0YiovA) + - [计网 TCP/UDP 部分高频面试题大集合](https://mp.weixin.qq.com/s/SZ8XcOzZCVJG_P1_O4OtWQ) - 操作系统 @@ -128,22 +137,36 @@ - [left join、right join和join,傻傻分不清?](https://mp.weixin.qq.com/s/o150rmPOgzUeafVTh-ESmQ) - [数据库索引到底是什么](https://mp.weixin.qq.com/s/WMuxdG3ymNMWWDk1XhLwZQ) + - [数据库索引的原理和使用准则](https://mp.weixin.qq.com/s/4K3borSZXt-yc5t5UJnJpQ) - 数据库锁机制 - 数据库事务特性与隔离级别详解 - SQL优化详解 - 基于代理的数据库分库分表框架 Mycat实践 +- 其他 + + - [UML大科普:一文梳理清 14种 UML图](https://mp.weixin.qq.com/s/o1P4z3u2Xphu_IyTUFT-2g) + --- ### 工具和软件 +[【置顶1】熬10天夜,肝出了这个PDF版「软件安装手册」](https://mp.weixin.qq.com/s/YNOZSQ5smo1uGE5ZttUZ_w) + +[【置顶2】再肝两夜,写了个「服务器项目部署」实战PDF手册](https://mp.weixin.qq.com/s/JUJ6qu_ec3s1JmTxQt_V3g) + - Linux系统 - - [Linux环境都没有,怎么学编程?憋说了,肝!(保姆级教程)](https://mp.weixin.qq.com/s/WeZLtfrMdnISpX3v5WpJfA) + - [常用 Linux 发行版操作系统大盘点](https://mp.weixin.qq.com/s/x8rwsIOzYEPXmEVXmWJ4Tg) + - [人手一套Linux环境搭建之:macOS版本教程](https://mp.weixin.qq.com/s/WeZLtfrMdnISpX3v5WpJfA) + - [人手一套Linux环境之:Windows版本教程](https://mp.weixin.qq.com/s/onVwwEQ1DAwbvK7qS2YNxg) + - [面试常问的20个Linux命令](https://mp.weixin.qq.com/s/3NI4FWuOfYMJBiKqqnpqMA) + - [废柴电脑拯救计划:搭个云服务器它不香嘛](https://mp.weixin.qq.com/s/YpWp-b3vcAtb_jBwCM7wtg) - Git/SVN - [一招搞定GitHub下载加速!](https://mp.weixin.qq.com/s/SYR4zvjhAH1mX9fxdp8cbA) - [为什么 Git把 SVN拍在了沙滩上!](https://mp.weixin.qq.com/s/bUYz9JwqAYH_Fn6nHPSmTg) + - [Git的由来、数据模型以及基础命令](https://mp.weixin.qq.com/s/VvpjFUXd6jcatACHyFPHfg) - [Git操作与命令看这篇足矣!](https://mp.weixin.qq.com/s/swnwBiuyVmhs5iPqv3H6BQ) - 开发软件 @@ -162,11 +185,15 @@ - Dash - Zeal -- 其他软件 +- 其他软件和工具 - [我的常用软件大公开!](https://mp.weixin.qq.com/s/ONx6wjGjQSvOOIgnEBTNJQ) + - [这么多编程学习网站,总有一个适合你吧](https://mp.weixin.qq.com/s/L9lbKUJHTThCoOC8d6FGpg) - [前后端都分离了,该搞个好用的API管理系统了!](https://mp.weixin.qq.com/s/Ahs6fnIfFVVPOn3NZpIsNA) - [服务器软件大盘点!](https://mp.weixin.qq.com/s/J1XjIwtEKjaltqWH-0qmgw) + - [几款提升效率和B格的软件神器](https://mp.weixin.qq.com/s/HZRz_A8bLcOTuzcezYEFZg) + - [我的常用在线工具网站](https://mp.weixin.qq.com/s/oMAJaKDfr_bmgCVD0CX1oA) + --- ### 应用框架 @@ -259,10 +286,24 @@ - Spring Boot源码阅读调试环境搭建 - Redis源码阅读调试环境搭建 + + --- # 面试相关 --- +### 面试题分享 + +- [Java基础知识面试题大集合](https://mp.weixin.qq.com/s/f-qIQGbzwHcW5Ur51rCqgg) +- [Java虚拟机(JVM)面试题大集合](https://mp.weixin.qq.com/s/T2DqgJ9-0QiRZQYUeR3c8w) +- [Java并发和多线程基础面试题大集合](https://mp.weixin.qq.com/s/pIVf97W4DuAPNxq6zgRvsQ) +- [计网 TCP/UDP 部分高频面试题大集合](https://mp.weixin.qq.com/s/SZ8XcOzZCVJG_P1_O4OtWQ) +- [面试常问的20个Linux命令](https://mp.weixin.qq.com/s/3NI4FWuOfYMJBiKqqnpqMA) +- [Spring 经典面试题大集合](https://mp.weixin.qq.com/s/q4CajkpSUC8TCgv55VK5aQ) +- [Spring Boot基础面试题大集合](https://mp.weixin.qq.com/s/cLh9xCDkVG0KV-uaX8PkNw) +- [Spring Cloud基础面试题大集合](https://mp.weixin.qq.com/s/g0br3PfTmm8C_nkKbzE_ig) +- [C语言/C++基础面试知识大集合](https://mp.weixin.qq.com/s/7mx58Idw1pL0MjPIFBUB1Q) + ### 面经分享 - [小伙伴现身说法:Linux后台开发该如何准备](https://mp.weixin.qq.com/s/joFBDntI9PmyVRiKPHwpRg) @@ -271,18 +312,30 @@ - [小伙伴面经分享(一):深信服(含答案)](https://mp.weixin.qq.com/s/3YfKHo2lW-NC1tEA_u-mlQ) - [小伙伴面经分享(二):京东(含答案)](https://mp.weixin.qq.com/s/sc-7rc6obYZNFcc1mjNPAg) - [一位程序媛的秋招软件开发岗面试经历](https://mp.weixin.qq.com/s/jAPYcMULqQl6AE_Vv7BZhQ) +- [写简历→面试→谈薪:一绿向北](https://mp.weixin.qq.com/s/0RoFVAezxW8cl3bjlAHbQg) --- ### 简历模板 - [简历模板分享](https://mp.weixin.qq.com/s/-qlU2-a-vvXWOHXzKHRm6A) +### 城市/公司选择 + +- [一二线城市知名IT互联网公司名单](https://mp.weixin.qq.com/s/VFocc914mGTrDzodI-MF1A) + --- # 资源推荐 +- [我的Java后端开发小书架分享](https://mp.weixin.qq.com/s/voNG467kSVfR-yjwelQhow) +- [这么多编程学习网站,总有一个适合你吧](https://mp.weixin.qq.com/s/L9lbKUJHTThCoOC8d6FGpg) - [阿里巴巴Java开发手册分享](https://mp.weixin.qq.com/s/yncEfIOxWeNj7asCLPwrUw) - [简历模板分享](https://mp.weixin.qq.com/s/-qlU2-a-vvXWOHXzKHRm6A) +--- +# 其他技术文章 + +- [扫码付款背后的原理居然是这样](https://mp.weixin.qq.com/s/RjVLsAhiMIYzsMhXJiReNg) + --- @@ -297,15 +350,12 @@ ### 联系方式 - [微信公众号私信联系我](https://mp.weixin.qq.com/s/ePhaYezFblgt0NgbvtWqww) -- [bilibili](https://space.bilibili.com/384068749) -- [简书](https://www.jianshu.com/u/d19536b0189b) -- [CSDN](https://blog.csdn.net/wangshuaiwsws95) -- [掘金](https://juejin.im/user/59551ecdf265da6c2518cd5c) -- [知乎](https://www.zhihu.com/people/code_sheep) --- ### 我的心路历程 +- [我的毕业季,没有一点点仪式感](https://mp.weixin.qq.com/s/0iSzqJBj7YHkijGxbFUqCQ) +- [既然硕士毕业也去搞开发,那我还读个喵的研?](https://mp.weixin.qq.com/s/_Kt9OmaBVDDj6S7rsdC-Aw) - [二线城市的程序员活得好吗?](https://mp.weixin.qq.com/s/gOo8ztVLdXp3m_rvBozQpQ) - [自学编程的八大误区!克服它!](https://mp.weixin.qq.com/s/r_vm7lA2Ul_ZFhkx60wplg) - [我的本科回忆录:从迷茫自卑到保送华科](https://mp.weixin.qq.com/s/t9F6Z-DrybWLUxVrPTRPJw) @@ -320,7 +370,7 @@ --- ### 写作之路 - +- [坚持写博客三年了,分享几个私藏小工具](https://mp.weixin.qq.com/s/T-b7GfBoMGRuOqtp3T_HaA) - [Win10下Hexo博客搭建教程,及阿里云服务器部署实战](https://mp.weixin.qq.com/s/JTTUYJTvtdT6X2fvLUBFZg) - [用Github+docsify,我花了半天就搭好了个人博客](https://mp.weixin.qq.com/s/grsv_rx3DL862M8dBsHd_A) @@ -330,6 +380,9 @@ --- # 闲聊/侃大山 +- [如何优雅地向老师表达:我这周任务没啥进展?](https://mp.weixin.qq.com/s/gbIGNXIkOpw8tQ5aIoJMtw) +- [C语言为什么不会过时](https://mp.weixin.qq.com/s/ltcfVu__ajU_i9wq77OnJg) +- [好不容易读个研,遇到放羊的导师可咋整?](https://mp.weixin.qq.com/s/OkxMe3Eaywx-KF9tBmjf-Q) - [程序员小猪队友行为大赏](https://mp.weixin.qq.com/s/1dJO8VJ6GaZykv33IUslkw) - [研究生/专升本都扩招,我们没有理由放弃!](https://mp.weixin.qq.com/s/MvZFLDHItPR7InzrtYRL5w) - [实不相瞒,在家远程办公15天,我有点自闭](https://mp.weixin.qq.com/s/gJBlu5gXL5vqYWG6ggisRw) diff --git a/docs/.DS_Store b/docs/.DS_Store new file mode 100644 index 0000000..9aafd42 Binary files /dev/null and b/docs/.DS_Store differ diff --git a/docs/kubernetes/dashboard-user-role.yaml b/docs/kubernetes/dashboard-user-role.yaml new file mode 100644 index 0000000..987b0e5 --- /dev/null +++ b/docs/kubernetes/dashboard-user-role.yaml @@ -0,0 +1,23 @@ +kind: ClusterRoleBinding +apiVersion: rbac.authorization.k8s.io/v1beta1 +metadata: + name: admin + annotations: + rbac.authorization.kubernetes.io/autoupdate: "true" +roleRef: + kind: ClusterRole + name: cluster-admin + apiGroup: rbac.authorization.k8s.io +subjects: +- kind: ServiceAccount + name: admin + namespace: kube-system +--- +apiVersion: v1 +kind: ServiceAccount +metadata: + name: admin + namespace: kube-system + labels: + kubernetes.io/cluster-service: "true" + addonmanager.kubernetes.io/mode: Reconcile diff --git a/docs/kubernetes/dashboard.yaml b/docs/kubernetes/dashboard.yaml new file mode 100644 index 0000000..462c615 --- /dev/null +++ b/docs/kubernetes/dashboard.yaml @@ -0,0 +1,166 @@ +# Copyright 2017 The Kubernetes Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# ------------------- Dashboard Secret ------------------- # + +apiVersion: v1 +kind: Secret +metadata: + labels: + k8s-app: kubernetes-dashboard + name: kubernetes-dashboard-certs + namespace: kube-system +type: Opaque + +--- +# ------------------- Dashboard Service Account ------------------- # + +apiVersion: v1 +kind: ServiceAccount +metadata: + labels: + k8s-app: kubernetes-dashboard + name: kubernetes-dashboard + namespace: kube-system + +--- +# ------------------- Dashboard Role & Role Binding ------------------- # + +kind: Role +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: kubernetes-dashboard-minimal + namespace: kube-system +rules: + # Allow Dashboard to create 'kubernetes-dashboard-key-holder' secret. +- apiGroups: [""] + resources: ["secrets"] + verbs: ["create"] + # Allow Dashboard to create 'kubernetes-dashboard-settings' config map. +- apiGroups: [""] + resources: ["configmaps"] + verbs: ["create"] + # Allow Dashboard to get, update and delete Dashboard exclusive secrets. +- apiGroups: [""] + resources: ["secrets"] + resourceNames: ["kubernetes-dashboard-key-holder", "kubernetes-dashboard-certs"] + verbs: ["get", "update", "delete"] + # Allow Dashboard to get and update 'kubernetes-dashboard-settings' config map. +- apiGroups: [""] + resources: ["configmaps"] + resourceNames: ["kubernetes-dashboard-settings"] + verbs: ["get", "update"] + # Allow Dashboard to get metrics from heapster. +- apiGroups: [""] + resources: ["services"] + resourceNames: ["heapster"] + verbs: ["proxy"] +- apiGroups: [""] + resources: ["services/proxy"] + resourceNames: ["heapster", "http:heapster:", "https:heapster:"] + verbs: ["get"] + +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: RoleBinding +metadata: + name: kubernetes-dashboard-minimal + namespace: kube-system +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: Role + name: kubernetes-dashboard-minimal +subjects: +- kind: ServiceAccount + name: kubernetes-dashboard + namespace: kube-system + +--- +# ------------------- Dashboard Deployment ------------------- # + +kind: Deployment +apiVersion: apps/v1beta2 +metadata: + labels: + k8s-app: kubernetes-dashboard + name: kubernetes-dashboard + namespace: kube-system +spec: + replicas: 1 + revisionHistoryLimit: 10 + selector: + matchLabels: + k8s-app: kubernetes-dashboard + template: + metadata: + labels: + k8s-app: kubernetes-dashboard + spec: + containers: + - name: kubernetes-dashboard + image: k8s.gcr.io/kubernetes-dashboard-amd64:v1.10.0 + ports: + - containerPort: 8443 + protocol: TCP + args: + - --auto-generate-certificates + - --token-ttl=5400 + # Uncomment the following line to manually specify Kubernetes API server Host + # If not specified, Dashboard will attempt to auto discover the API server and connect + # to it. Uncomment only if the default does not work. + # - --apiserver-host=http://my-address:port + volumeMounts: + - name: kubernetes-dashboard-certs + mountPath: /certs + # Create on-disk volume to store exec logs + - mountPath: /tmp + name: tmp-volume + livenessProbe: + httpGet: + scheme: HTTPS + path: / + port: 8443 + initialDelaySeconds: 30 + timeoutSeconds: 30 + volumes: + - name: kubernetes-dashboard-certs + hostPath: + path: /home/share/certs + type: Directory + - name: tmp-volume + emptyDir: {} + serviceAccountName: kubernetes-dashboard + # Comment the following tolerations if Dashboard must not be deployed on master + tolerations: + - key: node-role.kubernetes.io/master + effect: NoSchedule + +--- +# ------------------- Dashboard Service ------------------- # + +kind: Service +apiVersion: v1 +metadata: + labels: + k8s-app: kubernetes-dashboard + name: kubernetes-dashboard + namespace: kube-system +spec: + ports: + - port: 443 + targetPort: 8443 + nodePort: 31234 + selector: + k8s-app: kubernetes-dashboard + type: NodePort diff --git a/docs/kubernetes/kube-flannel.yaml b/docs/kubernetes/kube-flannel.yaml new file mode 100644 index 0000000..0fa9fc5 --- /dev/null +++ b/docs/kubernetes/kube-flannel.yaml @@ -0,0 +1,470 @@ +--- +kind: ClusterRole +apiVersion: rbac.authorization.k8s.io/v1beta1 +metadata: + name: flannel +rules: + - apiGroups: + - "" + resources: + - pods + verbs: + - get + - apiGroups: + - "" + resources: + - nodes + verbs: + - list + - watch + - apiGroups: + - "" + resources: + - nodes/status + verbs: + - patch +--- +kind: ClusterRoleBinding +apiVersion: rbac.authorization.k8s.io/v1beta1 +metadata: + name: flannel +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: flannel +subjects: +- kind: ServiceAccount + name: flannel + namespace: kube-system +--- +apiVersion: v1 +kind: ServiceAccount +metadata: + name: flannel + namespace: kube-system +--- +kind: ConfigMap +apiVersion: v1 +metadata: + name: kube-flannel-cfg + namespace: kube-system + labels: + tier: node + app: flannel +data: + cni-conf.json: | + { + "name": "cbr0", + "plugins": [ + { + "type": "flannel", + "delegate": { + "hairpinMode": true, + "isDefaultGateway": true + } + }, + { + "type": "portmap", + "capabilities": { + "portMappings": true + } + } + ] + } + net-conf.json: | + { + "Network": "10.244.0.0/16", + "Backend": { + "Type": "vxlan" + } + } +--- +apiVersion: extensions/v1beta1 +kind: DaemonSet +metadata: + name: kube-flannel-ds-amd64 + namespace: kube-system + labels: + tier: node + app: flannel +spec: + template: + metadata: + labels: + tier: node + app: flannel + spec: + hostNetwork: true + nodeSelector: + beta.kubernetes.io/arch: amd64 + tolerations: + - operator: Exists + effect: NoSchedule + serviceAccountName: flannel + initContainers: + - name: install-cni + image: quay.io/coreos/flannel:v0.10.0-amd64 + command: + - cp + args: + - -f + - /etc/kube-flannel/cni-conf.json + - /etc/cni/net.d/10-flannel.conflist + volumeMounts: + - name: cni + mountPath: /etc/cni/net.d + - name: flannel-cfg + mountPath: /etc/kube-flannel/ + containers: + - name: kube-flannel + image: quay.io/coreos/flannel:v0.10.0-amd64 + command: + - /opt/bin/flanneld + args: + - --ip-masq + - --kube-subnet-mgr + resources: + requests: + cpu: "100m" + memory: "50Mi" + limits: + cpu: "100m" + memory: "50Mi" + securityContext: + privileged: true + env: + - name: POD_NAME + valueFrom: + fieldRef: + fieldPath: metadata.name + - name: POD_NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace + volumeMounts: + - name: run + mountPath: /run + - name: flannel-cfg + mountPath: /etc/kube-flannel/ + volumes: + - name: run + hostPath: + path: /run + - name: cni + hostPath: + path: /etc/cni/net.d + - name: flannel-cfg + configMap: + name: kube-flannel-cfg +--- +apiVersion: extensions/v1beta1 +kind: DaemonSet +metadata: + name: kube-flannel-ds-arm64 + namespace: kube-system + labels: + tier: node + app: flannel +spec: + template: + metadata: + labels: + tier: node + app: flannel + spec: + hostNetwork: true + nodeSelector: + beta.kubernetes.io/arch: arm64 + tolerations: + - operator: Exists + effect: NoSchedule + serviceAccountName: flannel + initContainers: + - name: install-cni + image: quay.io/coreos/flannel:v0.10.0-arm64 + command: + - cp + args: + - -f + - /etc/kube-flannel/cni-conf.json + - /etc/cni/net.d/10-flannel.conflist + volumeMounts: + - name: cni + mountPath: /etc/cni/net.d + - name: flannel-cfg + mountPath: /etc/kube-flannel/ + containers: + - name: kube-flannel + image: quay.io/coreos/flannel:v0.10.0-arm64 + command: + - /opt/bin/flanneld + args: + - --ip-masq + - --kube-subnet-mgr + resources: + requests: + cpu: "100m" + memory: "50Mi" + limits: + cpu: "100m" + memory: "50Mi" + securityContext: + privileged: true + env: + - name: POD_NAME + valueFrom: + fieldRef: + fieldPath: metadata.name + - name: POD_NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace + volumeMounts: + - name: run + mountPath: /run + - name: flannel-cfg + mountPath: /etc/kube-flannel/ + volumes: + - name: run + hostPath: + path: /run + - name: cni + hostPath: + path: /etc/cni/net.d + - name: flannel-cfg + configMap: + name: kube-flannel-cfg +--- +apiVersion: extensions/v1beta1 +kind: DaemonSet +metadata: + name: kube-flannel-ds-arm + namespace: kube-system + labels: + tier: node + app: flannel +spec: + template: + metadata: + labels: + tier: node + app: flannel + spec: + hostNetwork: true + nodeSelector: + beta.kubernetes.io/arch: arm + tolerations: + - operator: Exists + effect: NoSchedule + serviceAccountName: flannel + initContainers: + - name: install-cni + image: quay.io/coreos/flannel:v0.10.0-arm + command: + - cp + args: + - -f + - /etc/kube-flannel/cni-conf.json + - /etc/cni/net.d/10-flannel.conflist + volumeMounts: + - name: cni + mountPath: /etc/cni/net.d + - name: flannel-cfg + mountPath: /etc/kube-flannel/ + containers: + - name: kube-flannel + image: quay.io/coreos/flannel:v0.10.0-arm + command: + - /opt/bin/flanneld + args: + - --ip-masq + - --kube-subnet-mgr + resources: + requests: + cpu: "100m" + memory: "50Mi" + limits: + cpu: "100m" + memory: "50Mi" + securityContext: + privileged: true + env: + - name: POD_NAME + valueFrom: + fieldRef: + fieldPath: metadata.name + - name: POD_NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace + volumeMounts: + - name: run + mountPath: /run + - name: flannel-cfg + mountPath: /etc/kube-flannel/ + volumes: + - name: run + hostPath: + path: /run + - name: cni + hostPath: + path: /etc/cni/net.d + - name: flannel-cfg + configMap: + name: kube-flannel-cfg +--- +apiVersion: extensions/v1beta1 +kind: DaemonSet +metadata: + name: kube-flannel-ds-ppc64le + namespace: kube-system + labels: + tier: node + app: flannel +spec: + template: + metadata: + labels: + tier: node + app: flannel + spec: + hostNetwork: true + nodeSelector: + beta.kubernetes.io/arch: ppc64le + tolerations: + - operator: Exists + effect: NoSchedule + serviceAccountName: flannel + initContainers: + - name: install-cni + image: quay.io/coreos/flannel:v0.10.0-ppc64le + command: + - cp + args: + - -f + - /etc/kube-flannel/cni-conf.json + - /etc/cni/net.d/10-flannel.conflist + volumeMounts: + - name: cni + mountPath: /etc/cni/net.d + - name: flannel-cfg + mountPath: /etc/kube-flannel/ + containers: + - name: kube-flannel + image: quay.io/coreos/flannel:v0.10.0-ppc64le + command: + - /opt/bin/flanneld + args: + - --ip-masq + - --kube-subnet-mgr + resources: + requests: + cpu: "100m" + memory: "50Mi" + limits: + cpu: "100m" + memory: "50Mi" + securityContext: + privileged: true + env: + - name: POD_NAME + valueFrom: + fieldRef: + fieldPath: metadata.name + - name: POD_NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace + volumeMounts: + - name: run + mountPath: /run + - name: flannel-cfg + mountPath: /etc/kube-flannel/ + volumes: + - name: run + hostPath: + path: /run + - name: cni + hostPath: + path: /etc/cni/net.d + - name: flannel-cfg + configMap: + name: kube-flannel-cfg +--- +apiVersion: extensions/v1beta1 +kind: DaemonSet +metadata: + name: kube-flannel-ds-s390x + namespace: kube-system + labels: + tier: node + app: flannel +spec: + template: + metadata: + labels: + tier: node + app: flannel + spec: + hostNetwork: true + nodeSelector: + beta.kubernetes.io/arch: s390x + tolerations: + - operator: Exists + effect: NoSchedule + serviceAccountName: flannel + initContainers: + - name: install-cni + image: quay.io/coreos/flannel:v0.10.0-s390x + command: + - cp + args: + - -f + - /etc/kube-flannel/cni-conf.json + - /etc/cni/net.d/10-flannel.conflist + volumeMounts: + - name: cni + mountPath: /etc/cni/net.d + - name: flannel-cfg + mountPath: /etc/kube-flannel/ + containers: + - name: kube-flannel + image: quay.io/coreos/flannel:v0.10.0-s390x + command: + - /opt/bin/flanneld + args: + - --ip-masq + - --kube-subnet-mgr + resources: + requests: + cpu: "100m" + memory: "50Mi" + limits: + cpu: "100m" + memory: "50Mi" + securityContext: + privileged: true + env: + - name: POD_NAME + valueFrom: + fieldRef: + fieldPath: metadata.name + - name: POD_NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace + volumeMounts: + - name: run + mountPath: /run + - name: flannel-cfg + mountPath: /etc/kube-flannel/ + volumes: + - name: run + hostPath: + path: /run + - name: cni + hostPath: + path: /etc/cni/net.d + - name: flannel-cfg + configMap: + name: kube-flannel-cfg