前言
就像备份数据库一样,很多时候,我们也想对k8s资源配置进行备份。
1 | kubectl get all --all-namespaces -o yaml > all-deploy-services.yaml |
上面的方法,可以实现对k8s资源配置的备份。但是更好的办法,是对etcd进行备份。本文就学习一下k8s中etcd的备份和恢复方法。
k8s集群中的常见组件包括:
A类:kube-apiserver
B类:controller-manager、kube-scheduler
C类:kubelet、kube-proxy
D类:etcd cluster、CoreDNS
E类:kubectl
组件的版本号一般表示为 major.minor.patch,比如v1.10.3。其中,A类组件是主要组件,以它为版本基准。比如,A类组件版本的minor号为x,那么B类组件版本必须为x或者x-1,C类组件版本必须为x、x-1或者x-2,E类组件版本必须为x、x-1或者x+1。而D类组件,和A类组件不是同一版本体系,版本兼容情况需要查看文档。整理成表格如下:
| 组件类别 | minor版本 | 组件 |
|---|---|---|
| A类 | x | kube-apiserver |
| B类 | x、x-1 | controller-manager、kube-scheduler |
| C类 | x、x-1、x-2 | kubelet、kube-proxy |
| E类 | x、x-1、x+1 | kubectl |
| D类 | 查看文档 | etcd cluster、CoreDNS |
本文学习使用kubeadm进行k8s集群的升级,参考升级 kubeadm 集群。
Gate One is a web-based Terminal Emulator and SSH client that brings the power of the command line to the web. It requires no browser plugins and is built on top of a powerful plugin system that allows every aspect of its appearance and functionality to be customized.
本文使用Docker安装配置GateOne,搭建一个Web Shell环境。
前置条件是安装配置好了docker环境,安装方法参考《Docker入门》。已知docker宿主机IP为192.168.56.130。