本地使用kubectl操作远程k8s集群

背景

我们这里使用的是阿里云的 kubenetes 托管版本
在使用托管版本 的时候至少是两台机器。我们这里就用了两台机器。阿里默认提供一个apiservice 服务。大家知道我们通过操作 apiservice 来控制集群。本地没有Kubernetes环境 但是需要操作使用kubectl 操作远端 apiservice。

目标

1.本机使用kubectl 控制远端集群
2.本机获取远端的 comfigmap内容

config文件

打开我们开通的阿里云 k8s 集群如下图:

k8s集群.png

打开后如下:
k8s集群.png

复制 KubeConfig(公网访问的内容) tab 页面黑色部分内容.
这里需要记录两个值:

  1. config-file-content 内容就是复制黑色部分的内容
    2.k8sIP 就是 黑色部分中的 server 后面遮挡的那部分ip

mac OS 配置

本地需要安装一个客户端 这里使用brew 安装 如果没有brew 的 自行安装下 这里不赘述。macOS下比较常用这个

brew install kubernetes-cli 

安装完成之后我们需要在 cd ~/.kube/ 文件夹下找到 config文件 如果没有需手动创建一个 并粘贴 config-file-content 的内容
还需要 修改 hosts 文件增加如下内容

# 这里的 127.0.0.1 需要更具自己的k8s集群来更换 k8sIP
127.0.0.1 kubernetes.docker.internal

然后在mac 上就可以远程操作 远端k8s集群

windows 配置

1.下载kubectl.exe 文件

https://storage.googleapis.com/kubernetes-release/release/v1.7.0/bin/windows/amd64/kubectl.exe

2.安装后 打开cmd 查看 是否能使用 kubectl命令。如果不能则需要自己配置一下 环境变量
3.配置config文件
再如下图路径下面 ·/kube 创建 config文件 添加上述config-file-content 的内容

本地配置路径

4 修改host

# 这里的 127.0.0.1 需要更具自己的k8s集群来更换 k8sIP
127.0.0.1 kubernetes.docker.internal

然后就可以愉快的使用kubectl 操作远程k8s 集群了
顺便说一下 在springboot2.X项目中使用了了configmap加入以下依赖


            org.springframework.cloud
            spring-cloud-starter-kubernetes-config
        

然后本地也可以获取 远端的配置。这个在后面这篇有详解
springboot中使用configmap

你可能感兴趣的:(本地使用kubectl操作远程k8s集群)