一 kubectl介绍

1.1 kubectl概要

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

二 kubectl安装

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

 [root@k8s01 ~]# vi /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
[root@k8s01 ~]# yum -y install kubectl
 
提示:
可替换为国内阿里云源:
 [root@k8s01 ~]# vi /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=1
repo_gpgcheck=1
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 正式安装——方式二

 [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
[root@k8s01 ~]# chmod +x ./kubectl
[root@k8s01 ~]# sudo mv ./kubectl /usr/local/bin/kubectl
 
附:Ubuntu安装方式:
 root@k8s01:~# apt-get install -y apt-transport-https
root@k8s01:~# curl -s https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | sudo apt-key add -
root@k8s01:~# echo "deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main" | sudo tee -a /etc/apt/sources.list.d/kubernetes.list
root@k8s01:~# apt-get update
root@k8s01:~# apt-get install -y kubectl
 

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

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

2.3 添加Kubetcl命令自动补全

 root@k8s01:~# yum -y install bash-completion
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 常见用法

 [root@k8s ~]# kubectl cluster-info		#获取群集状态
[root@k8s ~]# kubectl get nodes #查看node节点信息
[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服务器的地址和端口。
注意:从命令行指定的标志会覆盖默认值和任何相应的环境变量。
 
 flags:
--allow-verification-with-non-compliant-keys #允许签名验证者使用在技术上不符合RFC6962的密钥
--alsologtostderr #记录标准错误以及文件
--as string #模拟操作的用户名
--as-group stringArray #组要​​模拟操作,可以重复此标志来指定多个组。
--azure-container-registry-config string #包含Azure容器注册表配置信息的文件的路径。
--cache-dir string #默认HTTP缓存目录,默认为: "/Users/zarnold/.kube/http-cache"
--certificate-authority string #证书颁发机构的证书文件的路径
--client-certificate string #TLS的客户端证书文件的路径
--client-key string #TLS的客户端密钥文件的路径
--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
--cluster string #要使用的kubeconfig中的群集名称
--context string #要使用的kubeconfig上下文的名称
-default-not-ready-toleration-seconds int #表示notReady的容忍度的绝对值:NoExecute默认情况下添加到尚未具有此类容差的每个容器中,默认为: 300。
--default-unreachable-toleration-seconds int #表示容忍无法访问的容忍度:默认情况下,NoExecute添加到尚未具有此容忍度的每个容器中,默认为: 300
-h, -help #kubectl帮助
--insecure-skip-tls-verify #如果为true,则不会检查服务器的证书的有效性,这将使您的HTTPS连接不安全
--kubeconfig string #用于CLI请求的kubeconfig文件的路径。
--log-backtrace-at traceLocation #当记录命中行文件时:N,发出堆栈跟踪,默认值:: 0
--log-dir string #如果非空,则在此目录中写入日志文件
--log-flush-frequency duration #日志刷新之间的最大秒数,默认为: 5s
--logtostderr Default: true #记录标准错误而不是文件
--match-server-version #要求服务器版本与客户端版本匹配
-n, --namespace string #如果存在,则为此CLI请求的命名空间范围
--request-timeout string #放弃单个服务器请求之前等待的时间长度。非零值应包含相应的时间单位(例如1s,2m,3h)。值为零表示不超时请求,默认为: "0"。
-s, --server string #Kubernetes API服务器的地址和端口
--stderrthreshold severity #等于或高于此阈值的日志转到stderr,默认为: 2
--token string #用于对API服务器进行身份验证的承载令牌
--user string #要使用的kubeconfig用户的名称
-v, --v Level #V日志的日志级别
--version version[=true] #打印版本信息并退出
--vmodule moduleSpec #逗号分隔的模式列表=文件筛选日志记录的N设置

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

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

附001.kubectl介绍及使用的更多相关文章

  1. 附002.Minikube介绍及使用

    一 Minikube介绍 1.1 概述 Minikube是一种可以在本地轻松运行Kubernetes的工具.Minikube在笔记本电脑的VM中运行单节点Kubernetes集群,供希望尝试Kuber ...

  2. QT点击"X"按钮,调用closeEvent()函数来实现调用特定事件(附:粗略介绍QT的信号与槽的使用方法)

    背景: QT在用户关闭窗口(直接点击"X"键)时,程序一般都需要做一些善后的事情,就我现在的程序来说,既关闭USB.如何实现? 正文: 首先,在对应窗体的".h" ...

  3. 001.VNC介绍

    一 VNC介绍 VNC 服务是一个自由开源软件,采用RFB通信协议.RFB ("remote 帧缓存 ") 是一个远程图形用户的简单协议,因为它工作在帧缓存级别上,所以它可以应用于 ...

  4. 001.KVM介绍

    KVM介绍可参考: http://liqingbiao.blog.51cto.com/3044896/1740516 http://koumm.blog.51cto.com/703525/128879 ...

  5. 001——Typescript 介绍 、Typescript 安 装、Typescript 开发工具

    一. Typescript 介绍 1. TypeScript 是由微软开发的一款开源的编程语言. 4. TypeScript 是 Javascript 的超级,遵循最新的 ES6.Es5 规范.Typ ...

  6. 附001.Python多版本环境管理

    一 环境背景 由于Python的版本过多,且不同版本之间差异性较大.同时又因系统底层需要调用当前版本Python,所以不能随意变更当前系统Python版本.因此,在多版本共存的情况下,Python多环 ...

  7. 001 UI介绍

    UI全称:User Interface,即用户界面 UI的职责:负责人机之间的交互,它需要将关键信息,操作逻辑等展示给用户 UI在游戏中承担的职责: 1.游戏美术风格的重要组成部分 2.承担着重要的美 ...

  8. 附001.Docker阿里云Registry加速器配置

    一 安装配置docker 1.1 安装docker 见<002.docker版本及安装>. 1.2 配置国内阿里云加速器 见<002.docker版本及安装>. 二 配置阿里云 ...

  9. 附001.etcd配置文件详解

    一 示例yml配置文件 # This is the configuration file for the etcd server.   # Human-readable name for this m ...

随机推荐

  1. Confluence 6 导入一个 Confluence 站点

    有下面 2 种类方法可以导入一个站点 - 通过上传一个文件或者从你 Confluence 服务器上读取一个目录.上传文件仅仅是针对一个小站点的情况.为了取得最好的导入结果,我们推荐你从服务器上的目录上 ...

  2. sublime c++

    install: sudo add-apt-repository ppa:webupd8team/sublime-text-3   sudo apt-get update sudo apt-get i ...

  3. android组件之TabHost

    一 介绍 1.1 TAB的容器.这个对象包含两个子元素: TabWidget:管理标签(tabs),用户点击来选择一个特定的标签,是它告诉TabHost去切换界面的 FrameLayout:对象显示该 ...

  4. 进入页面,根据后台传过来的flag 判断列表隐藏与否

    需求描述:页面中有两个列表,一个已添加,一个可以添加,进入页面的时候,如果已添加中有数据则显示,没有数据就隐藏,emmmm,这种需求,我该怎么吐槽嗷嗷嗷 解决思路:让已添加的列表的div默认隐藏,前台 ...

  5. SpringMvc框架MockMvc单元测试注解及其原理分析

    来源:https://www.yoodb.com/ 首先简单介绍一下Spring,它是一个轻量级开源框架,简单的来说,Spring是一个分层的JavaSE/EEfull-stack(一站式) 轻量级开 ...

  6. Java 输入一组数字,用穷举的方法列出

    import java.util.Scanner; public class TestScanner { public static void main(String[] args) { Scanne ...

  7. 【C++ Primer | 07】常用算法

    第一部分 常用泛型算法: find(beg, end, val); equal(beg1, end1, beg2); fill(beg, end, val); fill_n(beg, cnt, val ...

  8. android开发默认图标怎么换?

    首先要在资源文件放入想换的图标图片拖到drawable-XX文件夹下, 然后打开AndroidManifest.xml这个配置清单文件找 到application标签里的这句android:icon= ...

  9. kafka.common.KafkaException: Failed to acquire lock on file .lock in /tmp/kafka-logs. A Kafka instance in another process or thread is using this directory.

    1.刚才未启动zookeeper集群的时候,直接启动kafka脚本程序,kafka报错了,但是进程号启动起来来,再次启动出现如下所示的问题,这里先将进程号杀死,再启动脚本程序. [hadoop@sla ...

  10. Visual Studio 2015 插件开发入门

    (1)安装 Visual Studio 2015 的时候选择 Visual Studio 扩展性工具(Visual Studio Extensibility Tools).对于已经安装好 Visual ...