myblog
myblog copied to clipboard
问题记录(持续更新)
VS Code安装Remote - SSH
前提准备
- 保证你本地的*~/.ssh的目录权限是的用户都是本地的,比如你的mac用户是work,但是.ssh的权限是root,那就要通过sudo chown -R work .ssh*,就会变为下面这样了:
ll ~/.ssh
total 80
-rw-r--r-- 1 helios staff 177B 10 20 14:06 config
-rw------- 1 helios staff 1.6K 7 4 2018 id_rsa
-rw------- 1 helios staff 3.2K 10 20 13:54 id_rsa-remote-ssh
-rw-r--r-- 1 helios staff 758B 10 20 13:54 id_rsa-remote-ssh.pub
-rw-r--r-- 1 helios staff 407B 7 4 2018 id_rsa.pub
-rw------- 1 helios staff 17K 10 17 16:37 known_hosts
有VS code
步骤
-
安装插件
-
通过fn + f1或者command + shift + p打开输入命令,然后输入:
-
输入连哪个机器
-
选择配置文件(这里要注意,这个配置文件是指的在你的ssh文件下面生成config文件,不是让你指定key之类的配置文件。)
-
就可以用了
同步/异步和阻塞/非阻塞的区别
前者是针对I/O的,后者是针对线程的。
同步/异步
- 同步:I/O返回前,一直等待
- 异步:不必等到I/O返回
阻塞/非阻塞
- 阻塞:调用函数的时候线程被挂起
- 非阻塞:调用函数的时候线程不会被挂起,立即返回
进程的同步和通信
通信
- 共享内存
- 消息队列
- 信号量
同步和互斥
因为有了进程通信,才会有进程同步问题。 存在竞争条件。
为了保证的数据一致性,同步机制保证了多个进程对资源的互斥访问。 进程分为两种:协作进程和独立进程
对于协作进程会有进程间资源访问冲突的问题:
- 间接制约:共享变量的修改冲突,有些资源要互斥使用
- 直接制约(进行协作):操作的顺序冲突,一个进程要等另一个进程发来消息才能进行下一步
在pod中查看是否有访问apiserver的权限
CA_CERT=/var/run/secrets/kubernetes.io/serviceaccount/ca.crt
TOKEN=$(cat /var/run/secrets/kubernetes.io/serviceaccount/token)
NAMESPACE=$(cat /var/run/secrets/kubernetes.io/serviceaccount/namespace)
curl --cacert $CA_CERT -H "Authorization: Bearer $TOKEN" "https://kubernetes.default.svc/api/v1/namespaces/$NAMESPACE/pods/"
使用etcdctl
ETCDCTL_API=3 ./tools/etcdctl \
-w table --cacert=/mnt/disk0/data/k8s/etc/kubernetes/ssl/ca.pem \
--cert=/mnt/disk0/data/etcd/etc/kubernetes/ssl/kubernetes.pem \
--key=/mnt/disk0/data/etcd/etc/kubernetes/ssl/kubernetes-key.pem \
--endpoints=https://172.27.137.237:2379,https://172.27.137.238:2379,https://172.27.137.239:2379 endpoint status
- --cacert: 是集群的CA
- --cert: 对应etcd.service的--cert-file
- --key:对应etcd.service的--key-file