主要记录最近遇到的一些开发问题,解决方法。
1. 打开 OS X 原生 NTFS 支持
- 插上磁盘,查看盘符
1
2
3
4
5
6
| diskutil list
diskutil list
/dev/disk2 (external, physical):
#: TYPE NAME SIZE IDENTIFIER
0: FDisk_partition_scheme *96.9 GB disk2
1: Windows_NTFS SSD 96.8 GB disk2s1
|
这里的 SSD 就是 Volume Name。
- 更新 /etc/fstab文件
输入密码,然后输入 LABEL=SSD none ntfs rw,auto,nobrowse
,其中 SSD 为 Volume Name。
按 Ctrl + X,接着按 Y 保存。
- 创建访问链接
1
| sudo ln -s /Volumes/SSD ~/Desktop/SSD
|
SSD 为 Volume Name ,需要更具具体情况替换。
2. Docker 内部访问宿主机服务
在 Docker 中,直接使用 localhost 访问宿主机服务,报错网络不通,需要借助 docker0 。
- 在 Linux 中,查看宿主机 docker0 的 IP 地址,执行命令:
1
| docker.for.mac.host.internal
|
3. Kubectl 配置多个集群
在进行 Kubernetes 相关开发时,通常会涉及多个集群的管理。Kubectl 提供了多集群上下文管理的功能。
通常 Kubectl 的配置信息在 $HOME/.kube/config
或 /etc/kubernetes/admin.conf
。登陆机器,查看集群的配置信息,按照下面的格式进行编辑。
kubeconfig 配置格式
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
| apiVersion: v1
kind: Config
preferences: {}
clusters:
- cluster:
certificate-authority-data: xxx
server: xxx
name: {cluster-name1}
- cluster:
certificate-authority-data: xxx
server: xxx
name: {cluster-name2}
users:
- name: {user-name1}
user: xxx
- name: {user-name2}
user: xxx
contexts:
- context:
cluster: {cluster-name1}
user: {user-name1}
name: {context-name1}
- context:
cluster: {cluster-name2}
user: {user-name2}
name: {context-name2}
current-context: {context-name1}
|
查看集群
1
| kubectl config get-contexts
|
查看 config 信息
切换集群
1
| kubectl config use-context {context-name}
|
4. helm 提示 cannot get resource “namespaces”
使用 helm 安装应用:
1
2
| helm install --name prometheus-operator --namespace=monitoring stable/prometheus-operator
Error: namespaces "monitoring" is forbidden: User "system:serviceaccount:kube-system:default" cannot get resource "namespaces" in API group "" in the namespace "monitoring"
|
解决办法,添加服务账号:
1
2
3
| kubectl create serviceaccount --namespace kube-system tiller
kubectl create clusterrolebinding tiller-cluster-rule --clusterrole=cluster-admin --serviceaccount=kube-system:tiller
kubectl patch deploy --namespace kube-system tiller-deploy -p '{"spec":{"template":{"spec":{"serviceAccount":"tiller"}}}}'
|