k8s安装

准备环境

1.硬件要求:2核CPU 以上 2G内存以上 硬盘默认20G便可

2.准备3台虚拟机,我们这里使用VmWare软件来虚拟3台机器

3.机器需要能访问外网

4.3台机器已经安装好docker,可根据文章docker安装进行操作。

这里我以10.85.69 网段为例,你可以根据你的网络情况改成自己的IP地址

角色IP
master10.85.69.100
node110.85.69.101
node210.85.69.102

linux环境设置

3台机器都要执行以下命令

#禁用防火墙
systemctl stop firewalld
#开机启动禁用防火墙
systemctl disable firewalld

#关闭selinux(关闭linux默认的安全策略,不关闭会修改/etc/selinux/config的内容)
sed -i 's/enforcing/disabled/' /etc/selinux/config 
#把当前会话的默认安全策略也禁掉(或者重启虚拟机应该也可,我是这样理解的)
setenforce 0

#关闭swap(关闭内存交换)(开启内存交换的话,性能会出现很大的问题)
#临时的,只针对当前会话起作用,若会话关闭,重开还是会开启内存交换,所以使用下面一行命令即可
swapoff -a
#永久关闭
sed -ri 's/.*swap.*/#&/' /etc/fstab		
# free -g 验证,swap必须为0;

#添加主机名与IP对应关系(注意:主机名一定不能是localhost,如果是,使用下面命令修改主机名)
vi /etc/hosts
10.85.69.100 master
10.85.69.101 node1
10.85.69.102 node2

#查看主机名命令
hostname
#修改主机名命令
sudo hostnamectl set-hostname <newhostname>

#将桥接的IPv4流量传递到iptables的链
#(如果不执行可能会有些流量统计指标的消失,为了让更精确的统计流量,所以执行此命令)
cat > /etc/sysctl.d/k8s.conf << EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF

echo 1 > /proc/sys/net/bridge/bridge-nf-call-iptables 
# 让系统应用此规则
sysctl --system

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

#执行该命令
yum check-update

主节点安装

#指定版本安装
yum install -y kubelet-1.20.6 kubeadm-1.20.6 kubectl-1.20.6
#设置kubelet开机自启动,并且启动kubelet
systemctl enable kubelet && systemctl start kubelet

#分别是kubernetes版本,apiserver的地址,需要设置为主节点ip,阿里云镜像仓库,service网络,pod网络
#pod网络建议使用10.244.0.0,因为后续安装flannel默认的网段是10.244.0.0
kubeadm init \
--kubernetes-version v1.20.6 \
--apiserver-advertise-address=10.85.69.100 \
--image-repository registry.aliyuncs.com/google_containers \
--service-cidr=10.96.0.0/16 \
--pod-network-cidr=10.244.0.0/16

#kubeadm安装成功后执行
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

#保存kubeadm join 命令,这是子节点加入集群的关键

子节点安装

#不需要安装kubectl
yum install -y kubelet-1.20.6 kubeadm-1.20.6
#设置kubelet开机自启动,并且启动kubelet
systemctl enable kubelet && systemctl start kubelet
#将保存的kubeadm join命令粘贴执行,将子节点加入到集群中
kubeadm join xxx

主节点安装网络插件

根据命令 kubectl get nodes 查看节点信息
在这里插入图片描述

根据命令 kubectl describe node master 查看节点详情,可以看到node状态为NotReady的原因为未安装网络插件
在这里插入图片描述

# 创建yml文件的存放目录
mkdir -p /app/kube/yam && cd /app/kube/yam
#获取flannel的yml文件
wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
#安装flannel插件
kubectl apply -f kube-flannel.yml

若存在先安装calico网络插件不成功,再删除 换成 flannel 插件,pod没有正常启动的情况,则删除掉 /etc/cni/net.d/ 目录下的 calico 配置文件即可,再查看pod应该就能正常启动。

主节点安装dashboard

--安装dashbord
#下载yml文件
wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.4.0/aio/deploy/recommended.yaml
#仿照下方图片进行编辑
vim recommended.yaml
#运行yml文件创建dashboard
kubectl apply -f recommended.yaml
kubectl get pods -n kubernetes-dashboard

在这里插入图片描述

# 此处主要是增加dashboard角色权限,原始的权限太小

# 创建dashboard-admin.yaml文件
vim dashboard-admin.yaml

#dashboard-admin.yaml内容为
apiVersion: v1
kind: ServiceAccount
metadata:
  labels:
    k8s-app: kubernetes-dashboard
  name: dashboard-admin
  namespace: kubernetes-dashboard

#华丽的分隔符************************************************
#执行创建管理员
kubectl applay-f dashboard-admin.yaml

# 创建dashboard-admin-bind-cluster-role.yaml文件
vim dashboard-admin-bind-cluster-role.yaml

#dashboard-admin-bind-cluster-role.yml内容为
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: dashboard-admin-bind-cluster-role
  labels:
    k8s-app: kubernetes-dashboard
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
- kind: ServiceAccount
  name: dashboard-admin
  namespace: kubernetes-dashboard

#华丽的分隔符************************************************
#执行分配权限
kubectl create -f dashboard-admin-bind-cluster-role.yaml

#查看并复制用户Token
kubectl -n kubernetes-dashboard describe secret $(kubectl -n kubernetes-dashboard get secret | grep dashboard-admin | awk '{print $1}')

网页请求https://nodeIp:30000/,输入复制的 token 信息,即可登录dashboard.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值