k8s节点维护

1、 不可调度

# 设置节点不可调度
kubectl cordon node10
# 恢复节点参与可调度
kubectl uncordon node10

2、驱逐已经运行的业务容器

kubectl drain --ignore-daemonsets --delete-local-data node10
    
kubectl drain node10 --ignore-daemonsets --delete-local-data --force
# kubectl drain {{node-name}}  #标记节点为不可调度,并驱逐节点上的pod

k8s自动化运维 k8s日常维护_云原生

3、停docker、kubelet服务(下线的那台服务器)

systemctl stop kubelet
systemctl stop docker

4、删除节点

kubectl delete nodes node01

Kubernetes在CentOS7下二进制文件方式安装、离线安装

参考

二进制kubernetes升级

一、下载Kubernetes(简称K8S)二进制文件

1)https://github.com/kubernetes/kubernetes/releases
从上边的网址中选择相应的版本,本文以1.9.1版本为例,从 CHANGELOG页面 下载二进制文件。

k8s自动化运维 k8s日常维护_容器_02

2)组件选择:选择Service Binaries中的kubernetes-server-linux-amd64.tar.gz
该文件已经包含了 K8S所需要的全部组件,无需单独下载Client等组件。

k8s自动化运维 k8s日常维护_docker_03

k8s自动化运维 k8s日常维护_kubernetes_04

二、安装规划

1)下载K8S解压,把每个组件依次复制到/usr/bin目录文件下,然后创建systemd服务文见,最后启动该组件
3) 本例:以三个节点为例。具体节点安装组件如下:

节点IP地址

角色

安装组件名称

192.168.137.3

Master(管理节点)

etcd、kube-apiserver、kube-controller-manager、kube-scheduler

192.168.137.4

Node1(计算节点)

docker 、kubelet、kube-proxy

192.168.137.5

Node2(计算节点)

docker 、kubelet、kube-proxy

其中etcd为K8S数据库

三、Master节点部署

注意:在CentOS7系统 以二进制文件部署,所有组件都需要4个步骤:
1)复制对应的二进制文件到/usr/bin目录下
2)创建systemd service启动服务文件
3)创建service 中对应的配置参数文件
4)将该应用加入到开机自启

Ectd数据库安装

下载:K8S需要etcd作为数据库。以 v3.5.0为例,下载地址如下:https://github.com/etcd-io/etcd/releases 下载解压后将etcd、etcdctl二进制文件复制到/usr/bin目录

k8s自动化运维 k8s日常维护_docker_05

k8s自动化运维 k8s日常维护_kubernetes_06

设置 etcd.service服务文件

在/etc/systemd/system/目录里创建etcd.service,其内容如下:
[root@k8s-master]# cat /etc/systemd/system/etcd.service或``cat /usr/lib/systemd/system/etcd.service`

[Unit]
Description=Etcd Server
After=network.target
After=network-online.target
Wants=network-online.target

[Service]
Type=notify
WorkingDirectory=
EnvironmentFile=/opt/etcd/cfg/etcd.conf
ExecStart=/opt/etcd/bin/etcd \
        --cert-file=/opt/etcd/ssl/server.pem \
        --key-file=/opt/etcd/ssl/server-key.pem \
        --peer-cert-file=/opt/etcd/ssl/server.pem \
        --peer-key-file=/opt/etcd/ssl/server-key.pem \
        --trusted-ca-file=/opt/etcd/ssl/ca.pem \
        --peer-trusted-ca-file=/opt/etcd/ssl/ca.pem \
		--logger=zap
Restart=on-failure
LimitNOFILE=65536

[Install]
WantedBy=multi-user.target

创建配置/etc/etcd/etcd.conf文件

[root@k8s-master]# cat /etc/etcd/etcd.conf

#[Member]
ETCD_NAME="Etcd3"
ETCD_DATA_DIR="/var/lib/etcd/default.etcd"
ETCD_LISTEN_PEER_URLS="https://202.205.161.116:2380"
ETCD_LISTEN_CLIENT_URLS="https://202.205.161.116:2379"

#[Clustering]
ETCD_INITIAL_ADVERTISE_PEER_URLS="https://202.205.161.116:2380"
ETCD_ADVERTISE_CLIENT_URLS="https://202.205.161.116:2379"
ETCD_INITIAL_CLUSTER="Etcd1=https://202.205.161.86:2380,Etcd2=https://202.205.161.98:2380,Etcd3=https://202.205.161.116:2380"
ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster"
ETCD_INITIAL_CLUSTER_STATE="new"

配置开机启动

检验etcd是否安装成功