K8S详细搭建过程以及可视化界面

一:准备三台虚拟机【过程略】

  1. #所有主机关闭防火墙和selinux
    systemctl stop firewalld
    iptables –F
    setenforce 0
  2. #所有主机配置主机名与hosts映射
    hostname k8s-masters
    bash
    vim /etc/hosts
    添加内容:
    192.168.43.78 k8s-master master
    192.168.43.41 k8s-node1 nod1
    192.168.43.22 k8s-node2 node2
    在这里插入图片描述
    scp /etc/hosts 192.168.43.41:/etc/
    在这里插入图片描述
    scp /etc/hosts 192.168.43.22:/etc/
    二:安装Docker-re
  3. 所有主机安装docker
    yum -y install yum-utils device-mapper-persistent-data lvm2
    curl https://download.docker.com/linux/centos/docker-ce.repo -o /etc/yum.repos.d/docker-ce.repo
    在这里插入图片描述
    yum –y install docker-ce
    systemctl start docker
    systemctl enable docker
    docker version
    在这里插入图片描述
  4. 阿里云镜像加速器
    cat < /etc/docker/daemon.json

{
“registry-mirrors”:[“https://nyakyfun.mirror.aliyuncs.com”]
}
END
在这里插入图片描述
systemctl daemon-reload
systemctl restart docker

  1. 所有主机关闭swap
    swapoff -a
    echo “/usr/bin/swapoff -a” >>/etc/rc.local
    chmod +x /etc/rc.local
  2. 所有主机配置内核参数
    vim /etc/sysctl.d/k8s.conf
    填写内容:
    net.bridge.bridge-nf-call-ip6tables = 1
    net.bridge.bridge-nf-call-iptables = 1
    net.ipv4.ip_nolocal_bind=1
    net.ipv4.ip_forward=1
    vm.swappiness=0
    在这里插入图片描述

sysctl --system
在这里插入图片描述
5) 加载必要的内核模块
vim /etc/sysconfig/modules/ipvs.modules
填写内容:
#!/bin/bash
modprobe --ip_vs
modprobe --ip_vs_rr
modprobe --ip_vs_wrr
modprobe --ip_vs_sh
modprobe --nf_conntrack_ipv4
在这里插入图片描述
chmod +x /etc/sysconfig/modules/ipvs.modules
/etc/sysconfig/modules/ipvs.modules
在这里插入图片描述
6) 所有主机添加kubeadm的yum源【在此使用阿里的镜像站】
cat < /etc/yum.repos.d/kubernetes.repo

[kuberneten]
name=Kubernetes Repo
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
gpgcheck=0
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
END
在这里插入图片描述
yum clean all && yum -y makecache

  1. 配置master节点
     安装所需要的软件包
    yum -y install kubeadm kubectl kubelet ipvsadm
     初始化master节点
    kubeadm init
    –apiserver-advertise-address=192.168.43.78
    –image-repository registry.aliyuncs.com/google_containers
    –kubernetes-version v1.17.4
    –service-cidr=10.1.0.0/16
    –pod-network-cidr=10.244.0.0/16

在这里插入图片描述
8) 初始化时[kubeconfig]步骤生成的admin。conf拷贝到.kube/config
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown ( i d − u ) : (id -u): (idu):(id -g) $HOME/.kube/config
9) 验证master各组件运行状态
kubectl get cs
在这里插入图片描述
kubectl get pods –A
在这里插入图片描述
kubectl get nodes
在这里插入图片描述
10) 配置两台node节点,在node节点安装kubeadm kubelet ipvsadm
yum -y install kubeadm kubectl kubelet ipvsadm
在这里插入图片描述
kubeadm join 192.168.43.78:6443 --token yxg25n.7erwyjbntq82jgsy
–discovery-token-ca-cert-hash sha256:89d218c23a13672fab1f4601b9ff6002e37a0c0da7694d63ab460db3464e27f4
注意:
如果显示下图的值过期请执行:kubeadm token create --print-join-command,重新生成token
在这里插入图片描述
出现下图表示成功:
在这里插入图片描述
回到master节点查看node信息:
kubectl get nodes
在这里插入图片描述
11) 部署网络插件flannel,master节点NotRead的原因是没有使用任何的网络查件,此时node和master的连接还属于不正常,在此安装flannel。
【在master节点执行,执行后需要等flannel的pods运行起来会需要时间】
yum -y install wget
wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
sed -i ‘s@quay.io@quay.azk8s.cn@g’ kube-flannel.yml
kubectl apply -f kube-flannel.yml
在这里插入图片描述
kubectl get nodes
在这里插入图片描述
kubectl get pods -n kube-system
在这里插入图片描述

三:部署Dashboard仪表盘【在master主机操作】

  1. 下载下载kubernetes-dashboard.yaml文件,部署Dashboard
    wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-beta1/aio/deploy/recommended.yaml
    将下载的yaml文件中的 images 修改为 lizhenliang/kubernetes-dashboard-amd64:v1.10.1,默认 Dashboard 只能集群内部访问,修改 type 为 NodePort 类型,暴露到外部 30001 端口:
    在这里插入图片描述
    在这里插入图片描述
    kubectl apply -f kubernetes-dashboard.yaml #执行安装命令
    在这里插入图片描述
  2. 使用火狐浏览器访问
    访问地址:https://master节点IP:30001
    在这里插入图片描述
  3. 创建用户
    vim dashboard-adminuser.yaml
    在这里插入图片描述
    kubectl apply -f recommended.yaml
    在这里插入图片描述
  4. 绑定角色
    vim admin-user-role-binding.yaml
    内容:
    apiVersion: bac.authorization.k8s.io/ v1
    kind: ClusterRoleBinding
    metadata:
    name: admin-user
    roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: ClusterRole
    name: cluster-admin
    subjects:
  • kind: ServiceAccount
    name: admin-user
    namespace: kube-system
    在这里插入图片描述
    kubectl create -f admin-user-role-binding.yaml
    查看对外暴露的端口号:
    kubectl get svc -n kubernetes-dashboard
    在这里插入图片描述
  1. 获取tocken
    kubectl get secret -n kubernetes-dashboard
    在这里插入图片描述
    kubectl describe secret kubernetes-dashboard-token-l2p57 -n kubernetes-dashboard
    在这里插入图片描述
  2. 通过火狐浏览器访问https://master主机IP:3001
    在这里插入图片描述
    在这里插入图片描述
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值