k8s部署docker集群

使用aliyun的yum源下载安装包
[k8s]
name=1.15.0
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
gpgcheck=0
host node
172.25.14.1 manager
172.25.14.2 worker1
172.25.14.3 worker2

三个节点都做相同配置,只在manager初始化

1、关闭swap,直接使用内存
swapoff -a
vim /etc/fstabl 注释swap
#/dev/mapper/rhel-swap   swap                    swap    defaults        0 0
2、安装kubead kubectl kubelet(1.15.0)
  • cri-tools-1.13.0-0.x86_64.rpm
  • kubectl-1.15.0-0.x86_64.rpm
  • kubernetes-cni-0.7.5-0.x86_64.rpm
  • kubeadm-1.15.0-0.x86_64.rpm
  • kubelet-1.15.0-0.x86_64.rpm
2、导入镜像
# for i in *.tar;do docker load -i $i ; done
  • coredns.tar
  • kube-apiserver.tar
  • kube-proxy.tar
  • pause.tar
  • etcd.tar
  • kube-controller-manager.tar
  • kube-scheduler.tar
  • flannel.tar
3、设置透明网桥
vim /etc/sysctl.d/k8s.coonf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
sysctl --system

在这里插入图片描述

4、manager节点初始化
# kubeadm init --pod-network-cidr=10.244.0.0/16 --apiserver-advertise-address=172.25.14.1

k8s部署docker集群_第1张图片

5、将其他节点加入集群

node1,node2:

[root@server2 ~]# kubeadm join 172.25.14.1:6443 --token lw81ig.qaosqg1ohtdkt8mi \
>     --discovery-token-ca-cert-hash sha256:5d41c372a5d891a3a6cc00112871c8071465618996e53e83ba3dd92dbc56abd5

在这里插入图片描述

6、manager添加普通用户,授权
# useradd k8s
# vim /etc/sudoers

在这里插入图片描述

7、切换至k8s用户执行初始化后的命令
[k8s@server1 ~]$ mkdir -p $HOME/.kube
[k8s@server1 ~]$ sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
[k8s@server1 ~]$ sudo chown $(id -u):$(id -g) $HOME/.kube/config
8、设置kubectl管理命令自动补齐
[k8s@server1 ~]$ echo "source <(kubectl completion bash )" >> ~/.bashrc 
9、集群搭建完成后,在manager端查看节点信息

在这里插入图片描述

  • 节点状态显示为NotReady,根据初始化时提示信息,还需要为集群添加网络
[k8s@server1 ~]$ kubectl apply -f kube-flannel.yml 

k8s部署docker集群_第2张图片查看节点状态信息

[k8s@server1 ~]$ kubectl get nodes --all-namespaces

在这里插入图片描述

[k8s@server1 ~]$ kubectl get nodes

k8s部署docker集群_第3张图片

集群状态已经OK

构建dashboard

创建用户及授权

# vim dashboard-admin.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
  name: admin-user
  namespace: kube-system

---

apiVersion: rbac.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

你可能感兴趣的:(k8s部署docker集群)