Kubernetes集群管理部署

1.示例环境

3台虚机(系统centos7.X)

1台作为master(主控节点)
2台作为node(工作节点)
master:192.168.42.128
node:192.168.42.130,192.168.42.131

2. 初始化环境

#关闭seliux、firewalld
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/sysconfig/selinux setenforce 0 systemctl stop firewalld systemctl disable firewalld
#修改时区
timedatectl set-timezone Asia/Shanghai
#修改主机名
hostnamectl set-hostname mast
hostnamectl set-hostname node01
hostnamectl set-hostname node02
#时间同步
yum -y install ntp

systemctl enable ntpd

systemctl restart ntpd

#添加kubernetes阿里云yum源

cat > /etc/yum.repos.d/kubernetes.repo << EOF
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
EOF

#清理yum缓存并生成新的缓存

yum clean all
yum makecache

3.部署master节点

3.1安装etcd和Kubernetes

yum -y install etcd kubernetes

3.2 修改etcd配置

#  cat /etc/etcd/etcd.conf |grep -Ev '^[[:space:]].*|^#'
ETCD_DATA_DIR="/var/lib/etcd/default.etcd"
ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379"   #修改点
ETCD_NAME="default"
ETCD_ADVERTISE_CLIENT_URLS="http://localhost:2379"

3.3 修改Kubernetes API Server配置

# cat /etc/kubernetes/apiserver |grep -Ev '^[[:space:]].*|^#'

KUBE_API_ADDRESS="--insecure-bind-address=0.0.0.0"  #修改点



KUBE_ETCD_SERVERS="--etcd-servers=http://127.0.0.1:2379"

KUBE_SERVICE_ADDRESSES="--service-cluster-ip-range=10.254.0.0/16"

KUBE_ADMISSION_CONTROL="--admission-control=NamespaceLifecycle,NamespaceExists,LimitRanger,ResourceQuota"
KUBE_API_ARGS=""

3.4 启动etcd、kube-apiserver、kube-controller-manager、kube-scheduler服务

#cat startservice.sh
for SERVICES in etcd kube-apiserver kube-controller-manager kube-scheduler; do
systemctl restart $SERVICES
systemctl enable $SERVICES
systemctl status $SERVICES
done

3.5 在etcd中配置flannel网络

#设置网段
etcdctl mk /atomic.io/network/config '{"Network":"172.17.0.0/16"}'
#查看设置是否成功
etcdctl get /atomic.io/network/config

4.配置node节点

yum -y install flannel kubernetes

4.1 修改flannel配置

cat /etc/sysconfig/flanneld |grep -Ev '^[[:space:]].*|^#'
#flannel配置
FLANNEL_ETCD_ENDPOINTS="http://192.168.42.128:2379"  #mast节点ip
FLANNEL_ETCD_PREFIX="/atomic.io/network"

4.2修改Kubernetes配置

cat /etc/kubernetes/config |grep -Ev '^[[:space:]].*|^#'
#Kubernetes配置
KUBE_LOGTOSTDERR="--logtostderr=true"
KUBE_LOG_LEVEL="--v=0"
KUBE_ALLOW_PRIV="--allow-privileged=false"
KUBE_MASTER="--master=http://192.168.42.128:8080"  #mastIP:8080 8080端口是 kube-apiservice服务的端口
 

4.3 修改kubelet配置

KUBELET_ADDRESS="--address=0.0.0.0"
KUBELET_PORT="--port=10250"
KUBELET_HOSTNAME="--hostname-override=192.168.42.131" #node节点自己的ip
KUBELET_API_SERVER="--api-servers=http://192.168.42.128:8080"
KUBELET_POD_INFRA_CONTAINER="--pod-infra-container-image=registry.access.redhat.com/rhel7/pod-infrastructure:latest"
KUBELET_ARGS=""

4.4启动kube-proxy,kubelet,docker,flanneld服务:

#cat startservice.sh 
for SERVICES in kube-proxy kubelet docker flanneld; do
systemctl restart $SERVICES
systemctl enable $SERVICES
systemctl status $SERVICES
done

5.验证结果

mast节点上输入

kubectl get nodes

[root@mast home]# kubectl get nodes
NAME STATUS AGE
192.168.42.130 Ready 1d
192.168.42.131 Ready 1d

猜你喜欢

转载自www.cnblogs.com/xiaoqianglwq/p/10832998.html