NUC安装Ubuntu18.04系统
基本信息
Time:2022/3/23
使用NUC版本:猎豹峡谷NUC11PAHi5
(另外加上自己配的 内存、固态)
Ubuntu系统:Ubuntu20.04.4 LTS

前言
许多开发者需要在Ubuntu上搭建K8s,最适合跑微服务架构,

官方NUC镜像只适配到7代 现在11代我们直接用桌面版20.4
安装过程
1.先制作系统安装盘
首先下载镜像烧录软件:UltraISO
然后下载系统镜像 :ubuntu-20.04.4-desktop-amd64.iso
烧写镜像:

安装系统
先开机按F2,进bios, 找到security boot, 禁用
将写入Ubuntu18.04系统的U盘,插到NUC上,NUC开机,按F10,
选择U盘通道;
所有方式都选择英文方式(选择中文的话会出现小bug,可以接受)

键盘布局,【继续】

更新和其他软件,取消【安装Ubuntu时下载更新】选项,点击【继续】。
6. 在 安装类型上 我是选择了第一个,把所有的空间都安装Ubuntu,

7. 按提示走 设置系统

8. 安装完成,进入桌面。

安装k8s环境初始化
#关闭swapswapoff -arm -f swap.imgvim etc/fstab# swap.img#开启ip转发vim etc/sysctl.confnet.ipv4.ip_forward=1#查看状态sysctl -p
安装docker
step1:安装依赖
sudo apt-get updatesudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
step 2: 安装GPG证书
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
Step 3: 写入软件源信息
sudo add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
Step 4: 更新并安装Docker-ce
sudo apt-get -y updateapt install -y docker-ce
Step 5: 安装docker-compose
apt install -y docker-compose
将docker设置为开机自启
systemctl enable docker
安装k8s---添加证书
curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | apt-key add -
添加apt源
cat <<EOF >/etc/apt/sources.list.d/kubernetes.listdeb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial mainEOFapt-get update
查看可安装版本
apt-cache madison kubelet
安装指定版本
apt-get install -y kubelet=1.18.4-00 kubeadm=1.18.4-00 kubectl=1.18.4-00
设置开机启动
sudo systemctl enable kubelet && sudo systemctl start kubelet
查看所需镜像
kubeadm config images list --kubernetes-version=v1.18.4k8s.gcr.io/kube-apiserver:v1.18.4k8s.gcr.io/kube-controller-manager:v1.18.4k8s.gcr.io/kube-scheduler:v1.18.4k8s.gcr.io/kube-proxy:v1.18.4k8s.gcr.io/pause:3.2k8s.gcr.io/etcd:3.4.3-0k8s.gcr.io/coredns:1.6.7
从新地址下载镜像
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-apiserver:v1.18.4docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-controller-manager:v1.18.4docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-scheduler:v1.18.4docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-proxy:v1.18.4docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.2docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/etcd:3.4.3-0docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:1.6.7
为镜像重新打tag
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-apiserver:v1.18.4 k8s.gcr.io/kube-apiserver:v1.18.4docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-controller-manager:v1.18.4 k8s.gcr.io/kube-controller-manager:v1.18.4docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-scheduler:v1.18.4 k8s.gcr.io/kube-scheduler:v1.18.4docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-proxy:v1.18.4 k8s.gcr.io/kube-proxy:v1.18.4docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.2 k8s.gcr.io/pause:3.2docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/etcd:3.4.3-0 k8s.gcr.io/etcd:3.4.3-0docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:1.6.7 k8s.gcr.io/coredns:1.6.7
初始化master节点
kubeadm init --kubernetes-version=v1.18.4 --pod-network-cidr=10.244.0.0/16 --service-cidr=10.96.0.0/12 --ignore-preflight-errors=Swap
初始化完成之后会出现提示,Your Kubernetes control-plane has initialized successfully!,之后将后面的内容保存到一个文件中,先不添加节点检查集群状态是否正常。
kubectl get componentstatus
添加网络组件
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
检查状态
kubectl get pods -n kube-system -l app=flannel
kubectl get nodes
为node的角色打标签
kubectl label node node01 node-role.kubernetes.io/node=node
部署Prometheus+Grafana
#获取相关文件git clone https://gitee.com/liugpwwwroot/k8s-prometheus-grafana.git#部署Node-exporter组件kubectl create -f k8s-prometheus-grafana/node-exporter.yaml#部署prometheus组件kubectl create -f k8s-prometheus-grafana/prometheus/rbac-setup.yamlkubectl create -f k8s-prometheus-grafana/prometheus/configmap.yamlkubectl create -f k8s-prometheus-grafana/prometheus/prometheus.deploy.ymlkubectl create -f k8s-prometheus-grafana/prometheus/prometheus.svc.yml#部署grafana组件kubectl create -f k8s-prometheus-grafana/grafana/grafana-deploy.yamlkubectl create -f k8s-prometheus-grafana/grafana/grafana-svc.yamlkubectl create -f k8s-prometheus-grafana/grafana/grafana-ing.yaml#查看相应服务kubectl get svc -n kube-system
kubectl taint nodes --all node-role.kubernetes.io/master-
文章转载自NUC俱乐部,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




