Minikube 是 Kubernetes 的单机发行版本,适用于产品体验和日常开发。这里使用 Minikube 搭建开发环境,将 Kubernetes 搭建在 CentOS 云服务器,本地使用 OS X 进行远程开发。
1. 云服务器安装 Minikube
在 Minikube 的 GitHub 版本页面,找到合适的版本,进行安装。
以 CentOS 为例,执行命令:
1
| curl -Lo minikube https://storage.googleapis.com/minikube/releases/v1.2.0/minikube-linux-amd64 && chmod +x minikube && sudo cp minikube /usr/local/bin/ && rm minikube
|
minikube 是一个可执行的二进制文件,下载之后,添加可执行权限即可。Docker 安装,请参考这里。
2. 云服务器运行 Minikube
通过参数 --vm-driver
,指定 minikube 使用 CentOS 上已经安装的 Docker 环境。执行命令,启动 Minikube:
1
| minikube start --vm-driver=none
|
启动 Dashboard:
如果无法启动,可以尝试执行 kubectl proxy --address='0.0.0.0' --disable-filter=true
,在页面访问 http://127.0.0.1:8001/api/v1/namespaces/kube-system/services/http:kubernetes-dashboard:/proxy/
。
尝试部署一个应用:
1
| kubectl run kube-nginx --image=nginx:latest --port=80
|
查看 POD 信息:
1
2
3
| kubectl get pods
NAME READY STATUS RESTARTS AGE
kube-nginx-7c765ffd95-v6gc9 1/1 Running 1 2m
|
3. 本地安装 kubectl
kubectl 是 Kubernetes 集群的客户端管理工具。kubectl 与 Kubernetes 构成一个 CS 的架构模型,可以在不同的机器上运行。
以 OS X 为例安装 kubectl ,执行命令:
1
| brew install kubernetes-cli
|
4. 本地配置 kubectl
拷贝服务器上的 minikube 认证信息,本地执行:
mkdir ~/.kube
scp -r root@your_host_ip:/root/.kube/config ~/.kube/config
mkdir ~/.minikube
scp -r root@your_host_ip:/root/.minikube/\{ca.crt,client.crt,client.key\} ~/.minikube/
修改 kubectl 配置文件
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
| cat ~/.kube/config
apiVersion: v1
clusters:
- cluster:
# 修改为 ca.crt 的正确路径
# certificate-authority: ../.minikube/ca.crt
# 修改为服务器的 IP 地址
server: https://your_host_ip:8443
# 不校验证书,否则会提示 x509 校验失败
insecure-skip-tls-verify: true
name: minikube
contexts:
- context:
cluster: minikube
user: minikube
name: minikube
current-context: minikube
kind: Config
preferences: {}
users:
- name: minikube
user:
# 修改为 client.crt 的正确路径
client-certificate: ../.minikube/client.crt
# 修改为 client.key 的正确路径
client-key: ../.minikube/client.key
|
查看远程 Kubernetes 集群中的 Pod 信息:
1
2
3
| kubectl get pods
NAME READY STATUS RESTARTS AGE
kube-nginx-7c765ffd95-2pxfk 1/1 Running 0 11m
|
5. 参考