本文是《CentOS7环境安装Kubernetes四部曲》系列的终篇,经历了前三篇文章的实战,我们用rancher搭建了具备master和node的完整K8S环境,但是目前还不能通过kubectl工具在K8S环境做更多的操作,本章我们来实战安装和配置kubectl工具;
原文地址:http://blog.csdn.net/boling_cavalry/article/details/79624655
前三篇文章链接
- 《CentOS7环境安装Kubernetes四部曲之一:标准化机器准备》;
- 《CentOS7环境安装Kubernetes四部曲之二:配置模板和安装master》;
- 《CentOS7环境安装Kubernetes四部曲之三:添加节点》;
kubectl工具安装在哪里?
kubectl是个客户端工具,可以安装在任意一台Linux、windows或者Mac电脑上,只要这个电脑能够连接master节点,本次实战我们将kubectl安装在一台全新的CentOS7机器上;
下载kubectl工具
有三种下载方式,您可以选择其中任意一种:
- 在linux机器上执行以下命令下载:
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.在我的GitHub下载,地址是:https://github.com/zq2599/blog_demos/blob/master/k8s_tools/kubectl/linux/kubectl.zip,在这个页面点击"download"按钮即可下载,下载后记得解压; 3. 在csdn下载,地址:https://download.csdn.net/download/boling_cavalry/10297309
设置工具
- kubectl文件下载到linux机器后,执行命令chmod x ./kubectl,给文件可执行权限;
- 执行以下命令,将kubectl移动到可以全局访问的目录下:
mv ./kubectl /usr/local/bin/kubectl
- 在linux机器的任意目录都能执行kubectl,直接输入kubectl然后回车,可以看到如下信息:
kubectl controls the Kubernetes cluster manager.
Find more information at https://github.com/kubernetes/kubernetes.
Basic Commands (Beginner):
create Create a resource from a file or from stdin.
expose Take a replication controller, service, deployment or pod and expose it as a new Kubernetes Service
run Run a particular image on the cluster
set Set specific features on objects
run-container Run a particular image on the cluster. This command is deprecated, use "run" instead
Basic Commands (Intermediate):
get Display one or many resources
explain Documentation of resources
edit Edit a resource on the server
delete Delete resources by filenames, stdin, resources and names, or by resources and label selector
工具已经准备好,接下来我们把配置做好,使得kubectl可以连接到K8S上执行命令;
配置参数
- 在rancher的管理页面上,点击下图红框1中的"CLI",在出现的页面中点击红框2中的”生成配置“:
- 如下图,点击红框中的”复制到剪切板“,将按钮上方的配置信息复制下来:
- 在linux机器上,在家目录创建.kube文件夹,命令如下:
mkdir ~/.kube
- 在.kube文件夹下新建一个名为config的文件,把刚才复制的配置信息粘贴进来;
至此,kubectl工具的安装配置就完成了,输入命令get service -a -o wide --all-namespaces试试,可以看到当前的服务列表:
代码语言:javascript复制[root@v-test-test ~]# kubectl get service -a -o wide --all-namespaces
NAMESPACE NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE SELECTOR
default kubernetes ClusterIP 10.43.0.1 <none> 443/TCP 20h <none>
default tomcat001 NodePort 10.43.243.24 <none> 8080:30018/TCP 4h name=tomcat001
kube-system heapster ClusterIP 10.43.157.242 <none> 80/TCP 20h k8s-app=heapster
kube-system kube-dns ClusterIP 10.43.0.10 <none> 53/UDP,53/TCP 20h k8s-app=kube-dns
kube-system kubernetes-dashboard ClusterIP 10.43.199.86 <none> 80/TCP 20h k8s-app=kubernetes-dashboard
kube-system monitoring-grafana ClusterIP 10.43.112.198 <none> 80/TCP 20h k8s-app=grafana
kube-system monitoring-influxdb ClusterIP 10.43.200.65 <none> 8086/TCP 20h k8s-app=influxdb
kube-system tiller-deploy ClusterIP 10.43.28.153 <none> 44134/TCP 20h app=helm,name=tiller
至此,《CentOS7环境安装Kubernetes四部曲》就全部结束了,希望能够帮助您快速搭建环境,然后一起开始愉快的K8S之旅;