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
3、停docker、kubelet服务(下线的那台服务器)
systemctl stop kubelet
systemctl stop docker
4、删除节点
kubectl delete nodes node01
Kubernetes在CentOS7下二进制文件方式安装、离线安装
一、下载Kubernetes(简称K8S)二进制文件
1)https://github.com/kubernetes/kubernetes/releases
从上边的网址中选择相应的版本,本文以1.9.1版本为例,从 CHANGELOG页面 下载二进制文件。
2)组件选择:选择Service Binaries中的kubernetes-server-linux-amd64.tar.gz
该文件已经包含了 K8S所需要的全部组件,无需单独下载Client等组件。
二、安装规划
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目录
设置 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"
评论区