简栈

拥抱AI,持续成长

创建管理员用户

1
2
3
4
5
6
➜  kubernetes  kubectl patch svc -n kube-system kubernetes-dashboard -p '{"spec":{"type":"NodePort"}}'
service/kubernetes-dashboard patched
➜ kubernetes kubectl create serviceaccount dashboard-admin -n kube-system
serviceaccount/dashboard-admin created
➜ kubernetes kubectl create clusterrolebinding dashboard-cluster-admin --clusterrole=cluster-admin --serviceaccount=kube-system:dashboard-admin
clusterrolebinding.rbac.authorization.k8s.io/dashboard-cluster-admin created

确定NAME

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
➜  kubernetes  kubectl get secret -n=kube-system
NAME TYPE DATA AGE
attachdetach-controller-token-jxx56 kubernetes.io/service-account-token 3 5d3h
bootstrap-signer-token-9hb7w kubernetes.io/service-account-token 3 5d3h
certificate-controller-token-m8mpc kubernetes.io/service-account-token 3 5d3h
clusterrole-aggregation-controller-token-sb7dv kubernetes.io/service-account-token 3 5d3h
coredns-token-tdchv kubernetes.io/service-account-token 3 5d3h
cronjob-controller-token-2f79z kubernetes.io/service-account-token 3 5d3h
daemon-set-controller-token-svzw7 kubernetes.io/service-account-token 3 5d3h
dashboard-admin-token-mwjwf kubernetes.io/service-account-token 3 61s
default-token-sznp4 kubernetes.io/service-account-token 3 5d3h
deployment-controller-token-qdh74 kubernetes.io/service-account-token 3 5d3h
disruption-controller-token-hd7sb kubernetes.io/service-account-token 3 5d3h
endpoint-controller-token-wnnrr kubernetes.io/service-account-token 3 5d3h
expand-controller-token-jc8ls kubernetes.io/service-account-token 3 5d3h
generic-garbage-collector-token-x2p5z kubernetes.io/service-account-token 3 5d3h
horizontal-pod-autoscaler-token-vf4kn kubernetes.io/service-account-token 3 5d3h
job-controller-token-mtz64 kubernetes.io/service-account-token 3 5d3h
kube-proxy-token-6xgld kubernetes.io/service-account-token 3 5d3h
kubernetes-dashboard-certs Opaque 0 5d3h
kubernetes-dashboard-key-holder Opaque 2 5d3h
kubernetes-dashboard-token-lx9kx kubernetes.io/service-account-token 3 5d3h
namespace-controller-token-8scnl kubernetes.io/service-account-token 3 5d3h
node-controller-token-rh4fk kubernetes.io/service-account-token 3 5d3h
persistent-volume-binder-token-xhwzv kubernetes.io/service-account-token 3 5d3h
pod-garbage-collector-token-7wtzh kubernetes.io/service-account-token 3 5d3h
pv-protection-controller-token-9nqsb kubernetes.io/service-account-token 3 5d3h
pvc-protection-controller-token-59kcr kubernetes.io/service-account-token 3 5d3h
replicaset-controller-token-pq8q9 kubernetes.io/service-account-token 3 5d3h
replication-controller-token-tp9zd kubernetes.io/service-account-token 3 5d3h
resourcequota-controller-token-wm4j6 kubernetes.io/service-account-token 3 5d3h
service-account-controller-token-g2h2r kubernetes.io/service-account-token 3 5d3h
service-controller-token-7qrks kubernetes.io/service-account-token 3 5d3h
statefulset-controller-token-gcrtq kubernetes.io/service-account-token 3 5d3h
token-cleaner-token-swg2m kubernetes.io/service-account-token 3 5d3h
ttl-controller-token-tgwnf kubernetes.io/service-account-token 3 5d3h

获取TOKEN

1
2
3
4
5
6
7
8
9
10
11
12
13
14
➜  kubernetes  kubectl describe secret -n=kube-system dashboard-admin-token-mwjwf
Name: dashboard-admin-token-mwjwf
Namespace: kube-system
Labels: <none>
Annotations: kubernetes.io/service-account.name: dashboard-admin
kubernetes.io/service-account.uid: 0c547a29-f000-11e9-a91a-025000000001

