k8s dashboard_3分钟使用kubeadm部署k8s集群

kubeadm是官方社区推出的一个用于快速部署kubernetes集群的工具。

这个工具能通过两条指令完成一个kubernetes集群的部署:

d1bbb13107cc1846e4b14167accd8739.png
26355655fcb6da04b0ae0d2435a323b4.png
b89aef39132dd6792a356a800587ffc2.png
e9dfa74f6d1e2a62a4eda3a8629ae65c.png
340c6c14fd43e3c812e76bfa62419c0e.png

在三台机器上都执行一下操作

关闭防火墙:

$ systemctl stop firewalld.service

$ systemctl disable firewalld.service

关闭selinux:

$ sed -i 's/enforcing/disabled/' /etc/selinux/config #

将SELINUX=disabled 然后注释掉最后一行SELINUXTYPE=targeted

f131bc0e091bc7e34e04aa6742249538.png

保存

关闭swap:

$ swapoff -a # 临时

$ vim /etc/fstab # 永久

注释掉最后一行,重启服务器

1584a312ae21e2ad92512209f844fffe.png

设置主机名,分别在3台机器上设置自己对应的主机名

$ hostnamectl set-hostname

在3台机器上添加hosts:

$ cat >> /etc/hosts << EOF

192.168.1.5 k8s-master

192.168.1.6 k8s-node1

192.168.1.7 k8s-node2

EOF

在3台机器上,将桥接的IPv4流量传递到iptables的链:

$ cat > /etc/sysctl.d/k8s.conf << EOF

net.bridge.bridge-nf-call-ip6tables = 1

net.bridge.bridge-nf-call-iptables = 1

EOF

$ sysctl --system # 生效

在3台机器上,时间同步:

$ yum install ntpdate -y

$ ntpdate ntp.tuna.tsinghua.edu.cn

在3台机器上,安装Docker

# step 1: 安装必要的一些系统工具

yum install -y yum-utils device-mapper-persistent-data lvm2

# Step 2: 添加软件源信息

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

# Step 3: 更新并安装 Docker-CE

yum makecache fast

yum -y install docker-ce

# Step 4: 开启Docker服务

systemctl start docker

systemctl enable docker

在3台机器上,设置阿里云镜像容器加速

cat > /etc/docker/daemon.json << EOF

{

"registry-mirrors": ["https://b5xv4sjm.mirror.aliyuncs.com"],

"exec-opts": ["native.cgroupdriver=systemd"]

}

EOF

重启docker服务

在3台机器上,添加阿里云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=1

repo_gpgcheck=1

gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg

EOF

在3台机器上,安装kubeadm,kubelet和kubectl

yum install -y kubelet-1.17.0 kubeadm-1.17.0 kubectl-1.17.0

systemctl enable kubelet

部署Kubernetes Master

$ kubeadm init

--apiserver-advertise-address=192.168.1.5

--image-repository registry.aliyuncs.com/google_containers

--kubernetes-version v1.17.0

--service-cidr=10.96.0.0/12

--pod-network-cidr=10.244.0.0/16

由于默认拉取镜像地址k8s.gcr.io国内无法访问,这里指定阿里云镜像仓库地址。

使用kubectl工具

mkdir -p $HOME/.kube

sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config

sudo chown $(id -u):$(id -g) $HOME/.kube/config

$ kubectl get nodes

安装Pod网络插件(CNI)

kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

注意这里面需要修改 amd64下面的镜像地址为国内的阿里源上的镜像,才能下载下来

首先使用wget 下载该文件,但是raw.githubusercontent.com 的DNS解析器可能无法解析,所以需要使用chrome浏览器或者其他浏览器下载下来

然后进行修改registry.cn-hangzhou.aliyuncs.com/yanl/flannel:v0.12.0-amd64这个镜像可以去阿里的镜像站查询到就行

0073cf610bf792bde91c81072e388c19.png

然后修改为对应地址即可

9c81249c7f95796adc11398386c9fd58.png

然后执行kubectl apply -f kube-flannel.yml即可

查看状态 kubectl get pods -n kube-system

6416ea397eb7faac1ea3651d97bf1dc2.png

为Running状态即可

worker节点加入集群

在192.168.1.6和192.168.1.7执行。

向集群添加新节点,执行在kubeadm init输出的kubeadm join命令:

kubeadm join 192.168.1.5:6443 --token 6u5cka.v0tqq07ju651fqee

--discovery-token-ca-cert-hash sha256:8c4654edaeab8f6d9d6afcd239a531810ac7d4b733998a74a4b183fe2d6d2232

该命令来源是master安装后的日志中显示

7bb7bd4f20269f61a38e70447915271a.png

查看集群节点状态 kubectl get nodes

b842849487a18a5e4a8b37bd1805bb56.png

为Ready即可

2fd737074780fe036a49e92b3888a6a6.png

部署 Dashboard

命令地址

https://github.com/kubernetes/dashboard/releases

e9b1766db4e70542e26f5bf065b29d87.png

还是和上面一样,使用浏览器将 https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.3/aio/deploy/recommended.yaml 文件下载下来,然后修改

其中的image,上面的2个就是需要的

registry.cn-hangzhou.aliyuncs.com/inspur_containers/dashboard:v2.0.0-rc5

b881883b51fb74630d43979fa778825a.png

registry.cn-hangzhou.aliyuncs.com/kubernetes_ns/metrics-scraper:v1.0.4

2f0a545b9bac74a6daeb09029ebd9e9c.png

这2个镜像还是可以去阿里镜像仓库去搜索到然后更改就行

默认Dashboard只能集群内部访问,修改Service为NodePort类型,暴露到外部

6f88dad970fe4abdc60c57f8cf0d29e4.png

访问地址:http://NodeIP:30001

创建service account并绑定默认cluster-admin管理员集群角色:

kubectl create serviceaccount dashboard-admin -n kubernetes-dashboard

kubectl create clusterrolebinding dashboard-admin --clusterrole=cluster-admin --serviceaccount=kubernetes-dashboard:dashboard-admin

kubectl describe secrets -n kubernetes-dashboard $(kubectl -n kubernetes-dashboard get secret | awk '/dashboard-admin/{print $1}')

5f97acc7d7eaf3151bf49a06e6f5496f.png

通过浏览器访问 https://192.168.1.5:30001/#/login

e79f0391f998d52ea1c4b5326daf4e8d.png

即可

6011f59c32109658dcbd9f113cd1e028.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值