flannel.conf:该文件保存了读取flannel网络分段信息
# 1. 该配置文件用于和flannel网络交互,若使用的网络配置不是flannel,则无需该配置文件 # 2. 该配置文件需在flannel安装配置之后才能生效 vi /usr/lib/systemd/system/docker.service.d/flannel.conf 添加如下信息: [Service] EnvironmentFile=-/run/flannel/docker启动、重启、查看docker
# 重新读取配置 [root@mimo222 ~]# systemctl daemon-reload # 启动docker [root@mimo222 ~]# systemctl start docker # 设置为开机启动 [root@mimo222 ~]# systemctl enable docker # 查看docker运行状态 [root@mimo222 ~]# systemctl status docker # 重启docker [root@mimo222 ~]# systemctl restart docker # 停止运行docker [root@mimo222 ~]# systemctl stop docker etcd安装配置etcd是kubernetes集群最重要的组件, etcd挂了,集群就挂了。
安装etcd这里我是在别的地方下载了etcd-3.2.9-3.el7.x86_64.rpm,然后拷贝到服务器上进行安装。
rpm -ivh etcd-3.2.9-3.el7.x86_64.rpm 创建etcd证书 [root@mimo222 ~]# cd /opt/ssl/ [root@mimo222 ~]# vi etcd-csr.json # 添加如下内容: { "CN": "etcd", "hosts": [ "127.0.0.1", "10.0.11.222" ], "key": { "algo": "rsa", "size": 2048 }, "names": [ { "C": "CN", "ST": "TianJin", "L": "TianJin", "O": "k8s", "OU": "System" } ] }其中,hosts中填写的是etcd节点的地址,这里只安装了单节点etcd,因此只填写了etcd本地地址127.0.0.1以及10.0.11.222。如果安装的是etcd集群,则需要在hosts中添加别的etcd节点的ip地址。
# 生成 etcd 密钥 /opt/local/cfssl/cfssl gencert -ca=/opt/ssl/ca.pem \ -ca-key=/opt/ssl/ca-key.pem \ -config=/opt/ssl/config.json \ -profile=kubernetes etcd-csr.json | /opt/local/cfssl/cfssljson -bare etcd/opt/local/cfssl/cfssl:使用cfssl进行证书生成
# 查看生成信息 [root@mimo222 ~]# ll etcd* -rw-r--r-- 1 root root 1050 Dec 14 18:31 etcd.csr -rw-r--r-- 1 root root 257 Dec 14 18:31 etcd-csr.json -rw------- 1 root root 1679 Dec 14 18:31 etcd-key.pem -rw-r--r-- 1 root root 1424 Dec 14 18:31 etcd.pem # 拷贝 [root@mimo222 ~]# cp etcd*.pem /etc/kubernetes/ssl/ # 如果 etcd 非 root 用户,读取证书会提示没权限 [root@mimo222 ~]# chmod 644 /etc/kubernetes/ssl/etcd-key.pem 修改etcd配置修改 etcd 配置文件/etc/etcd/etcd.conf
# 备份原来的etcd.conf配置文件 mv /etc/etcd/etcd.conf /etc/etcd/etcd.conf-bak # 重新写一份配置文件 vi /etc/etcd/etcd.conf # [member] ETCD_NAME=etcd1 # etcd节点名称 ETCD_DATA_DIR="/var/lib/etcd/etcd1.etcd" ETCD_WAL_DIR="/var/lib/etcd/wal" ETCD_SNAPSHOT_COUNT="100" ETCD_HEARTBEAT_INTERVAL="100" ETCD_ELECTION_TIMEOUT="1000" ETCD_LISTEN_PEER_URLS="https://[Node IP]:2380" ETCD_LISTEN_CLIENT_URLS="https://[Node IP]:2379,:2379" ETCD_MAX_SNAPSHOTS="5" ETCD_MAX_WALS="5" #ETCD_CORS="" # [cluster] ETCD_INITIAL_ADVERTISE_PEER_URLS="https://[Node IP]:2380" # if you use different ETCD_NAME (e.g. test), set ETCD_INITIAL_CLUSTER value for this name, i.e. "test=http://..." ETCD_INITIAL_CLUSTER="etcd1=https://[Node IP]:2380" ETCD_INITIAL_CLUSTER_STATE="new" ETCD_INITIAL_CLUSTER_TOKEN="k8s-etcd-cluster" ETCD_ADVERTISE_CLIENT_URLS="https://[Node IP]:2379" #ETCD_DISCOVERY="" #ETCD_DISCOVERY_SRV="" #ETCD_DISCOVERY_FALLBACK="proxy" #ETCD_DISCOVERY_PROXY="" #ETCD_STRICT_RECONFIG_CHECK="false" #ETCD_AUTO_COMPACTION_RETENTION="0" # [proxy] #ETCD_PROXY="off" #ETCD_PROXY_FAILURE_WAIT="5000" #ETCD_PROXY_REFRESH_INTERVAL="30000" #ETCD_PROXY_DIAL_TIMEOUT="1000" #ETCD_PROXY_WRITE_TIMEOUT="5000" #ETCD_PROXY_READ_TIMEOUT="0" # [security] ETCD_CERT_FILE="/etc/kubernetes/ssl/etcd.pem" ETCD_KEY_FILE="/etc/kubernetes/ssl/etcd-key.pem" ETCD_CLIENT_CERT_AUTH="true" ETCD_TRUSTED_CA_FILE="/etc/kubernetes/ssl/ca.pem" ETCD_AUTO_TLS="true" ETCD_PEER_CERT_FILE="/etc/kubernetes/ssl/etcd.pem" ETCD_PEER_KEY_FILE="/etc/kubernetes/ssl/etcd-key.pem" ETCD_PEER_CLIENT_CERT_AUTH="true" ETCD_PEER_TRUSTED_CA_FILE="/etc/kubernetes/ssl/ca.pem" ETCD_PEER_AUTO_TLS="true" # [logging] #ETCD_DEBUG="false" # examples for -log-package-levels etcdserver=WARNING,security=DEBUG #ETCD_LOG_PACKAGE_LEVELS=""注意:
1、将上面的配置文件中的[Node IP]都修改为本机IP,这里我安装在10.0.11.222,因此都修改成了10.0.11.222。
2、[security]下的配置项指定了证书的位置,因此要注意证书的位置是否正确。