首页 > 其他分享 >K8s 安装、部署与卸载(简单版本)

K8s 安装、部署与卸载(简单版本)

时间:2023-01-10 16:37:03浏览次数:47  
标签:kubectl K8s rvf master 版本 卸载 kubeadm kube pod

安装了好几天,感觉网上大佬都是骗人的,后来又发现大佬们并没有骗人,只不过一些详细的地方没有细说,走了好多弯路啊o(╥﹏╥)o,后来慕课网找了视频才进入了正道,接下来搞个简单版本的部署步骤供大家参考,后面的路还很长,大家一起✊!!!

一、环境准备

我这里是半成品的环境,不太适合参考o(╥﹏╥)o ,但基本也是最新的,关于环境问题大家可以网上查一下

  版本 命令
系统 7.5 uname -a或 cat /etc/redhat-release自己网络查询进行比对其它系统的版本
docker 20.10.7 docker version
kubernetes(k8s) 1.23.0 这个是自己指定的,这个版本也比较新了

 

 

 

 

 

 

因为安装了docker 这里就不进行讲解了,请自行百度

二、安装kubectl、kubelet、kubeadm(注意在哪个节点执行)

1、关闭防火墙(master 与 node 都需要执行)

systemctl stop firewalld

systemctl disable firewalld

2、关闭swap(master 与 node 都需要执行)

swapoff -a

3、启用 bridge-nf-call-iptables 预防网络问题(master 与 node 都需要执行)

echo 1 > /proc/sys/net/bridge/bridge-nf-call-iptables

4、安装kubectl、kubelet、kubeadm(master 与 node 都需要执行)

 yum install -y --nogpgcheck kubelet-1.23.0 kubeadm-1.23.0 kubectl-1.23.0

4.1获取init-config文件(在master上执行)

kubeadm config print init-defaults > init-config.yaml

4.2查看需要安装的镜像(在master上执行)

grep image init-config.yaml

4.3然后手动去拉取镜像 ,用阿里的镜像源:registry.aliyuncs.com/google_containers(在master上执行)

docker pull registry.aliyuncs.com/google_containers/kube-apiserver:v1.23.0(直接把上面的镜像拉一遍) 4.4拉取下来之后再改一下镜像的名称(在master上执行) docker tag  registry.aliyuncs.com/google_containers/kube-apiserver:v1.23.0 k8s.gcr.io/kube-apiserver:v1.23.0(全部改一遍) 4.5进行kubeadm 初始化(在master上执行) kubeadm init --kubernetes-version v1.23.0 --apiserver-advertise-address=XX.XX.XX.XX --pod-network-cidr=10.244.0.0/16 --ignore-preflight-errors=ImagePull(这里因为提示有镜像拉不下来,实际上该有的镜像都有了所以直接忽略此报错就可以)

 

 

4.6成功后会出现截图中信息,接下来执行截图中上半部分的命令
mkdir -p $HOME/.kube cp -i /etc/kubernetes/admin.conf $HOME/.kube/config chown $(id -u):$(id -g) $HOME/.kube/config 此时master节点初始完成,接下来只需要进行node节点加入到master节点中即可 5、node节点检查依赖包(Node节点执行)

没有的根据master节点的步骤进行安装下,然后执行截图中的命令加入到master节点

kubeadm join xx.xx.xx.xx:xxxx --token yoegk7.7mox6lo93zbg78o9 \ --discovery-token-ca-cert-hash sha256:94d11d3bd358e922fdd36d5b4ed1c850ddaacb245c705d7561925b9cbc6d6d77 加入后可在master节点进行检查,kubectl get nodes 查看是否加入成功 三、安装网络插件(master节点执行) 1、我这里选择的时kube-flannel 插件,最早用calico没搞定。。。。。后续我还会尝试的,当时一直提示pod初始化中,几天几夜都这样。。。。 这个东东我这里不好下载,博客这里没法插入附件啊,后续我单独写一个随笔共大家复制吧,具体执行命令如下: wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml 2、获取到文件后,在执行如下命令即可 kubectl apply -f kube-flannel.yml 3、这里需要注意下,这个插件安装完后可以在docker images 里查看安装了两个 flannel 镜像,时间比较长大家不要着急,这时候需要看下pod 状态 kubectl get pod -n kube-system 4、这时候的 coredns pod 会报错我们可以查看下报错原因 kubectl describe pod $这里需要podname -n kube-system 5、有的需要安装相关的包,有的可能提示网络的问题,具体问题具体分析哈,如果时网络的问题就执行pod,自动重建即可 kubectl delete pod $这里需要podname -n kube-system 6、这时候基本就完成了,再次查看nodes 与 pod 的状态 kubectl get nodes            状态应该是ready kubectl get pod -n kube-system   状态应该是running 四、卸载K8s 关于下载大家不要有什么心里压力,想卸载就卸载,想重新安装就安装,就是依赖镜像的版本需要注意下,别还了版本忘了换以来镜像

