小娜老师的讲义-Kubernetes+docker实战(一)

来源:互联网 发布:java 去掉换行符 编辑:程序博客网 时间:2024/04/20 12:39

环境需求:
centos7 64位系统 两台机器
master:192.168.137.51
minion:192.168.137.140
VMnet8共享本地网络
kubernetes 的组件:
etcd
flannel
kube-apiserver
kube-controller-manager
kube-scheduler
kubelet
kube-proxy

Kubernetes cluster setup - on centos 7 minimal installation
1. network configuration
/etc/hosts
/etc/hostname (包含 master, nodes)
这里写图片描述
保证相互ping通
2. yum install

yum install firewalld ntp deltarp net-tools
systemctl stop firewalld
systemctl disable firewalld
systemctl start ntpd
systemctl enable ntpd

3.selinux
修改 /etc/selinux/config
这里写图片描述
然后重启reboot保证生效

4.master 节点配置:
i) yum install kubernetes etcd flannel
ii) configure etcd
修改配置文件/etc/etcd/etcd.conf,确保etcd监听所有地址

ETCD_NAME=default
ETCD_DATA_DIR=”/var/lib/etcd/default.etcd”
ETCD_LISTEN_CLIENT_URLS=”http://0.0.0.0:2379”
ETCD_ADVERTISE_CLIENT_URLS=“http://master:2379”

iii) configure apiserver
修改 /etc/kubernetes/apiserver

KUBE_API_ADDRESS=”–address=0.0.0.0”
KUBE_API_PORT=“–port=8080”
KUBELET_PORT=”–kubelet-port=10250”
KUBE_ETCD_SERVERS=”–etcd-servers=http://master:2379”
KUBE_SERVICE_ADDRESSES=”–service-cluster-ip-range=10.254.0.0/16”
KUBE_ADMISSION_CONTROL=“–admission-control=NamespaceLifecycle,NamespaceExists,LimitRanger,SecurityContextDeny,ResourceQuota”

iv) edit configuration file
修改 /etc/kubernetes/config

KUBE_LOGTOSTDERR=”–logtostderr=true”
KUBE_LOG_LEVEL=”–v=0”
KUBE_ALLOW_PRIV=”–allow-privileged=false”
KUBE_MASTER=“–master=http://master:8080”

v) configure flannel
修改 /etc/sysconfig/flanneld

FLANNEL_ETCD=”http://master:2379”
FLANNEL_ETCD_KEY=“/coreos.com/network”

vi) 定义flannel网络配置到etcd,这个配置会推送到各个minions的flannel服务上
etcdctl mk /coreos.com/network/config ‘{“Network”:”172.17.0.0/16”}’
vii) 启动服务

for SERVICES in etcd kube-apiserver kube-controller-manager kube-scheduler; do
systemctl restart $SERVICES
systemctl enable $SERVICES
systemctl status $SERVICES
done
这里写图片描述

5.node 配置:
i) docker

yum install docker
systemctl enable docker
systemctl start docker

ii) flannel
yum install flannel
为etcd服务配置flannel,修改配置文件 /etc/sysconfig/flanneld

FLANNEL_ETCD=”http://master:2379”
FLANNEL_ETCD_KEY=”/coreos.com/network”

iii) 修改 /etc/kubernetes/config

KUBE_LOGTOSTDERR=”–logtostderr=true” KUBE_LOG_LEVEL=”–v=0”
KUBE_ALLOW_PRIV=”–allow-privileged=false”
KUBE_MASTER=”–master=http://master:8080”

iv) 修改 /etc/kubernetes/kubelet

KUBELET_ADDRESS=”–address=0.0.0.0”
KUBELET_PORT=”–port=10250”
KUBELET_HOSTNAME=”–hostname-override=minion”
KUBELET_API_SERVER=”–api-servers=http://master:8080”
KUBELET_POD_INFRA_CONTAINER=”–pod-infra-container-image=yparis25/infra-image-pause”
KUBELET_ARGS=”–register-node=true”

v) enable/start
启动服务

for SERVICES in kube-proxy kubelet docker flanneld; do
systemctl restart $SERVICES
systemctl enable $SERVICES
systemctl status $SERVICES
done
这里写图片描述
在每个minion可以看到2块网卡:docker0和flannel0,这2块网卡的ip在不同的机器ip地址不同:
这里写图片描述

6.check if cluster is running:
kubectl get nodes
这里写图片描述
kubernetes的集群就配置完成惹!

1 0