k8s集群如kubeadm init和kube-flannel.yam问题

查看k8s中角色内容kubectl get all (显示pod和server以及delment) 删除应用资源选择删除先删除部署查看部署和pod没了服务还在,但资源和功能以及删除,删除服务kubectl delete 服务名(部署名),get pods 获取默认空间的容器 get all 获取pod和server以及部署以及动态扩容

将创建部署定位到文件create d --dry-run -o yaml 输出yaml格式的部署指令信息里面有部署的模板信息如空间,副本个数、规格等信息通过apply -f 一次性部署所有内容包括部署信,服务等不用每次写指令执行,而是一次准备。

文件的格式可以通过指令+--dry-run -o yaml生成一个当前指令模板然后把这些汇总到一个文件,如创建部署是一个指令生成一部分,然后暴露服务指令生成一部分。

kubeadm init --config kubeadm-init.yaml

如果执行失败了怎么办?

kubeadm reset

rm -fr ~/.kube/ /etc/kubernetes/* /var/lib/etcd/*

执行后,重新进行(init)!!!

搭建集群环境有效可用参考地址centos安装k8s集群(kubeadm方式)_centos kubeadm-CSDN博客

kubeadm init 初始化报错问题 按照提示查看日志journalctl -u kubelet 提示主机找不到因为填写的服务ip地址不正确去kubelet的配置文件中修改服务地址为自己主机ip

初始化完成后继续遇到为主机安转网络kube-fannel.yam 由于网络问题一直装不上到麻烦。

kubectl apply -f https://raw.githubusercontent.com/flannel-io/flannel/master/Documentation/kube-flannel.yml

该地址是有效可用的,但使用的是docker的地址所以将其中的依赖的三个镜像文件名改成阿里云的镜像,完成下载,这是最快捷的,担我没有去找阿里镜像,而是保持文件不动,下载docker官网的镜像名导入到docker,如果镜像名不符合文件中的就会从网络拉取,主节点成功拉去从节点也同步到,到主节点失败,当前主从两个节点kubectl get pods -A 查看所有节点上的pod 有两个容器拉取失败

解决:其他地方下载镜像,将镜像docker save in.tar 镜像ID 打包上传然后导入 docker load< name.tar 这时是空名和tag 使用docker tag 镜像ID name:tag

哪怕不是文件中docker的官方镜像只要重命名镜像功能可用就直接使用,这时是在主节点上应用成功,到从节点同步时任然无网络拉取超时,同样去安装网络插件

kubectl get nodes 查看是否功能可用如果主节点安转网络成功这该节点read,直到所有节点可读。

k8s入坑之报错解决The connection to the server localhost:8080 was refused - did you specify the right host or port?'k8s入坑之报错解决

问题:

原因:

环境变量

原因:kubernetes master没有与本机绑定,集群初始化的时候没有绑定,此时设置在本机的环境变量即可解决问题。

kubectl命令需要使用kubernetes-admin来运行,需要admin.conf文件(conf文件是通过" kubeadmin init"命令在主节点/etc/kubernetes 中创建),但是从节点没有conf文件,也没有设置 KUBECONFIG =/root/admin.conf环境变量,所以需要复制conf文件到从节点,并设置环境变量就OK了

解决

主节点的admin.conf拷贝到从节点,设置环境变量

Master节点执行

scp /etc/kubernetes/admin.conf root@node01:/etc/kubernetes/admin.conf

scp /etc/kubernetes/admin.conf root@node01:/etc/kubernetes/admin.conf

Node节点执行:

复制代码
#admin.conf注意路径
echo "export KUBECONFIG=/etc/kubernetes/admin.conf" >> ~/.bash_profile
source ~/.bash_profile
另外一个报错可以通过以下操作解决,问题博客链接:k8s入坑之报错(6)解决error: no configuration has been provided, try setting KUBERNETES_MASTER environment variable

主节点的admin.conf拷贝到从节点,设置环境变量

mkdir -p $HOME/.kube

sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config

sudo chown (id -u):(id -g) $HOME/.kube/config

或者

#拷贝admin.conf注意路径

echo "export KUBECONFIG=/etc/kubernetes/admin.conf" >> ~/.bash_profile

source ~/.bash_profile

最后运行测试, 发现不报错了

root@k8s-master01-15 \~# kubectl get node

NAME STATUS ROLES AGE VERSION

k8s-master01-15 NotReady master 20m v1.18.6

k8s-node01-16 NotReady <none> 19m v1.18.6

k8s-no

相关推荐
阿里云云原生4 小时前
阿里云 AgentTeams 7月第二周产品动态
云原生
CodexDave8 小时前
数据库连接池耗尽:排查顺序与三层兜底
服务器·前端·数据库·git·云原生·容器·kubernetes
java_logo8 小时前
ELK Docker Compose 部署指南:轻松搭建日志检索平台
elk·elasticsearch·docker·容器·kibana·logstash·轩辕镜像
ShallWeL8 小时前
Orin 上用 Docker 跑通目标检测功能
人工智能·目标检测·docker·容器
辰同学ovo9 小时前
用“舞台换景”讲清 Docker 的 Restart 与 Recreate
运维·docker·容器
Zhu75810 小时前
在k8s部署alist 3.62.0
云原生·容器·kubernetes
阿里云云原生1 天前
阿里云 Agent Native Cloud:让智能体成为企业原生的能力
云原生·agent
小码哥哥1 天前
云原生时代的企业AI知识库:从云生态融合到多云知识治理
人工智能·云原生
关关长语1 天前
Wsl解决MySQL容器跨域权限问题
mysql·docker·容器
Geek-Chow1 天前
Connecting kubectl to a Private EKS Cluster Over an Internal Domain
kubernetes·k8s·aws