查看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