Type: kubernetes.io/service-account-token

Data
====
ca.crt: 1025 bytes
namespace: 11 bytes
token: eyJhbGciOiJSUzI1NiIsImtpZCI6IiJ9.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJkYXNoYm9hcmQtYWRtaW4tdG9rZW4tbXdqd2YiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC5uYW1lIjoiZGFzaGJvYXJkLWFkbWluIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQudWlkIjoiMGM1NDdhMjktZjAwMC0xMWU5LWE5MWEtMDI1MDAwMDAwMDAxIiwic3ViIjoic3lzdGVtOnNlcnZpY2VhY2NvdW50Omt1YmUtc3lzdGVtOmRhc2hib2FyZC1hZG1pbiJ9.cvbCJYR98zNWQeRjW4QmEqVPKD4CxL5EpR7bwEfCZqU_hJiNIKJubIGYWAkbB47waEBFOgIU9Aj98BGqtIAki-eL_kZFVYDIrQGzYQHZVngmCcUwG0u_PKazH9bgU_sfsw9t2_FZv-pD8aiVpGXtbS9EFWpf-VTIrZS-CSlTp0LEgPZLir8Jp_T3X4sbBfgtMbHTzkbz8WCvL_SeWxRIf7o-hLY703KNU4hkbNUxhC2ur73Irp3dSpgyANrS3G3cQjM1Uinh7pJl1ay-gRd0jPCwcZxUW3XKfLqS2-vwIpnYZ_j26Dj9oqDChAIxhK2T6VfBOdpp93AlXzT3_0VSYQ

生成Kubeconfig文件

1
2
3
4
5
6
7
8
9
➜  kubernetes  DASH_TOCKEN=$(kubectl get secret -n kube-system dashboard-admin-token-mwjwf -o jsonpath={.data.token}|base64 -D)
➜ kubernetes kubectl config set-cluster kubernetes --server=https://kubernetes.docker.internal:6443 --kubeconfig=/Users/chenyuan/Tools/Docker/kubernetes/dashbord-admin.conf
Cluster "kubernetes" set.
➜ kubernetes kubectl config set-credentials dashboard-admin --token=$DASH_TOCKEN --kubeconfig=/Users/chenyuan/Tools/Docker/kubernetes/dashbord-admin.conf
User "dashboard-admin" set.
➜ kubernetes kubectl config set-context dashboard-admin@kubernetes --cluster=kubernetes --user=dashboard-admin --kubeconfig=/Users/chenyuan/Tools/Docker/kubernetes/dashbord-admin.conf
Context "dashboard-admin@kubernetes" created.
➜ kubernetes kubectl config use-context dashboard-admin@kubernetes --kubeconfig=/Users/chenyuan/Tools/Docker/kubernetes/dashbord-admin.conf
Switched to context "dashboard-admin@kubernetes".

启动服务验证

1
2
3
kubectl proxy --address='0.0.0.0'  --accept-hosts='^*$'  

访问:http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/
阅读全文 »

Git 基本原理与常用命令

1、设置与帮助

1
2
3
1. git help <command>          # 显示指定命令的help  
2. git config --global user.name "your name"
3. git config --global user.email "your email"

2、修改与提交

1
2
3
4
5
6
7
8
9
10
1. git status                   # 查看工作区状态  
2. git add <file> # 将指定文件修改提交到本地暂存区
3. git add . # 将所有修改过的文件提都交暂存区,不包括删除,"."即表示正则匹配所有字符
4. git add --all # 将所有工作区修改提交到暂存区,包括 delete 掉的文件
5. git add -A # 同上
6. git commit -m"comments" # 将暂存区的内容提交到本地库,并加上备注
7. git commit <file> # 提交暂存区指定文件
8. git commit . # 提交暂存区所有文件
9. git commit -a # 将git add, git rm和git commit等操作都合并在一起做,不包括新建文件
10. git commit -am "comments" # 同上+添加备注

3、撤销与恢复