kubeadm reset -f

yum -y remove kubelet kubeadm kubectl
rm -rvf $HOME/.kube
rm -rvf ~/.kube/
rm -rvf /etc/kubernetes/
rm -rvf /etc/systemd/system/kubelet.service.d
rm -rvf /etc/systemd/system/kubelet.service
rm -rvf /usr/bin/kube*
rm -rvf /etc/cni
rm -rvf /opt/cni
rm -rvf /var/lib/etcd
rm -rvf /var/etcd

实际测试清理的比较干净,然后可以继续重新安装啦

五、常用小技巧

1、当修改主机名称的时候,具体的配置文件忘了,需要重启kubeadm

kubeadm reset  然后需要重新初始化 kubeadm init

 

2、重新初始化后需要执行如下命令

 

mkdir -p $HOME/.kube
cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
chown $(id -u):$(id -g) $HOME/.kube/config

 

3、重新生成token 命令
kubeadm token create --print-join-command

4、修改node 需要修改/etc/kubernetes/kubelet.conf 中的name然后重新初始化

操作中大家也多翻翻其他人的文档,多多参考,好多文档中多了一些不必要的步骤大家可以忽略后续慢慢研究,小白一个不喜勿喷,后续还会补充一些内容

 

参考文档包含:https://www.jb51.net/article/256486.htm

       https://blog.csdn.net/weixin_44280843/article/details/126853486

       还有慕课网的视频:Jenkins+K8s实现持续集成:https://www.imooc.com/learn/1112(这个简单易懂,而且还加了jenkins的集成,看就完了)

   

标签:kubectl,K8s,rvf,master,版本,卸载,kubeadm,kube,pod
From: https://www.cnblogs.com/dkzou/p/17039566.html

相关文章

  • mac nodejs 切换版本
    https://www.cnblogs.com/Mr-Rshare/p/15922413.htmlhttps://www.jianshu.com/p/10a7547198f5......
  • JDK安装卸载
    卸载1.删除java的安装目录2.电脑-属性-环境变量删除JAVA_HOME3.删除path下的Java目录4.java-version 安装1.jdk8安装包2.文件放在需求目录3.电脑-属性-环境变......
  • CentOS7更新SQLite为最新版本
    转载自:https://www.ikxin.com/710.html=================   前言最近看到兰空图床更新到了2.0版本,增加了很多新特性,其中有一项是支持了多种数据库驱动。本着......
  • 云原生周刊 | 在 Grafana 中显示 K8s Service 之间的依赖关系
    开源项目推荐Caretta这个项目可以在Grafana监控面板中显示K8sService之间的依赖关系。底层使用的是eBPF,对应用无侵入。busuanzi这是一个基于Golang+Redis的......
  • 完全卸载MySQL服务的方法
    1.重新运行安装文件,单击remove移除mysql。此时安装目录中的文件没有完全移除,需要手动删除安装目录的Mysql文件夹。2.如果MySQL服务没有移除的话,以管理员方式运行cmd命令:sc......
  • k8s常用命令
    1、查看节点:kubectlgetnodes2、查看所有pod:kubectlgetpods-A,必须加-A,不然有些非默认的ns下的pod,看不到3、进入pod:kubectlexec-itpodName-nnamespace--/bin/s......
  • k8s强制删除crd(CustomResourceDefinition)
     kubectlpatchcrd/replicas.longhorn.io-p'{"metadata":{"finalizers":[]}}'--type=merge注意:红色部分为待删除的crd名称 ......
  • K8S 三种探针 ReadinessProbe、LivenessProbe和StartupProbe 之探索
    事件背景因为k8s中采用大量的异步机制、以及多种对象关系设计上的解耦,当应用实例数增加/删除、或者应用版本发生变化触发滚动升级时,系统并不能保证应用相关的service......
  • 使用nvm安装不同版本的NodeJS
    下载及安装下载地址:https://github.com/coreybutler/nvm-windows/releases配置nodejs的镜像地址nvmnode_mirrorhttps://npmmirror.com/mirrors/node/nvmnpm_mirror......
  • yum安装指定版本nodejs
    curl-sLhttps://rpm.nodesource.com/setup_14.x|bash-yumremovenodesource-release*nodejsyumcleanallrm-rf/var/cache/yum/*rm/etc/yum.repos.d/nodeso......