K8S托管Rancher集群

背景

Rancher可能会出现某些问题导致UI界面无法访问,就没有办法部署服务。在这种情况下,我们使用集群的kubeconfig文件,借助k8s托管这个集群,即使UI界面无法访问,我们也能进行部署服务、重启服务等操作。

1、备份集群的kubeconfig文件(重要)

在这里插入图片描述

点击kubeconfig文件,可以复制出来保存。

注:一定要在Rancher UI正常访问的时候备份,不然U崩溃时就无法备份了。

2、安装命令行工具

2.1、kubernetes源配置

cat > /etc/yum.repos.d/kubernetes.repo << EOF
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF

更新缓存:
yum clean all
yum -y makecache

mv /etc/yum.repos.d/CentOS6-Base.repo /etc/yum.repos.d/CentOS6-Base.repo.bak
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

遇到更新失败问题解决 “Couldn’t resolve host ‘apt.sw.be’” 错误 ,禁用无法访问的仓库。 可参考:https://blog.csdn.net/feiz3020/article/details/79812798?utm_source=blogxgwz9

2.2 安装kubelet、kubectl

yum install -y kubelet-1.18.0 kubeadm-1.18.0 kubectl-1.18.0
systemctl enable kubelet

2.3 将需要操作的集群文件放到指定目录下

2.3.1 创建目录

mkdir -p $HOME/.kube

2.3.2 移动文件

这里的/tmp/admin.conf文件是上面备份的集群的kubeconfig文件

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

2.4 登录虚拟机,启动 kubectl,用它与 kubernetes 集群进行交互

使用 --kubeconfig 标记来指定它,如下所示:

kubectl --kubeconfig $HOME/.kube/config get pods

在这里插入图片描述

3、更新服务

3.1 查看当前集群中的Pod的名称空间
#####查看某个pod名称、名称空间和运行节点

kubectl get pod -A -o yaml |grep '^    n'|grep -v nodeSelector

在这里插入图片描述

通过Pod对应的Deployment查看名称空间
kubectl get deployment -A

在这里插入图片描述

以上方式二选其一。

3.2 查看一个名称空间下的Deployment

kubectl --kubeconfig $HOME/.kube/config get deployment -n default

在这里插入图片描述

3.3 将这个Deploymentyaml文件保存下来

kubectl --kubeconfig $HOME/.kube/config get deployment mysql-5-7-34-binlog  -n default -o yaml >> mysql.yaml

3.4 修改yaml文件,更新服务,比如我们更换服务使用的镜像版本

修改图中所示的内容:
在这里插入图片描述

下图所示内容需要删除:

在这里插入图片描述

3.5 执行下面的命令更新服务

kubectl apply -f mysql.yaml

结果:

在这里插入图片描述

在这里插入图片描述

问题:
在这里插入图片描述

出现这种问题是配置文件是带有时间戳的,需要使用最新的yaml文件重新执行命令。

4、部署服务

4.1 准备部署服务所需的yaml文件

在这里插入图片描述

4.2 执行命令部署服务

kubectl apply -f base.yaml

在这里插入图片描述

在这里插入图片描述

5、常用命令

5.1 获取当前集群中所有的Pod

kubectl --kubeconfig $HOME/.kube/config get pods

5.2 查询Pod的名称空间
查看某个pod名称、名称空间和运行节点

kubectl get pod -A -o yaml |grep '^    n'|grep -v nodeSelector

在这里插入图片描述

5.3 通过Pod对应的Deployment查看名称空间

kubectl get deployment -A

在这里插入图片描述

5.4 获取当前集群中所有的Services

kubectl --kubeconfig $HOME/.kube/config get svc

5.5 获取名称空间mysql-clz中所有的Pod

kubectl --kubeconfig $HOME/.kube/config get pods -n mysql-clz

5.6 查看Pod的描述信息

kubectl --kubeconfig $HOME/.kube/config describe pod mysql-clz-78b8cf6-nlwn6 -n mysql-clz

5.6 查看Podyaml文件

kubectl --kubeconfig $HOME/.kube/config get deployment mysql-clz-78b8cf6-nlwn6 -n mysql-clz -o yaml
kubectl --kubeconfig $HOME/.kube/config get  mysql-clz-78b8cf6-nlwn6 -o yaml

5.8 查看名称空间mysql-clz中的Deployment

