minikube 部署的 k8s 集群准备 kubeconfig 文件

优快云 中文章不一定能及时更新,欢迎点击前往我的博客查看最新版本:许盛的博客

题外话

最近大出血,换了 m1pro,黑苹果就暂时没啥用了,本来准备装个 ubuntu 用来部署 kubesphere 玩玩的,不过在尝试了 ubuntu 官方的 multipass 虚拟机管理工具后,体验实在太好了。

同时又逛了逛 k8s 官网,比早两年要好太多了,正好就用虚拟机再过一遍 k8s 官方文档好了。

本文写的内容其实属于很简单的基础内容,其实是没必要写的,但是为了避免时间长了自己忘掉,还是记一记好了。

准备 kubeconfig 文件

k8s 官方文档上的一些操作是使用 minikube 部署的集群,入乡随俗,我也在虚拟机里用 minikube 部署了一个集群。

但是虚拟机里面没有装 zsh 等一些提升使用体验的插件,也不太想在虚拟机里折腾,这时候就需要在虚拟机外部操作内部的集群了。

找到虚拟机内部的 ~/.kube/config 文件,可以看到内容如下:

apiVersion: v1
clusters:
- cluster:
    certificate-authority: /home/ubuntu/.minikube/ca.crt
    extensions:
    - extension:
        last-update: Thu, 16 Dec 2021 20:23:25 CST
        provider: minikube.sigs.k8s.io
        version: v1.24.0
      name: cluster_info
    server: https://192.168.64.2:8443
  name: minikube
contexts:
- context:
    cluster: minikube
    extensions:
    - extension:
        last-update: Thu, 16 Dec 2021 20:23:25 CST
        provider: minikube.sigs.k8s.io
        version: v1.24.0
      name: context_info
    namespace: default
    user: minikube
  name: minikube
current-context: minikube
kind: Config
preferences: {}
users:
- name: minikube
  user:
    client-certificate: /home/ubuntu/.minikube/profiles/minikube/client.crt
    client-key: /home/ubuntu/.minikube/profiles/minikube/client.key

如果直接将这个文件复制到外部是无法使用的,可以看到文件中部分证书文件路径,在其他机器上是没有的。

准备证书数据

kubeconfg 文件除了使用证书文件的路径外,其实也可以将证书内容经过 base64 编码后直接写入文件。

首先将文件中的 certificate-authority: /home/ubuntu/.minikube/ca.crt 改为 insecure-skip-tls-verify: true

client-certificate 改为 client-certificate-data

client-key 改为 client-key-data

然后使用命令读取证书内容并输出 base64 字符串,再替换 kubeconfig 文件中内容即可:

# 对应 client-certificate-data 的值
cat ~/.minikube/profiles/minikube/client.crt | base64 -w 0

# 对应 client-key-data 的值
cat ~/.minikube/profiles/minikube/client.key | base64 -w 0

kubeconfig 文件内容准备好后,在希望使用 kubectl 命令的机器上,创建 ~/.kube/config 文件,并将上面准备的内容写入即可。

Minikube是一个用于本地运行Kubernetes的工具,它可以在虚拟机、Docker容器或裸金属上创建一个单节点集群,非常适合学习和测试Kubernetes。 ### Minikube安装步骤 #### 一、系统要求 确保您的计算机满足以下条件: - 支持并启用硬件虚拟化(如Intel VT-V) - 至少2GB内存(建议4GB以上),以保证顺畅体验。 - 网络连接正常,以便下载必要的镜像文件等资源。 #### 二、安装前准备 根据操作系统选择相应的前置工作: **对于Linux用户** 1. 安装VirtualBox或其他支持的Hypervisor(比如KVM); 2. 如果您计划使用HyperKit作为驱动程序,则需要先通过Homebrew安装hyperkit; **对于Windows用户** 1. 同样地考虑安装hyperv或者virtualbox; 2. 对于WSL2环境下的玩家来说还需要额外配置wsl2 backend; **MacOS** 推荐直接用HyperKit,因为它不需要图形界面且性能较好。 #### 三、开始安装minikube ##### 步骤1 - 下载Minikube命令行工具 ```bash curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 # Linux下执行此句 sudo install minikube-linux-amd64 /usr/local/bin/minikube ``` 对其他平台有类似的操作,请访问[官方文档](https://minikube.sigs.k8s.io/docs/start/)查看详细说明。 ##### 步骤2 - 设置合适的driver(仅当不是默认选项时) 例如,在macOS上如果想要使用docker而不是hyperkit可以这样做: `minikube config set driver docker` ##### 步骤3 - 启动minikube cluster 只需简单输入 `minikube start` 即可在几分钟内启动好包含kubelet,kubectl在内的完整功能的小型k8s环境了! 完成后你可以验证是否成功部署: ```shell $ kubectl get po -A NAMESPACE NAME READY STATUS RESTARTS AGE kube-system coredns-f9fd979d6-gqj5n 1/1 Running 0 2m48s ... ``` 这表明已经有一个名为coredns的服务正在运行,并处于“Running”状态。 --- 恭喜你完成了一个简易版本的kubernetes搭建!接下来就可以尽情探索这个强大而有趣的分布式计算框架啦~
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值