搭建远程 Kubernetes 开发环境

2023年 1月 4日 31.3k 0

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:

1
minikube 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 [email protected]_host_ip:/root/.kube/config ~/.kube/config
mkdir ~/.minikube
scp -r [email protected]_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. 参考

  • Windows 7 下使用 MiniKube 学习 Kubernetes

相关文章

KubeSphere 部署向量数据库 Milvus 实战指南
探索 Kubernetes 持久化存储之 Longhorn 初窥门径
征服 Docker 镜像访问限制!KubeSphere v3.4.1 成功部署全攻略
那些年在 Terraform 上吃到的糖和踩过的坑
无需 Kubernetes 测试 Kubernetes 网络实现
Kubernetes v1.31 中的移除和主要变更

发布评论