当前位置:网站首页 > 容器化与Kubernetes > 正文

kubectl 配置文件(kubernetes 配置文件)



视频教程连接

本章是第二篇,要深入学习kubernetes,首先需要有一个k8s环境,然而,受制硬件环境,网络环境等因素,要搭建一个环境有一定的困难,让很多初学者望而却步,本章主要介绍通过kubeadm安装工具部署kubernetes集群,考虑到国内网络限制,已将安装镜像通过跳板机下载到本地,方便大家离线安装。

要学习kubernetes,首先需要有一个kubernetes集群,社区为了满足不同场景下,提供了不同的安装方法以适应各种场景需求,常见方法有:

对于学习环境,Katacoda提供了一个在线的MiniKube环境,只需在控制台启用即可使用,当然也可以将MiniKube下载到本地使用。对于生产环境,推荐使用二进制安装或者Kubeadm,新版kubeadm目前已将kubernetes管理组件以pod的形式部署在集群中,不管用哪种方式,受限于GFW,大部分镜像下载,大家自行补脑和解决,本文以离线的方式安装部署,根据安装版本下载对应的安装镜像倒入系统即可。

Katacoda使用MiniKube提供了一个在线部署kubernetres环境,当然也可以基于MiniKube本地安装,如果是初学者想初探一下kubernetes的功能,可以使用Katacoda提供的线上环境,达到快速入门学习的目的。参考文档,直接在文档中点击Open terminal即可自动创建一个kubernetes环境,其会自动拉取镜像并部署所需环境。

如上图所示,MiniKube的提供的优点如下:

【软件版本】

【环境说明】

三台机器均为腾讯云上购买的CVM(Cloud Virtual Machine),机器配置是2vcpu+4G memory+50G disk

【环境准备】

1、设置主机名,其他两个节点类似设置

2、设置hosts文件,其他两个节点设置相同内容

3、设置SSH无密码登录,并通过ssh-copy-id将公钥拷贝到对端

4、关闭防火墙和SElinux

1、下载docker的yum源

2、设置cgroup driver类型为systemd

3、启动docker服务并验证,可以通过docker info查看docker安装的版本等信息

备注:如果机器不具备上网条件,或者访问docker的yum源仓库很慢,我已将docker相关rpm包依赖包下载到腾讯云cos中,,可以下载到本地,然后解压缩然后运行yum localinstall进行安装。

1、安装kubernetes源,国内可以使用阿里的kubernetes源,速度会快一点

2、安装kubeadm,kubelet,kubectl,会自动安装几个重要依赖包:socat,cri-tools,cni等包

3、设置iptables网桥参数

4、重新启动kubelet服务,使配置生效

备注:如果本地下载很慢或者无法下载kubernetes中yum源rpm包,可以通过离线方式下载,

1、从cos中下载kubernetes安装镜像,并通过docker load命令将镜像导入到环境中

2、检查镜像列表

1、 kubeadm初始化集群,需要设置初始参数

通过kubeadm init --apiserver-advertise-address 10.254.100.101 --apiserver-bind-port 6443 --kubernetes-version 1.14.1 --pod-network-cidr 10.244.0.0/16安装命令,显示了kubeadm安装过程中的一些重要步骤:下载镜像,生成证书,生成配置文件,配置RBAC授权认证,配置环境变量,安装网络插件指引,添加node指引配置文件。

2、生成kubectl环境配置文件

3、添加node节点,将另外两个节点加入到集群中,复制上述的添加节点命令到指定节点添加即可。

4、安装网络plugin,kubernetes支持多种类型网络插件,要求网络支持CNI插件即可,CNI是Container Network Interface,要求kubernetes的中pod网络访问方式:

不同的CNI plugin支持的特性有所差别。kubernetes支持多种开源的网络CNI插件,常见的有flannel、calico、canal、weave等,flannel是一种overlay的网络模型,通过vxlan隧道方式构建tunnel网络,实现k8s中网络的互联,后续在做介绍,如下是安装过程:

5、通过上述输出可知道,部署flannel 需要RBAC授权,配置configmap和daemonset,其中Daemonset能够适配各种类型的CPU架构,默认安装了多个,一般是adm64即可,可以将上述的url下载编辑,保留kube-flannel-ds-amd64这个daemonset即可,或者将其删除

6、此时再验证node的安装情况,所有节点均已显示为Ready状态,安装完毕!

1、验证node状态,获取当前安装节点,可以查看到状态, 角色,启动市场,版本,

2、查看kubernetse服务组件状态,包括scheduler,controller-manager,etcd

3、查看pod的情况,master中的角色包括kube-apiserver,kube-scheduler,kube-controller-manager,etcd,coredns以pods形式部署在集群中,worker节点的kube-proxy也以pod的形式部署。实际上pod是以其他控制器如daemonset的形式控制的。

使用kubectl和kubernetes交互时候可以使用缩写模式也可以使用完整模式,如kubectl get nodes和kubectl get no能实现一样的效果,为了提高工作效率,可以使用命令补全的方式加快工作效率。

1、生成kubectl bash命令行补全shell

2、加载shell环境变量,使配置生效

3、校验命令行补全,命令行中输入kubectl get co再按TAB键就能自动补全了

除了支持命令行补全之外,kubectl还支持命令简写,如下是一些常见的命令行检测操作,更多通过kubectl api-resources命令获取,SHORTNAMES显示的是子命令中的简短用法。

当你的才华撑不起你的野心时,你就应该静下心来学习

返回

如果觉得文章对您有帮助,请订阅专栏,分享给有需要的朋友吧😊

关于作者 刘海平(HappyLau )云计算高级顾问 目前在腾讯云从事公有云相关工作,曾就职于酷狗,EasyStack,拥有多年公有云+私有云计算架构设计,运维,交付相关经验,参与了酷狗,南方电网,国泰君安等大型私有云平台建设,精通Linux,Kubernetes,OpenStack,Ceph等开源技术,在云计算领域具有丰富实战经验,拥有RHCA/OpenStack/Linux授课经验。

到此这篇kubectl 配置文件(kubernetes 配置文件)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • kvm虚拟化技术实验报告(kvm虚拟化技术实战与原理解析)2025-02-25 20:36:10
  • kubernetes中kubelet主要功能(kubernetes基本概念)2025-02-25 20:36:10
  • docker容器内核版本(docker新版本)2025-02-25 20:36:10
  • kubelet怎么发音(kubernetes发音)2025-02-25 20:36:10
  • 字符编码转化(字符编码转化为数字)2025-02-25 20:36:10
  • kubernetes的作用(kubernetes的功能)2025-02-25 20:36:10
  • kvm虚拟化原理(kvm虚拟化的特点是什么?)2025-02-25 20:36:10
  • docker如何启动容器(docker启动容器失败)2025-02-25 20:36:10
  • cruise软件汉化(crsed汉化)2025-02-25 20:36:10
  • docker如何启动镜像(docker启动镜像容器图片)2025-02-25 20:36:10
  • 全屏图片