Bootstrap

kubectl集群管理的命令

kubectl集群管理的命令

	1.信息查询命令
		语法格式:kubectl [command] [type] [name] [flags]
			   kubectl     get       nodes master  ...
			command:子命令,如create,get,describe,delete
			type:资源类型,可分为单,复数
			name:资源名称(主机名)
			flags:指定可选的参数标记
		
		(1)help:查看子命令的帮助信息
			kubectl get --help
		
		(2)cluster-info:显示集群的相关配置信息
			kubectl cluster-info
	
		(3)api-resources:查看资源类型
		
		(4)api-versions:查看资源对象支持的版本
	
		(5)config:管理当前节点上的认证信息
			kubectl config get-contexts  //查看当前认证使用的用户及证书
			kubectl config view  //使用view查看详细配置
	
	2.k8s中资源管理命令

		(1)run:创建Pod资源对象	
			kubectl [选项/参数] run pod名称 --images 镜像:标签
					[选项/参数]:-n work,指定名称空间

		(2)create:创建资源对象,除了pod
			kubectl create 资源名称 [选项/参数]
			kubectl create namespace work

		(3)namespaces:名称空间(分区),k8s为了管理服务方便,设置的分区

			1)kubectl create namespace+名称空间名字   //创建名称空间

			2)kubectl get namespaces :查看名称空间
				default:默认,不申明命名空间的pod都在这里
				kube-node-lease:高可用提供心跳监视的命名空间
				kube-public:公共数据
				kube-system:系统服务使用的名称空间

			3)kubectl -n kube-system get pods:查看名称空间中的Pod信息

		排错三剑客:
		(4)get:查看资源对象的状态信息(盒子外表)
			kubectl  get 资源类型(pod,namespaces,development..) 资源名称(资源类型内部的一个) [选项/参数]
				选项/参数: [-o name]:只显示名字,[-o wide]:显示详细信息,[-o yaml]:yaml格式显示
			kubectl get pods  myweb 

		(5)describe:查询资源对象的属性信息(盒子的属性信息,可查看资源里面有哪些容器)
	 		kubectl [选项/参数] describe 资源类型 资源名 
				[选项/参数]:-n work,指定名称空间
			kubectl -n work describe pod myweb

		(6)logs:查看容器的日志信息(盒子里面容器的信息)
			kubectl [选项/参数] logs pod资源名称 
				[选项/参数]:-n work,指定名称空间
			kubectl -n work logs myweb

		(7)exec:在某一个容器内执行特定的命令	
			kubectl [选项/参数] exec pod名称  -- 操作命令
				参数: -it分配交互终端
				--: 选项终止符号,后面的东西都是参数,与命令选项无关
			kubectl exec -it myweb -- bash

		(8)cp:在容器和宿主机之间拷贝文件或目录(容器里面的路径使用绝对路径)
			kubectl [选项/参数] cp  原文件路径 目标文件路径
			kubectl cp myweb:/etc/yum.repos.d  /root/aaa
			注意:这个cp命令的本质是打的tar包

		(9)delete:删除资源对象
			kubectl [选项/参数] delete 资源类型 资源名称
			1)删除一个pod
				kubectl -n work delete pod myphp
			2)删除名称空间下的所有pod
				kubectl -n work delete pod --all
			3)删除名称空间
				kubectl delete namespaces work

	3.metrics资源指标插件安装:获取node和pod的cpu和内存资源使用情况
		(10)kubectl top nodes:所有节点占用资源情况
			
		(11)kubectl top pods:查看所有pod所占的资源情况

		(12)kubectl top pods myweb:查看某个pod所占的资源情况

		1.配置授权证书
			(1)配置文件追加/var/lib/kubelet/config.yaml	
				serverTLSBootstrap: true
			(2)kubectl get csr :列出所有待批准的CSRs
			(3)kubectl certificate approve +对应节点的csr名字 //签发csr证书

		2.安装插件metrics
			(1)上传镜像到私有仓库
				cd plugins/metrics
				docker load -i metrics-server.tar.xz
				docker images|while read i t _;do
				    [[ "${t}" == "TAG" ]] && continue
				    [[ "${i}" =~ ^"harbor:443/".+ ]] && continue
				    docker tag ${i}:${t} harbor:443/plugins/${i##*/}:${t}
				    docker push harbor:443/plugins/${i##*/}:${t}
				    docker rmi ${i}:${t} harbor:443/plugins/${i##*/}:${t}
				done
			(2)使用资源对象文件创建服务
				sed -ri 's,^(\s*image: )(.*/)?(.+),\1harbor:443/plugins/\3,' components.yaml
				kubectl apply -f components.yaml

			(3)验证插件Pod状态
				kubectl -n kube-system get pods

		3.证书签发监控其它node节点的cpu,内存
			(1)在所有计算节点配置证书 
				echo 'serverTLSBootstrap: true' >>/var/lib/kubelet/config.yaml
				systemctl restart kubelet

			(2)在master签发证书
				kubectl certificate approve +对应节点的csr名字

			(3)kubectl get csr

kubectl集群管理的命令

    1.信息查询命令
        语法格式:kubectl [command] [type] [name] [flags]
               kubectl     get       nodes master  ...
            command:子命令,如create,get,describe,delete
            type:资源类型,可分为单,复数
            name:资源名称(主机名)
            flags:指定可选的参数标记
        
        (1)help:查看子命令的帮助信息
            kubectl get --help
        
        (2)cluster-info:显示集群的相关配置信息
            kubectl cluster-info
    
        (3)api-resources:查看资源类型
        
        (4)api-versions:查看资源对象支持的版本
    
        (5)config:管理当前节点上的认证信息
            kubectl config get-contexts  //查看当前认证使用的用户及证书
            kubectl config view  //使用view查看详细配置
    
    2.k8s中资源管理命令

        (1)run:创建Pod资源对象    
            kubectl [选项/参数] run pod名称 --images 镜像:标签
                    [选项/参数]:-n work,指定名称空间

        (2)create:创建资源对象,除了pod
            kubectl create 资源名称 [选项/参数]
            kubectl create namespace work

        (3)namespaces:名称空间(分区),k8s为了管理服务方便,设置的分区

            1)kubectl create namespace+名称空间名字   //创建名称空间

            2)kubectl get namespaces :查看名称空间
                default:默认,不申明命名空间的pod都在这里
                kube-node-lease:高可用提供心跳监视的命名空间
                kube-public:公共数据
                kube-system:系统服务使用的名称空间

            3)kubectl -n kube-system get pods:查看名称空间中的Pod信息

        排错三剑客:
        (4)get:查看资源对象的状态信息(盒子外表)
            kubectl  get 资源类型(pod,namespaces,development..) 资源名称(资源类型内部的一个) [选项/参数]
                选项/参数: [-o name]:只显示名字,[-o wide]:显示详细信息,[-o yaml]:yaml格式显示
            kubectl get pods  myweb 

        (5)describe:查询资源对象的属性信息(盒子的属性信息,可查看资源里面有哪些容器)
             kubectl [选项/参数] describe 资源类型 资源名 
                [选项/参数]:-n work,指定名称空间
            kubectl -n work describe pod myweb

        (6)logs:查看容器的日志信息(盒子里面容器的信息)
            kubectl [选项/参数] logs pod资源名称 
                [选项/参数]:-n work,指定名称空间
            kubectl -n work logs myweb

        (7)exec:在某一个容器内执行特定的命令    
            kubectl [选项/参数] exec pod名称  -- 操作命令
                参数: -it分配交互终端
                --: 选项终止符号,后面的东西都是参数,与命令选项无关
            kubectl exec -it myweb -- bash

        (8)cp:在容器和宿主机之间拷贝文件或目录(容器里面的路径使用绝对路径)
            kubectl [选项/参数] cp  原文件路径 目标文件路径
            kubectl cp myweb:/etc/yum.repos.d  /root/aaa
            注意:这个cp命令的本质是打的tar包

        (9)delete:删除资源对象
            kubectl [选项/参数] delete 资源类型 资源名称
            1)删除一个pod
                kubectl -n work delete pod myphp
            2)删除名称空间下的所有pod
                kubectl -n work delete pod --all
            3)删除名称空间
                kubectl delete namespaces work

    3.metrics资源指标插件安装:获取node和pod的cpu和内存资源使用情况
        (10)kubectl top nodes:所有节点占用资源情况
            
        (11)kubectl top pods:查看所有pod所占的资源情况

        (12)kubectl top pods myweb:查看某个pod所占的资源情况

        1.配置授权证书
            (1)配置文件追加/var/lib/kubelet/config.yaml    
                serverTLSBootstrap: true
            (2)kubectl get csr :列出所有待批准的CSRs
            (3)kubectl certificate approve +对应节点的csr名字 //签发csr证书

        2.安装插件metrics
            (1)上传镜像到私有仓库
                cd plugins/metrics
                docker load -i metrics-server.tar.xz
                docker images|while read i t _;do
                    [[ "${t}" == "TAG" ]] && continue
                    [[ "${i}" =~ ^"harbor:443/".+ ]] && continue
                    docker tag ${i}:${t} harbor:443/plugins/${i##*/}:${t}
                    docker push harbor:443/plugins/${i##*/}:${t}
                    docker rmi ${i}:${t} harbor:443/plugins/${i##*/}:${t}
                done
            (2)使用资源对象文件创建服务
                sed -ri 's,^(\s*image: )(.*/)?(.+),\1harbor:443/plugins/\3,' components.yaml
                kubectl apply -f components.yaml

            (3)验证插件Pod状态
                kubectl -n kube-system get pods

        3.证书签发监控其它node节点的cpu,内存
            (1)在所有计算节点配置证书 
                echo 'serverTLSBootstrap: true' >>/var/lib/kubelet/config.yaml
                systemctl restart kubelet

            (2)在master签发证书
                kubectl certificate approve +对应节点的csr名字

            (3)kubectl get csr

;