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

kubectl 配置文件(kubernetes 配置文件)视频教程连接 本章是第二篇 要深入学习 kubernetes 首先需要有一个 k8s 环境 然而 受制硬件环境 网络环境等因素 要搭建一个环境有一定的困难 让很多初学者望而却步 本章主要介绍通过 kubeadm 安装工具部署 kubernetes 集群 考虑到国内网络限制 已将安装镜像通过跳板机下载到本地 方便大家离线安装 要学习 kubernetes 首先需要有一个 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授课经验。

小讯
上一篇 2025-05-17 22:08
下一篇 2025-05-06 11:24

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/137857.html