1
2
3
4
5
1. git checkout  -- <file>     # 抛弃工作区指定文件的修改  
2. git checkoout . # 抛弃工作区所有的修改
3. git reset <file> # 将指定文件从暂存区恢复到工作区
4. git reset -- . # 将所有文件从暂存区恢复到工作区
5. git reset --hard # 恢复最近一次提交过的状态,工作区所有修改被放弃

4、查看提交

1
2
3
4
5
6
7
1. git show            # 显示某次提交的内容  
2. git show $id
3. git log
4. git log <file> # 查看该文件每次提交记录
5. git log -p <file> # 查看每次详细修改内容的diff
6. git log -p -2 # 查看最近两次详细修改内容的diff
7. git log --stat # 查看提交统计信息

5、差异对比

阅读全文 »

我们如何看SpringBoot的源代码

1、快速生成一个简单的SpringBoot项目

进入地址:https://start.spring.io/ ,点击生成代码即可。

http://static.cyblogs.com/QQ20190612-155510@2x.jpg

2、注解:@SpringBootApplication

一个Web项目,只需要这一行注解。有这么厉害吗?我们一起看看它究竟做了什么?

1
2
3
4
5
6
7
8
@SpringBootApplication
public class SpringBootDemoApplication {

public static void main(String[] args) {
SpringApplication.run(SpringBootDemoApplication.class, args);
}

}

The @SpringBootApplication annotation is equivalent to using @Configuration, @EnableAutoConfiguration, and @ComponentScan with their default attributes

1
2
3
4
5
6
@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan(excludeFilters = {
@Filter(type = FilterType.CUSTOM, classes = TypeExcludeFilter.class),
@Filter(type = FilterType.CUSTOM, classes = AutoConfigurationExcludeFilter.class) })
public @interface SpringBootApplication {

看代码,明明是@SpringBootConfiguration呢,怎么说是@Configuration呢?

阅读全文 »

1、问:

1.1、开发岗与算法岗的选择

听同学说,开发岗相对于算法岗没有那么看重学历,更看重技术。而学习开发不如不读研,工作三年在公司的学习肯定比读研学习三年要好。算法的话,一般本科生是不会接触的,至少要研究生,这就可以发挥读研的优势,但是竞争也会更激烈,岗位相对较少,要求更高。

我自己对于算法,只看过一些最基础的机器学习视频。对于开发,本科学过JavaC,C++,有一定的编程能力。但是因为没有做过项目,没有过实习经验,对于一些业务,框架,设计模式,优化等几乎没有概念,也不知道在公司工作具体是要做些什么,对开发人员的要求是什么。

因为对这两者,都没有进行过深入的学习,所以也谈不上喜欢和不喜欢。所以也有人问,你喜欢哪个方向就可以尝试着去学,但我就是觉得在对一个东西不了解的情况下,谈不上好恶。

1.2、前端后台的学习方法

因为一直以来受到的教育就是从0一步步学起,包括高考和考研,那是一种教科书式的学习。一直以来我也是用的这一套学习方法来学习开发,发现四处碰壁。比如我在完全不会前端的情况下,就从最基础的HTMLCSS学起,发现这些知识很简单,但是又特别多,特别杂乱,没办法坚持学下去。学完以后还要学JSES6语法,然后学习React框架这些。这样一步步学起了,已经不可能有那么多时间弄别的了,而且学习效率也是极低。

后来要同学告诉我要转变这些学习方法,要根据需求来学习,需要什么就学什么,要我好好利用Github,各大博客,好好学习别人的代码,和源码,然后自己尝试做一些项目,边做边学习,边总结。但是在这过程中也是困难重重,比如Github上看别人代码也看不太懂,自己做项目,也不知道拍脑袋做个什么项目出来,脑子是空白的。

之所以说前端,是因为好像看到很多做开发的同学,他们都是前端后台通吃,他们说都需要了解,竞争力会强一点,做全栈。如果倾向于做后台的话,前端大概要学习到什么程度。

我们实验室听说还有人去了华为的数据库组,完全不知道专门的数据库组是做什么的。

阅读全文 »
0%