kubectl --kubeconfig $HOME/.kube/config get deployment -n mysql-clz

5.9 查看Deploymentyaml文件

kubectl --kubeconfig $HOME/.kube/config get deployment mysql-clz -n mysql-clz -o yaml

5.10 使用yaml文件部署服务

kubectl --kubeconfig $HOME/.kube/config apply -f base.yaml

5.11 查看指定服务下的日志

kubectl --kubeconfig kubeconfig-53-luckyun-ide logs -n shiyq069 deployment/test-python

5.12 kubectl其它操作

##查看指定namespace下的pods:
[root@localhost shiyq069]# kubectl --kubeconfig kubeconfig-53-luckyun-ide get pods -n shiyq069
NAME                           READY   STATUS    RESTARTS   AGE
test-python-656fb8f688-dg8j6   1/1     Running   0          6h26m
tomcat-old-7ccdc66876-w4bnk    1/1     Running   0          36d
tomcat-test-c77fd768b-6g46v    1/1     Running   0          36d
web-demo-7849c695b8-vvswp      1/1     Running   0          6d23h

##将指定namespace下的Deployment 服务设置为0 
[root@localhost shiyq069]# kubectl --kubeconfig kubeconfig-53-luckyun-ide scale deployment web-demo --replicas=0 -n shiyq069
deployment.apps/web-demo scaled

[root@localhost shiyq069]# kubectl --kubeconfig kubeconfig-53-luckyun-ide get pods -n shiyq069
NAME                           READY   STATUS        RESTARTS   AGE
test-python-656fb8f688-dg8j6   1/1     Running       0          6h29m
tomcat-old-7ccdc66876-w4bnk    1/1     Running       0          36d
tomcat-test-c77fd768b-6g46v    1/1     Running       0          36d
web-demo-7849c695b8-vvswp      1/1     Terminating   0          6d23h

##将指定namespace下的Deployment 服务 启动多个pods
[root@localhost shiyq069]# kubectl --kubeconfig kubeconfig-53-luckyun-ide scale deployment web-demo --replicas=3 -n shiyq069
deployment.apps/web-demo scaled
[root@localhost shiyq069]# kubectl --kubeconfig kubeconfig-53-luckyun-ide get pods -n shiyq069
NAME                           READY   STATUS              RESTARTS   AGE
test-python-656fb8f688-dg8j6   1/1     Running             0          6h34m
tomcat-old-7ccdc66876-w4bnk    1/1     Running             0          36d
tomcat-test-c77fd768b-6g46v    1/1     Running             0          36d
web-demo-7849c695b8-7zxx6      0/1     ErrImagePull        0          38s
web-demo-7849c695b8-8g5sl      0/1     ContainerCreating   0          33s
web-demo-7849c695b8-prdgb      0/1     ContainerCreating   0          33s

更新服务镜像版本:
[root@localhost shiyq069]# kubectl --kubeconfig kubeconfig-53-luckyun-ide set image deployment/test-python  test-python=10.10.10.52:4000/shiyq069-python-nginx:1.0.0 -n shiyq069
deployment.apps/test-python image updated




  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Rancher是一个开源的容器管理平台,可以用来搭建和管理Kubernetes集群。使用Rancher搭建Kubernetes集群的步骤可以分为三个主要部分:虚拟机环境配置、安装Rancher和通过Rancher安装Kubernetes集群。 在虚拟机环境配置部分,你需要配置一台或多台虚拟机作为Kubernetes集群的节点。这包括设置虚拟机的操作系统和资源分配等配置。 接下来,在安装Rancher的部分,你需要在Docker中安装Rancher,这将提供一个可视化的管理界面来管理和监控Kubernetes集群。 最后,在通过Rancher安装Kubernetes集群的部分,你需要按照一系列步骤来配置和安装Kubernetes集群。这包括安装RKE和kubectl工具、使用RKE安装Kubernetes、设置环境变量、安装和配置Helm等。 当然,如果你想清理Rancher创建的Kubernetes集群,还可以按照相应的步骤进行清理操作。 综上所述,使用Rancher搭建Kubernetes集群的主要步骤包括虚拟机环境配置、安装Rancher和通过Rancher安装Kubernetes集群。<span class="em">1</span> #### 引用[.reference_title] - *1* [Rancher搭建k8s集群](https://blog.csdn.net/aa18855953229/article/details/112200578)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值