前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >附001.kubectl介绍及使用

附001.kubectl介绍及使用

作者头像
木二
发布2019-07-26 14:15:45
6990
发布2019-07-26 14:15:45
举报
文章被收录于专栏:木二天空木二天空

一 kubectl介绍

1.1 kubectl概要

kubectl控制Kubernetes集群管理器,使用Kubernetes命令行工具kubectl在Kubernetes上部署和管理应用程序。使用kubectl,您可以检查群集资源; 创建,删除和更新组件; 看看你的新集群; 并提出示例应用程序。

更多kubectl参考https://kubernetes.io/docs/reference/kubectl/overview/。

二 kubectl安装

2.1 正式安装——方式一(推荐)

  1 [root@k8s01 ~]# vi /etc/yum.repos.d/kubernetes.repo
  2 [kubernetes]
  3 name=Kubernetes
  4 baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64
  5 enabled=1
  6 gpgcheck=1
  7 repo_gpgcheck=1
  8 gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
  9 [root@k8s01 ~]# yum -y install kubectl

提示:

可替换为国内阿里云源:

  1 [root@k8s01 ~]# vi /etc/yum.repos.d/kubernetes.repo
  2 [kubernetes]
  3 name=Kubernetes
  4 baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
  5 enabled=1
  6 gpgcheck=1
  7 repo_gpgcheck=1
  8 gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg

若国内无法导入google的源可采用阿里云,也可采用以下方式安装:

root@k8s01:~# sudo snap install kubectl --classic

2.2 正式安装——方式二

  1 [root@k8s01 ~]# 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 [root@k8s01 ~]#  chmod +x ./kubectl
  3 [root@k8s01 ~]# sudo mv ./kubectl /usr/local/bin/kubectl

附:Ubuntu安装方式:

  1 root@k8s01:~# apt-get install -y apt-transport-https
  2 root@k8s01:~# curl -s https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | sudo apt-key add -
  3 root@k8s01:~# echo "deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main" | sudo tee -a /etc/apt/sources.list.d/kubernetes.list
  4 root@k8s01:~# apt-get update
  5 root@k8s01:~# apt-get install -y kubectl

参考文档:https://kubernetes.io/docs/tasks/tools/install-kubectl/

提示:所有源都建议替换为国内阿里云源。

2.3 添加Kubetcl命令自动补全

  1 root@k8s01:~# yum -y install bash-completion
  2 root@k8s01:~# echo "source <(kubectl completion bash)" >> ~/.bashrc

二 配置kubectl

kubectl若对接Kubernetes集群,需要一个kubeconfig文件,该文件在使用kube-up.sh创建集群或成功部署Minikube集群时自动创建。默认情况下,kubectl配置位于~/.kube/config。

提示:有关Minikube创建集群可参考《附002.Minikube介绍及使用》

主配置文件:~/.kube/config

三 kubectl用法简介

3.1 常见用法

  1 [root@k8s ~]# kubectl cluster-info		#获取群集状态
  2 [root@k8s ~]# kubectl get nodes			#查看node节点信息
  3 [root@k8s ~]# kubectl describe node k8s-node-01	#查看某个node的详细信息

3.1 相关选项及参数

语法:

kubectl [command] [TYPE] [NAME] [flags]

  • command:指定要在一个或多个资源上锁进行的操作,如create,get,describe,delete。
  • TYPE:指定资源类型。资源类型不区分大小写,您可以指定单数,复数或缩写形式。例如,以下命令产生相同的输出:
    • $ kubectl get pod pod1
    • $ kubectl get pods pod1$ kubectl get po pod1
  • NAME:指定资源的名称。名称区分大小写。如果省略名称,则显示所有资源的详细信息
    • $ kubectl get pods。

所有资源类型可参考:https://kubernetes.io/docs/reference/kubectl/overview/#resource-types

  • flags:指定可选标志。例如,使用-s或--server标志来指定Kubernetes API服务器的地址和端口。

注意:从命令行指定的标志会覆盖默认值和任何相应的环境变量。

  1 flags:
  2 --allow-verification-with-non-compliant-keys	#允许签名验证者使用在技术上不符合RFC6962的密钥
  3 --alsologtostderr				        #记录标准错误以及文件
  4 --as string					        #模拟操作的用户名
  5 --as-group stringArray			        #组要​​模拟操作,可以重复此标志来指定多个组。
  6 --azure-container-registry-config string	        #包含Azure容器注册表配置信息的文件的路径。
  7 --cache-dir string				        #默认HTTP缓存目录,默认为: "/Users/zarnold/.kube/http-cache"
  8 --certificate-authority string		        #证书颁发机构的证书文件的路径
  9 --client-certificate string			        #TLS的客户端证书文件的路径
 10 --client-key string				        #TLS的客户端密钥文件的路径
 11 --cloud-provider-gce-lb-src-cidrs cidrs	        #在GCE防火墙中打开的允许网段,用于LB流量代理和运行状况检查。默认为:130.211.0.0/22,209.85.152.0/22,209.85.204.0/22,35.191.0.0/16
 12 --cluster string				        #要使用的kubeconfig中的群集名称
 13 --context string				        #要使用的kubeconfig上下文的名称
 14 -default-not-ready-toleration-seconds int           #表示notReady的容忍度的绝对值:NoExecute默认情况下添加到尚未具有此类容差的每个容器中,默认为: 300。
 15 --default-unreachable-toleration-seconds int        #表示容忍无法访问的容忍度:默认情况下,NoExecute添加到尚未具有此容忍度的每个容器中,默认为: 300
 16 -h, -help					        #kubectl帮助
 17 --insecure-skip-tls-verify			        #如果为true,则不会检查服务器的证书的有效性,这将使您的HTTPS连接不安全
 18 --kubeconfig string				        #用于CLI请求的kubeconfig文件的路径。
 19 --log-backtrace-at traceLocation		        #当记录命中行文件时:N,发出堆栈跟踪,默认值:: 0
 20 --log-dir string				        #如果非空,则在此目录中写入日志文件
 21 --log-flush-frequency duration     		        #日志刷新之间的最大秒数,默认为: 5s
 22 --logtostderr     Default: true			#记录标准错误而不是文件
 23 --match-server-version				#要求服务器版本与客户端版本匹配
 24 -n, --namespace string				#如果存在,则为此CLI请求的命名空间范围
 25 --request-timeout string     			#放弃单个服务器请求之前等待的时间长度。非零值应包含相应的时间单位(例如1s,2m,3h)。值为零表示不超时请求,默认为: "0"。
 26 -s, --server string				        #Kubernetes API服务器的地址和端口
 27 --stderrthreshold severity     			#等于或高于此阈值的日志转到stderr,默认为: 2
 28 --token string					#用于对API服务器进行身份验证的承载令牌
 29 --user string					#要使用的kubeconfig用户的名称
 30 -v, --v Level					#V日志的日志级别
 31 --version version[=true]			        #打印版本信息并退出
 32 --vmodule moduleSpec				#逗号分隔的模式列表=文件筛选日志记录的N设置

更多Kubetcl使用参考:https://kubernetes.io/docs/reference/kubectl/kubectl/

https://kubernetes.io/docs/reference/kubectl/overview/

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-01-12 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一 kubectl介绍
    • 1.1 kubectl概要
    • 二 kubectl安装
      • 2.1 正式安装——方式一(推荐)
        • 2.2 正式安装——方式二
          • 2.3 添加Kubetcl命令自动补全
          • 二 配置kubectl
          • 三 kubectl用法简介
            • 3.1 常见用法
              • 3.1 相关选项及参数
              相关产品与服务
              容器服务
              腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档