本文主要演示如何在UCloud云主机上安装配置kubectl并管理Kubernetes集群,集群Master节点已默认安装kubectl工具,如果你仅需在Master节点做一些简单测试,请跳过此环节。
云主机环境
操作系统:linux,windows请移步官方文档。
所属VPC:与集群同VPC
开通外网:是
一、安装kubectl
1.下载安装包,我们下载V1.11.2的kubectl安装包,其他版本请前往官网下载。
curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.11.2/bin/linux/amd64/kubectl
如果您要下载最新版本的安装包,使用如下命令即可: 仅需将v1.11.2替换为$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)即可。
curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/ kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl
2.添加执行权限
chmod +x ./kubectl
3.移至工作路径
sudo mv ./kubectl /usr/local/bin/kubectl
4.输入kubectl version,发现已经安装成功。
#kubectl version Client Version: version.Info{Major:"1", Minor:"11", GitVersion:"v1.11.0", GitCommit:"91e7b4fd31fcd3d5f436da26c980becec37ceefe", GitTreeState:"clean", BuildDate:"2018-06-27T20:17:28Z", GoVersion:"go1.10.2", Compiler:"gc", Platform:"linux/amd64"}
备注:如果您需要在ubuntu或其他linux发行版安装kubectl,亦或使用yum安装,可以参见官方文档。
二、获取并配置集群凭证
你可以通过UK8S Console、SCP、API三种途径获取您创建的集群凭证。
备注:集群内访问无需凭证,可直接访问。
1、通过Console获取集群凭证
点击进入到<集群详情页>,点击“集群凭证”
将集群信息复制保存到~/.kube/config文件下即可
2、通过SCP从Master节点下载集群凭证到本地
首先点击进入集群详情页面,获取任意一台Master节点的IP,然后在本地机器执行以下命令:
scp root@YOURMASTERIP:~/.kube/config ~/.kube/config
3、通过API获取集群凭证
下载UCloud SDK,新建一个名为GetClusterConfig.py的文件(如下示例),更改Region及ClusterId的参数值,即可获取到集群凭证;
#!/usr/bin/env python # -*- coding: utf-8 -*- from sdk import UcloudApiClient from config import * import sys import json #实例化 API 句柄 if __name__=='__main__': arg_length = len(sys.argv) ApiClient = UcloudApiClient(base_url, public_key, private_key) Parameters={"Action":"GetClusterConfig", "Region":"YOURREGION", "ClusterId":"YOURCLUSTERID" } response = ApiClient.get("/", Parameters ); print json.dumps(response, sort_keys=True, indent=4, separators=(',', ': '))
运行上述脚本后即可获取到集群凭证,再在云主机上执行以下命令,即可配置好集群凭证信息。
# mkdir ~/.kube/ && touch ~/.kube/config # echo "YOUR Cluster CONFIG" > ~/.kube/config
三、访问集群
你可以执行以下命令来验证kubectl是否可以成功访问集群信息;
# kubectl cluster-info
四、设置命令自动补全
kubectl支持命令自动补全,执行以下命令即可开启。
echo "source <(kubectl completion bash)" >> ~/.bashrc