ETCD 192.168.31.143
Master 192.168.31.13
node 192.168.31.14
ETCD
yum install etcd -y # 安裝etcd k/v數(shù)據(jù)庫
- 配置
vim /etc/etcd/etcd.conf
ETCD_DATA_DIR="/data/etcd/default.etcd" # 數(shù)據(jù)存儲位置
ETCD_LISTEN_CLIENT_URLS="http://localhost:2379伏恐,http://192.168.31.143:2379" # 監(jiān)聽地址
ETCD_NAME="etcd_1" # 名稱
ETCD_ADVERTISE_CLIENT_URLS="http://localhost:2379,http://192.168.31.143:2397" #訪問地址
#ETCD_INITIAL_ADVERTISE_PEER_URLS="http://localhost:2380" # 集群
通信地址
- 創(chuàng)建Fanneld網(wǎng)絡(luò)數(shù)據(jù)庫
#查看ETCD 集群列表;
etcdctl member list
#查看ETCD 集群狀態(tài)价卤;
etcdctl cluster-health
#獲取Config KEY 值羹令;
etcdctl get /atomic.io/network/config
#查看Subnets KEY 列表您没;
etcdctl ls /atomic.io/network/subnets
#刪除Network KEY葡粒;
etcdctl rm /atomic.io/network/ --recursive
#創(chuàng)建config KEY,并且設(shè)置Values竖瘾;
etcdctl mk /atomic.io/network/config '{"Network":"172.17.0.0/16"}'
- 啟動
systemctl start etcd
ss -ntlp # 查看驗證端口監(jiān)聽
-
ETCD問題
# 權(quán)限
cannot access data directory: mkdir /data/etcd/default.etcd: permission denied
etcd服務(wù)啟動默認(rèn)使用etcd.etcd 用戶啟動
chown -R etcd.etcd /xxx/xxx
Flannel 網(wǎng)絡(luò)
- 配置
vim /etc/sysconfig/flanneld
FLANNEL_ETCD_ENDPOINTS="http://192.168.31.143:2379" # etcd 數(shù)據(jù)庫地址
FLANNEL_ETCD_PREFIX="/atomic.io/network" # 存儲在etcd數(shù)據(jù)庫中的key
- 啟動
systemctl start flanneld
K8s master
- 安裝
yum install kubernetes-master flannel -y
- 配置
cd /etc/kubernetes/
[root@Docker kubernetes]# ls
apiserver # api配置文件
config # 配置文件
controller-manager # 控制器配置
scheduler #調(diào)度配置文件
-
config 配置
KUBE_LOGTOSTDERR="--logtostderr=true" # 日志輸出
KUBE_LOG_LEVEL="--v=0" # 日志等級
KUBE_ALLOW_PRIV="--allow-privileged=true" # 特權(quán)模式運行容器
KUBE_MASTER="--master=http://192.168.31.13:8080" #監(jiān)聽地址端口
-
apiserver配置文件
KUBE_API_ADDRESS="--insecure-bind-address=127.0.0.1" #監(jiān)聽地址
KUBE_ETCD_SERVERS="--etcd-servers=http://192.168.31.143:2379" # etcd數(shù)據(jù)庫地址
KUBE_SERVICE_ADDRESSES="--service-cluster-ip-range=10.254.0.0/16" # 地址池
KUBE_ADMISSION_CONTROL="--admission-control=NamespaceLifecycle,NamespaceExists,LimitRanger,SecurityContextDeny,ServiceAccount,ResourceQuota"
- 啟動服務(wù)
for I in kube-apiserver kube-controller-manager kube-scheduler; do
systemctl start $I
systemctl enable $I
systemctl status $I
done
node
- 安裝
yum install kubernetes-node docker flannel *rhsm* -y
- 配置
[root@Docker ~]# cd /etc/kubernetes/
[root@Docker kubernetes]# ls
config # Node 節(jié)點主配置文件鸣剪,指定設(shè)置日志组底、日志級別、啟用超級特權(quán)筐骇、連接Master API 接口服務(wù)
kubelet # 責(zé)接收Master 節(jié)點發(fā)送的指令债鸡,去調(diào)用底層Docker 組件,啟動铛纬、停止厌均、刪除、卸載容器
proxy #為代理文件告唆,主要是用于局域網(wǎng)訪問(ServiceVIP 方式)容器棺弊,可以通過iptables 做NAT、FORWARD 數(shù)據(jù)轉(zhuǎn)發(fā)
-
config
KUBE_LOGTOSTDERR="--logtostderr=true" # 日志
KUBE_LOG_LEVEL="--v=0" # 日志等級
KUBE_ALLOW_PRIV="--allow-privileged=true" # 特權(quán)模式
KUBE_MASTER="--master=http://192.168.31.13:8080" # master 連接
-
kubelet
KUBELET_ADDRESS="--address=192.168.31.14" # node監(jiān)聽地址
KUBELET_HOSTNAME="--hostname-override=192.168.31.14" # hostname設(shè)置
KUBELET_API_SERVER="--api-servers=http://192.168.31.13:8080" # master 連接
- 啟動
for I in kube-proxy kubelet docker
do
systemctl restart $I
systemctl enable $I
systemctl status $I
done