K8S集群安装
K8S集群安装
- 安装过程
- master设置
- 设置主机的时区
- 设置主机的名称
- 在hosts文件中添加解析
- 关闭selinux和防火墙
- 查看docker info的Cgroups Driver
- 安装kubeadm,kubectl,kubelet
- 镜像安装k8s
- 部署flannel网络
- node设置
- 部署k8s的dashboard
本文记录在CentoOS7上安装K8S集群。
环境配置:
master : 10.192.33.249
node1 : 10.192.33.248
两台机器均已安装Docker18.06,没有配置docker的registry,且都已经配置为自启动
安装过程
master设置
设置主机的时区
timedatectl set-timezone Asia/Shanghai
设置主机的名称
hostnamectl set-hostname master
在hosts文件中添加解析
打开文件/etc/hosts
# 在下方添加以下内容
10.192.33.249 master
10.192.33.248 node1
关闭selinux和防火墙
sed -i 's/SELINUX=enforcing/SELINUX=disable/g' /etc/selinux/config
setenforce 0
systemctl disable firewalld
systemctl stop firewalld
查看docker info的Cgroups Driver
docker和K8s的cgroup driver要一致,如果docker的不是cgroups,需要修改达成一致。
cat << EOF > /etc/docker/daemon.json
{
"exec-opts":["native.cgroupdriver=cgroupfs"]
}
EOF
systemctl daemon-reload && systemctl restart docker
安装kubeadm,kubectl,kubelet
kubeadmin 是集群部署工具
kubectl是集群管理工具,通过command来管理集群
kubelet是集群每个节点的docker服务管理服务
修改kubelet的配置是用cgroupfs,与docker保持一致,并且重启kubelet服务
sed -i "s/cgroup-driver=systemd/cgroup-driver=cgroupfs/g" /etc/systemd/system/kubelet.service.d/10-kubeadm.conf
systemctl daemon-reload && systectl restart kubelet
关闭swap,修改iptables
swapoff -a
编辑/etc/fstab
注释掉swap一行
cat << EOF > /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge.nf-call-iptables = 1
EOF
sysctl --system
镜像安装k8s
docker load -i k8s-images-1.10.tar.gz
#使用kubeadmin init部署master节点
kubeadm init --kubernetes-version=v1.10.1 --pod-network-cidr=10.244.0.0/16
#执行完之后记录下join命令,等下加入集群的时候会用到
mkdir -p $HOME/.kube
cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
chown $(id -u):$(id -g) $HOME/.kube/config
#配置KUBECONFIG
echo "export KUBECONFIG=/etc/kubernetes/admin.conf" >> /etc/profile
source /etc/profile
部署flannel网络
kubectl apply -f kube-flannel.yml
node设置
上述的内容与上边一致
配置完了需要将admin.conf拷贝到node机器上
执行返回的join命令
即可看到加入成功
部署k8s的dashboard
kubectl apply -f kubernetes-dashboard-http.yaml
kubectl apply -f admin-role.yaml
kubectl apply -f kubernetes-dashboard-admin.rbac.yaml
访问31000端口就可以看到UI了
还没有评论,来说两句吧...