- 环境:
a. master:192.168.254.141
b. node01:192.168.254.142
c. node02:192.168.254.143
d. 配置hosts - master节点安装:
a. systemctl stop firewalld && systemctl disable firewalld
b. yum install kubernetes-master etcd -y - node节点安装:
a. systemctl stop firewalld && systemctl disable firewalld
b. yum install kubernetes-node flannel docker -y
c. systemctl enable docker && systemctl start docker - 配置etc节点:
a. egrep -v “^#” /etc/etcd/etcd.conf
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://192.168.254.141:2379"
b. 启动etcdi. systemctl start etcd && systemctl enable etcd - 配置master节点:
a. egrep -v “^#” /etc/kubernetes/apiserver | grep -v “^$”
KUBE_API_ADDRESS=”–insecure-bind-address=0.0.0.0”
KUBE_ETCD_SERVERS=”–etcd-servers=http://192.168.254.141:2379"
KUBE_SERVICE_ADDRESSES=”–service-cluster-ip-range=10.254.0.0/16”
KUBE_ADMISSION_CONTROL=”–admission-control=NamespaceLifecycle,NamespaceExists,LimitRanger,SecurityContextDeny,ResourceQuota”
KUBE_API_ARGS=””
b. egrep -v “^#” /etc/kubernetes/controller-manager |grep -v “^$”
KUBE_CONTROLLER_MANAGER_ARGS=”–node-monitor-grace-period=10s –pod-eviction-timeout=10s”
c. egrep -v “^#” /etc/kubernetes/config | egrep -v “^$”
KUBE_LOGTOSTDERR=”–logtostderr=true”
KUBE_LOG_LEVEL=”–v=0”
KUBE_ALLOW_PRIV=”–allow-privileged=false”
KUBE_MASTER=”–master=http://192.168.254.141:8080"
d. 启动服务:i. systemctl enable kube-apiserver kube-scheduler kube-controller-manager ii. systemctl start kube-apiserver kube-scheduler kube-controller-manager - 配置node节点
a. egrep -v “^#” /etc/kubernetes/config | grep -v “^$”
KUBE_LOGTOSTDERR=”–logtostderr=true”
KUBE_LOG_LEVEL=”–v=0”
KUBE_ALLOW_PRIV=”–allow-privileged=false”
KUBE_MASTER=”–master=http://192.168.254.141:8080"
b. egrep -v “^#” /etc/kubernetes/kubelet | grep -v “^$”
KUBELET_ADDRESS=”–address=127.0.0.1”
KUBELET_HOSTNAME=”–hostname-override=docker02”
KUBELET_API_SERVER=”–api-servers=http://192.168.254.141:8080"
KUBELET_POD_INFRA_CONTAINER=”–pod-infra-container-image=registry.access.redhat.com/rhel7/pod-infrastructure:latest”
KUBELET_ARGS=”–pod-infra-container-image=kubernetes/pause”
c. 启动服务:i. systemctl enable kubelet kube-proxy ii. systemctl start kubelet kube-proxy - 配置node节点flannel
a. 初始化flannel的etcd配置(etc节点操作):
b. node节点上操作:i. etcdctl -C 127.0.0.1:2379 set /coreos.com/network/config '{ "Network": "10.1.0.0/16" }'
FLANNEL_ETCD_ENDPOINTS=”http://192.168.254.141:2379"i. egrep -v "^#" /etc/sysconfig/flanneld | grep -v "^$"
FLANNEL_ETCD_PREFIX=”/coreos.com/network”
c. 启动服务:i. systemctl enable flanneld ii. systemctl restart flanneld docker - 测试:
a. kubectl get nodes