vue-component

接下来,表演默写代码。

全局组件

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
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
<script src="https://cdn.staticfile.org/vue/2.2.2/vue.min.js"></script>
</head>
<body>
<div id="app">
<backend></backend>
</div>
<div id="app2">
<backend></backend>
</div>
<script>
<!-- 此处定义的是全局组件 -->
Vue.component('backend', {
template: '<div style="background-color:yellow">This is Backend</div>'
});
new Vue({
el: '#app'
});
<!-- 所有的el都能使用全局组件 -->
new Vue({
el: '#app2'
});
</script>
</body>
</html>

局部组件

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
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
<script src="https://cdn.staticfile.org/vue/2.2.2/vue.min.js"></script>
</head>
<body>
<div id="app">
<background></background>
</div>

<!-- id='app2' 无法获取到 id='app'中定义的局部component -->
<div id="app2">
<background></background>
</div>
<script>
new Vue({
el: '#app',
components: {
background: {
template:
'<div style="background-color:yellow">This is Backend</div>'
}
}
});

new Vue({
el: '#app2'
});
</script>
</body>
</html>
  • 组件的定义,是 ,多看才能熟悉啊!😓

vue-route

Vue-route 笔记

hash 和history

@Chandler

先会用了,再深究原理。

vue-route 的hash 模式,理解成url与实际请求并不对等。并且浏览器url地址栏,中有#。

而vue-route的history模式,要求url与实际请求对等。详细内容,等进一步学习。


Calico IPAM

同事发现内网新搭建的K8S集群,某个node的路由记录,没有被聚合。这台node上的每一个pods,都单独生成了一条路由记录。触发我的纠结病,于是开始了长达两天的追查。也顺带把Calico的文档扫了一遍。

  • 集群跨两层办公室机房,node本身就跨网段,ipip 也设置为CrossSubnet,所以出现了tunl0的设备。
  • pods的cidr为 10.200.0.0/23, 共计512个IP地址
  • calico的IPP中,定义的blocksize为默认值26。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
[root@ip-10-20-0-196 calico_init]# ip r
default via 10.20.0.1 dev ens192
10.20.0.0/24 dev ens192 proto kernel scope link src 10.20.0.196
10.220.0.0/26 via 10.20.0.223 dev ens192 proto bird
10.220.0.64/26 via 10.20.0.193 dev ens192 proto bird
10.220.0.128/26 via 10.20.0.191 dev ens192 proto bird
10.220.0.143 via 10.20.1.152 dev tunl0 proto bird onlink
10.220.0.145 via 10.20.1.152 dev tunl0 proto bird onlink
10.220.0.146 via 10.20.1.152 dev tunl0 proto bird onlink
10.220.0.160 via 10.20.0.228 dev ens192 proto bird
10.220.0.161 via 10.20.0.228 dev ens192 proto bird
10.220.0.173 via 10.20.1.152 dev tunl0 proto bird onlink
10.220.0.174 via 10.20.1.152 dev tunl0 proto bird onlink
10.220.0.192/26 via 10.20.0.198 dev ens192 proto bird
10.220.1.0/26 via 10.20.0.197 dev ens192 proto bird
10.220.1.64/26 via 10.20.0.228 dev ens192 proto bird
10.220.1.128/26 via 10.20.0.204 dev ens192 proto bird
blackhole 10.220.1.192/26 proto bird
10.220.1.194 dev caliafe1d50ff0f scope link
10.220.1.195 dev cali9420a200f80 scope link
10.220.1.198 dev cali7a9789f2db7 scope link
10.220.1.200 dev cali68093c17d26 scope link
169.254.0.0/16 dev ens192 scope link metric 1002
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown

由于路由的聚合,取决于 calico ipp 中blocksize定义,但是ipp反复比对,也是正常。

最终觉悟的是,发现10.20.1.151 node是的pods ip并不是完整的一段。从而找到了最终答案。

答案: 我们划的网络是10.200.0.0/23. 所以总共有512个ip
而calico的blocksize值为26,所以每一个node 可以有64个pods。那么512可以有8个node。结果我们的集群,3台master,3台rooh ceph,1台jenkins。所以集群数量轻而易举的超越了8台。等到集群出现第八个节点时,calico 已经无法聚合路由记录,遍出现了零散的路由,随着集群node的增加,问题也会渐渐凸显。

9B034FC4-883A-4BE5-AA03-23D85E8F870F.png

集群目前的状态

目前内网集群采用BGP模式,full mesh 。没有用Route Reflect,原因是机器可能迁移至长沙,集群如无意外要拆了重建😵。所以也就先不该动了。目前,通过核心路由器上添加记录,实现开发办公电脑无缝打通pods/ SVC网络。我起初规划的方案是采用BGP的RR模式,为E3/ E7/ E9,每一层楼设置BGP node,然后再分配不同的IP Pools,用以区别。可是….


技术博客开篇

开篇

记录日常学习与工作的一些知识点。尝试将每个知识点,做一些总结。

更主要的原因,是因为学过涉及的东西多且零散,Evernote clip 了将近2000多个技术文章。需要让面试官提前了解一下我的知识储备。

立一个Flag 每个工作日,写一天技术文章。为自己搭建一个跳板

如果学到的技能,用不上怎么办?

最近在学习vue.js,无意间又翻看到一些简单的java 代码。

想到了曾经学习过java方向,学习过oracle,还考取了OCP。那时候晚上上班,白天灌咖啡上课,谋划在工作中,能从运维岗内部转岗到DBA。

如今Oracle已经放下好四年,SQL优化和直方图再也记不清。Java的Servlet也就忘的清光。可是投入的可是真真切切的心思和精力。

再细想,如今我又开辟了一个的目标 vue.js。如果未来用不上,学会了再生疏了。那么还有学习的必要吗?