整理一下自己使用rke部署k8s的一些操作流程
0.rke安装
下载rke,添加执行权限,版本选择rke version v1.2.13。
1.docker-ce安装(版本20.10.22)
#机器能连通外网的情况下用阿里云,不同的情况下用内网私服
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum makecache fast
#查询可安装docker版本
yum list docker-ce --showduplicates | sort -r
#安装指定版本
sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io
#安装完后启动并修改/etc/docker/daemon.json
{
"insecure-registries": ["……"], #配置私网仓库
"graph": "/app/docker" #docker数据目录
}
#docker热加载配置(修改graph需要重启docker):
kill -SIGHUP $(pidof dockerd)
2.普通用户赋权
#将opsuser用户添加到docker用户组,登出当前用户重新登录即可验证权限
sudo usermod -aG docker opsuser
#添加control plane免密访问
vi ~/.ssh/authorized_keys
3.内核版本升级
#公司使用的内核版本较老,安装k8s时会触发bug导致负载飙高节点坏死,故升级版本
#rke version:v1.2.13
#服务器内核需升级到3.10.0-1127.10.1.el7.x86_64
yum install kernel-3.10.0-1127.10.1.el7.x86_64.rpm
#查看内核启动序号
awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg
#设置启动顺序,从0开始
grub2-set-default 1
#重启
reboot
4.cluster.yaml配置
#初始化
rke init
#私有镜像库配置
private_registries:
- url: registry.com
user: Username
password: password
#若为内网环境,image替换为私有镜像库地址
system_images:
etcd: ……/mirrored-coreos-etcd:v3.4.15-rancher1
alpine: ……/rke-tools:v0.1.78
nginx_proxy: ……/rke-tools:v0.1.78
cert_downloader: ……/rke-tools:v0.1.78
kubernetes_services_sidecar: ……/rke-tools:v0.1.78
kubedns: ……/mirrored-k8s-dns-kube-dns:1.15.10
dnsmasq: ……/mirrored-k8s-dns-dnsmasq-nanny:1.15.10
kubedns_sidecar: ……/mirrored-k8s-dns-sidecar:1.15.10
kubedns_autoscaler: ……/mirrored-cluster-proportional-autoscaler:1.8.1
coredns: ……/mirrored-coredns-coredns:1.8.0
coredns_autoscaler: ……/mirrored-cluster-proportional-autoscaler:1.8.1
nodelocal: ……/mirrored-k8s-dns-node-cache:1.15.13
kubernetes: ……/hyperkube:v1.20.11-rancher1
flannel: ……/mirrored-coreos-flannel:v0.13.0
flannel_cni: ……/flannel-cni:v0.3.0-rancher6
calico_node: ……/mirrored-calico-node:v3.17.2
calico_cni: ……/mirrored-calico-cni:v3.17.2
calico_controllers: ……/mirrored-calico-kube-controllers:v3.17.2
calico_ctl: ……/mirrored-calico-ctl:v3.17.2
calico_flexvol: ……/mirrored-calico-pod2daemon-flexvol:v3.17.2
canal_node: ……/mirrored-calico-node:v3.17.2
canal_cni: ……/mirrored-calico-cni:v3.17.2
canal_controllers: ……/mirrored-calico-kube-controllers:v3.17.2
canal_flannel: ……/coreos-flannel:v0.13.0-rancher1
canal_flexvol: ……/mirrored-calico-pod2daemon-flexvol:v3.17.2
weave_node: ……/weave-kube:2.8.1
weave_cni: ……/weave-npc:2.8.1
pod_infra_container: ……/mirrored-pause:3.2
ingress: ……/nginx-ingress-controller:nginx-0.43.0-rancher3
ingress_backend: ……/mirrored-nginx-ingress-controller-defaultbackend:1.5-rancher1
metrics_server: ……/mirrored-metrics-server:v0.4.1
windows_pod_infra_container: ……/kubelet-pause:v0.1.6
aci_cni_deploy_container: ……/cnideploy:5.1.1.0.1ae238a
aci_host_container: ……/aci-containers-host:5.1.1.0.1ae238a
aci_opflex_container: ……/opflex:5.1.1.0.1ae238a
aci_mcast_container: ……/opflex:5.1.1.0.1ae238a
aci_ovs_container: ……/openvswitch:5.1.1.0.1ae238a
aci_controller_container: ……/aci-containers-controller:5.1.1.0.1ae238a
aci_gbp_server_container: ……/gbp-server:5.1.1.0.1ae238a
aci_opflex_server_container: ……/opflex-server:5.1.1.0.1ae238a
#注:密钥地址写绝对路径
ssh_key_path: /home/opsuser/.ssh/id_rsa
#kubernetes版本需指定,否则为最新
kubernetes_version: v1.20.11-rancher1-1
#可选配置cni还有pod网段和service网段,不填的话会默认分配10.42.0.0/16和10.43.0.0/16
等待安装完毕即可