云原生Kubernetes: Ubuntu 安装 K8S 1.23版本(单Master架构) 及故障恢复

目录

一、实验

1.环境

2.安装 Ubuntu

3.连接Ubuntu

4.master节点安装docker

5.node节点安装docker

6.master节点安装K8S

7.添加K8S工作节点

8.安装网络插件calico

9.故障

10.故障恢复

11.测试k8s网络和coredns

二、问题

1.Ubuntu如何修改镜像源

2.Ubuntu和Windows之间如何实现复制粘贴

3.Ubuntu如何开启openssh-server

4.UbuntuSSH连接失败

5.Ubuntu ping不通

6.更新apt源和安装基础软件包报错

7. master更新镜像源报错

8.Ubuntu如何安装rz命令


一、实验

1.环境

(1)主机

表1 主机

主机 架构 版本 IP 备注
master1 K8S master节点 1.23.1 192.168.204.102

node1 K8S node节点 1.23.1  192.168.204.104

2.安装 Ubuntu

(1) 选择版本

ubuntu-20.04.3-desktop-amd64

(2)系统检查

云原生Kubernetes: Ubuntu 安装 K8S 1.23版本(单Master架构) 及故障恢复_第1张图片

(3)等待

云原生Kubernetes: Ubuntu 安装 K8S 1.23版本(单Master架构) 及故障恢复_第2张图片

(4)选择语言

云原生Kubernetes: Ubuntu 安装 K8S 1.23版本(单Master架构) 及故障恢复_第3张图片

(5)键盘布局

云原生Kubernetes: Ubuntu 安装 K8S 1.23版本(单Master架构) 及故障恢复_第4张图片

(6)更新和其他软件

云原生Kubernetes: Ubuntu 安装 K8S 1.23版本(单Master架构) 及故障恢复_第5张图片

(7)时区

(8)磁盘

云原生Kubernetes: Ubuntu 安装 K8S 1.23版本(单Master架构) 及故障恢复_第6张图片

(9)用户

云原生Kubernetes: Ubuntu 安装 K8S 1.23版本(单Master架构) 及故障恢复_第7张图片

(10)安装

云原生Kubernetes: Ubuntu 安装 K8S 1.23版本(单Master架构) 及故障恢复_第8张图片

(11)重启

云原生Kubernetes: Ubuntu 安装 K8S 1.23版本(单Master架构) 及故障恢复_第9张图片

3.连接Ubuntu

(1)设置密码

1)先用安装时候的用户登录进入系统

2)输入:sudo passwd  按回车

3)输入新密码,重复输入密码,最后提示passwd:password updated sucessfully
此时已完成root密码的设置

4)输入:su root
切换用户到root试试.

云原生Kubernetes: Ubuntu 安装 K8S 1.23版本(单Master架构) 及故障恢复_第10张图片

(2)网络

ip a

云原生Kubernetes: Ubuntu 安装 K8S 1.23版本(单Master架构) 及故障恢复_第11张图片

(3)修改机器主机名

master1

hostnamectl set-hostname master1 && bash

node1

hostnamectl set-hostname node1 && bash

(4)安装vim

sudo apt-get install vim

(5)安装网络工具

apt install net-tools

云原生Kubernetes: Ubuntu 安装 K8S 1.23版本(单Master架构) 及故障恢复_第12张图片

(6)修改网卡

sudo vim /etc/network/interfaces
​
auto ens33
iface ens33 inet static
address 192.168.204.102
netmask 255.255.255.0
gateway 192.168.204.2
dns-nameserver 8.8.8.8

云原生Kubernetes: Ubuntu 安装 K8S 1.23版本(单Master架构) 及故障恢复_第13张图片

(7)重启

reboot

云原生Kubernetes: Ubuntu 安装 K8S 1.23版本(单Master架构) 及故障恢复_第14张图片

(8) 修改域名

vim /etc/hosts

云原生Kubernetes: Ubuntu 安装 K8S 1.23版本(单Master架构) 及故障恢复_第15张图片

(8)更新apt源和安装基础软件包

apt-get update && sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common gnupg2

4.master节点安装docker

(1)把下载的key添加到本地trusted数据库中

curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

(2)设置稳定版仓库

sudo add-apt-repository \
   "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/ \
  $(lsb_release -cs) \
  stable"

云原生Kubernetes: Ubuntu 安装 K8S 1.23版本(单Master架构) 及故障恢复_第16张图片

(3) 安装Docker

sudo apt-get install docker-ce docker-ce-cli containerd.io -y

(4) 配置Docker驱动

cat <

云原生Kubernetes: Ubuntu 安装 K8S 1.23版本(单Master架构) 及故障恢复_第17张图片

(5)开机自启

mkdir -p /etc/systemd/system/docker.service.d

systemctl daemon-reload

systemctl restart docker

systemctl enable --now docker

5.node节点安装docker

(1) 安装过程

与master节点相同,这里省略。

6.master节点安装K8S

(1)更新

 apt-get update && apt-get install -y apt-transport-https curl 

云原生Kubernetes: Ubuntu 安装 K8S 1.23版本(单Master架构) 及故障恢复_第18张图片

(2)镜像加速

cat </etc/apt/sources.list.d/kubernetes.list
deb http://mirrors.ustc.edu.cn/kubernetes/apt kubernetes-xenial main
EOF

(3)安装

apt-get install -y kubelet=1.23.1-00 kubeadm=1.23.1-00 kubectl=1.23.1-00

(4)标记指定软件包为保留(held back),阻止软件自动更新

apt-mark hold kubelet kubeadm kubectl 

云原生Kubernetes: Ubuntu 安装 K8S 1.23版本(单Master架构) 及故障恢复_第19张图片

(5)关闭交换分区

 swapoff -a

(6)初始化K8S

kubeadm init --apiserver-advertise-address 192.168.204.102 --image-repository registry.cn-hangzhou.aliyuncs.com/google_containers --pod-network-cidr=10.244.0.0/16 --ignore-preflight-errors=SystemVerification

云原生Kubernetes: Ubuntu 安装 K8S 1.23版本(单Master架构) 及故障恢复_第20张图片云原生Kubernetes: Ubuntu 安装 K8S 1.23版本(单Master架构) 及故障恢复_第21张图片

(7)配置文件

 
mkdir -p $HOME/.kube

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

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

7.添加K8S工作节点

(1)更新

apt-get update && apt-get install -y apt-transport-https curl 

云原生Kubernetes: Ubuntu 安装 K8S 1.23版本(单Master架构) 及故障恢复_第22张图片

 (2)镜像加速

cat </etc/apt/sources.list.d/kubernetes.list
deb http://mirrors.ustc.edu.cn/kubernetes/apt kubernetes-xenial main
EOF

(3)安装

apt-get install -y kubelet=1.23.1-00 kubeadm=1.23.1-00 kubectl=1.23.1-00

 (4)标记指定软件包为保留(held back),阻止软件自动更新

apt-mark hold kubelet kubeadm kubectl 

 (5)关闭交换分区

 swapoff -a

(6)在master1上查看加入节点的命令

 kubeadm token create --print-join-command

(7)在node1执行命令

云原生Kubernetes: Ubuntu 安装 K8S 1.23版本(单Master架构) 及故障恢复_第23张图片

(8)查看

kubectl get node

8.安装网络插件calico

(1)下载配置文件

https://docs.projectcalico.org/manifests/calico.yaml

(2)修改配置文件

(3)安装

kubectl apply -f  calico.yaml

云原生Kubernetes: Ubuntu 安装 K8S 1.23版本(单Master架构) 及故障恢复_第24张图片

9.故障

(1)故障描述

此时磁盘大小不够崩溃

(2)查看pod状态

kubectl get pod --all-namespaces

云原生Kubernetes: Ubuntu 安装 K8S 1.23版本(单Master架构) 及故障恢复_第25张图片

尝试再次初始化报错ERROR

云原生Kubernetes: Ubuntu 安装 K8S 1.23版本(单Master架构) 及故障恢复_第26张图片

10.故障恢复

(1)重置kubeadm

kubeadm reset

出现删除提示

云原生Kubernetes: Ubuntu 安装 K8S 1.23版本(单Master架构) 及故障恢复_第27张图片

(2) 删除配置文件

云原生Kubernetes: Ubuntu 安装 K8S 1.23版本(单Master架构) 及故障恢复_第28张图片

(3)关闭swap 测试

sed -ri 's/.*swap.*/#&/' /etc/fstab
swapoff -a

云原生Kubernetes: Ubuntu 安装 K8S 1.23版本(单Master架构) 及故障恢复_第29张图片

(4)再次重置kubeadm

kubeadm reset

云原生Kubernetes: Ubuntu 安装 K8S 1.23版本(单Master架构) 及故障恢复_第30张图片

(5)初始化

kubeadm init --apiserver-advertise-address 192.168.204.102 --image-repository registry.cn-hangzhou.aliyuncs.com/google_containers --pod-network-cidr=10.244.0.0/16 --ignore-preflight-errors=SystemVerification

云原生Kubernetes: Ubuntu 安装 K8S 1.23版本(单Master架构) 及故障恢复_第31张图片云原生Kubernetes: Ubuntu 安装 K8S 1.23版本(单Master架构) 及故障恢复_第32张图片

(6) 配置文件

 
mkdir -p $HOME/.kube

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

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

(7)在master1上查看加入节点的命令

kubeadm token create --print-join-command
kubeadm join 192.168.204.102:6443 --token d70wh5.gyvrmwa62w91hhoa --discovery-token-ca-cert-hash sha256:765a563a7ba90c23da4c375ec99dd434763ca43512e27c6ae38ce0bd67a6234d

(8)从节点加入失败

systemctl stop kubelet

systemctl stop docker

rm -rf /var/lib/cni/ /var/lib/kubelet/* /etc/cni/

ifconfig docker0 down

systemctl start docker

free -m

云原生Kubernetes: Ubuntu 安装 K8S 1.23版本(单Master架构) 及故障恢复_第33张图片

(9)删除文件重新加入

rm -rf /etc/kubernetes/kubelet.conf

rm -rf /etc/kubernetes/pki/ca.crt

云原生Kubernetes: Ubuntu 安装 K8S 1.23版本(单Master架构) 及故障恢复_第34张图片

(10)查看节点状态

kubectl get node

(11) 安装网络插件calico

kubectl apply -f  calico.yaml

云原生Kubernetes: Ubuntu 安装 K8S 1.23版本(单Master架构) 及故障恢复_第35张图片

(12) 观察pod变化

拉取镜像需要一定时间,查看pod状态为running则安装成功。

kubectl get pod --all-namespaces -w

kubectl get pod --all-namespaces

云原生Kubernetes: Ubuntu 安装 K8S 1.23版本(单Master架构) 及故障恢复_第36张图片

云原生Kubernetes: Ubuntu 安装 K8S 1.23版本(单Master架构) 及故障恢复_第37张图片

(13)查看集群状态

 kubectl get node

 kubectl get node -o wide

11.测试k8s网络和coredns

(1)测试

kubectl run busybox --image busybox:1.28 --restart=Never --rm -it busybox -- sh
/ # ping www.baidu.com

/ # nslookup kubernetes.default.svc.cluster.local

/ # exit

云原生Kubernetes: Ubuntu 安装 K8S 1.23版本(单Master架构) 及故障恢复_第38张图片

二、问题

1.Ubuntu如何修改镜像源

(1)自动

选择 “Ubuntu软件 / 源代码 (需验证,输入密码) / 其它站点 / 选择最佳服务器 ”,自动选择合适的镜像源

云原生Kubernetes: Ubuntu 安装 K8S 1.23版本(单Master架构) 及故障恢复_第39张图片云原生Kubernetes: Ubuntu 安装 K8S 1.23版本(单Master架构) 及故障恢复_第40张图片云原生Kubernetes: Ubuntu 安装 K8S 1.23版本(单Master架构) 及故障恢复_第41张图片

(2)手动

Ubuntu系统中,软件源文件地址为:/etc/apt/sources.list

1)备份原来的源,将以前的源备份一下,以防以后可以用的。
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak

2)打开/etc/apt/sources.list文件,在前面添加如下条目,并保存。
sudo vim /etc/apt/sources.list(可将vim更换为自己熟悉的编辑器)

#添加阿里源
deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
#添加清华源
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse multiverse

(3)更新

更新源

sudo apt-get update 

云原生Kubernetes: Ubuntu 安装 K8S 1.23版本(单Master架构) 及故障恢复_第42张图片

如出现依赖问题,解决方式如下:

sudo apt-get -f install

更新软件:

sudo apt-get upgrade

云原生Kubernetes: Ubuntu 安装 K8S 1.23版本(单Master架构) 及故障恢复_第43张图片

2.Ubuntu和Windows之间如何实现复制粘贴

(1)命令

apt-get autoremove open-vm-tools

sudo apt-get install open-vm-tools-desktop

3.Ubuntu如何开启openssh-server

(1) 开启命令

要在Ubuntu主机开启SSH服务,需要开启openssh-server命令

(2)下载SSH服务

sudo apt-get install openssh-server 

(3)执行下句,验证下载后是否已经开启了服务

#如果只有ssh-agent表示还没启动
ps -e | grep ssh

(4)开启服务

#如果显示sshd则说明已启动成功
/etc/init.d/ssh start

4.UbuntuSSH连接失败

(1)修改配置文件

1)进入终端窗口
2)进入root权限。输入命令:sudo su,回车后输入密码即可。
3)打开ssh服务器的配置文件,输入命令:vi /etc/ssh/sshd_config
4)在弹出窗口中找到Authentication,使用vi命令修改其中PermitRootLogin后的prohibit-password为yes(如果不会使用vi命令,参考下面的注意)。

修改前

修改后

(2)重新启动

 重新启动ssh服务器,输入命令

sudo /etc/init.d/ssh restart

 重新使用XShell工具进行连接

 云原生Kubernetes: Ubuntu 安装 K8S 1.23版本(单Master架构) 及故障恢复_第44张图片

5.Ubuntu ping不

(1)修改网卡

输入命令sudo vim /etc/network/interfaces,编辑该文件。注意此处 ens33 处用自己的网卡编号替换,address和gateway也是要视自己的情况定的。

auto lo
iface lo inet loopback

auto ens33
iface ens33 inet static
address 192.168.204.102
netmask 255.255.255.0
gateway 192.168.204.2
dns-nameserver 8.8.8.8

云原生Kubernetes: Ubuntu 安装 K8S 1.23版本(单Master架构) 及故障恢复_第45张图片

(2)保存退出

wq 保存退出,此时ping一些自己的内网应该是可以ping通的了。要是ping www.baidu.com还是ping不通的,接下来就需要继续接着做。

(3)DNS解析

在命令行输入sudo vim /etc/systemd/resolved.conf 修改改文件:将DNS前的 # 号去掉,然后加上DNS服务器地址即可。

(4)重启网络服务

 sudo /etc/init.d/ network-manager force-reload  ==> 重新加载网路配置文件
sudo /etc/init.d/network-manager restart

(5)安装ifupdown

apt install ifupdown

云原生Kubernetes: Ubuntu 安装 K8S 1.23版本(单Master架构) 及故障恢复_第46张图片

云原生Kubernetes: Ubuntu 安装 K8S 1.23版本(单Master架构) 及故障恢复_第47张图片

(6)再次修改网卡

sudo vim /etc/network/interfaces
auto ens33
iface ens33 inet static
address 192.168.204.102
netmask 255.255.255.0
gateway 192.168.204.2
dns-nameserver 8.8.8.8

​

云原生Kubernetes: Ubuntu 安装 K8S 1.23版本(单Master架构) 及故障恢复_第48张图片

(7)重启

reboot

(8)重启Ubuntu

su root

云原生Kubernetes: Ubuntu 安装 K8S 1.23版本(单Master架构) 及故障恢复_第49张图片

(9)ping

云原生Kubernetes: Ubuntu 安装 K8S 1.23版本(单Master架构) 及故障恢复_第50张图片

6.更新apt源和安装基础软件包报错

(1)报错

(2)原因分析

锁定。

(3)解决方法

sudo rm /var/lib/apt/lists/lock
sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/lock*
sudo dpkg --configure -a
sudo apt update

7. master更新镜像源报错

(1)报错

云原生Kubernetes: Ubuntu 安装 K8S 1.23版本(单Master架构) 及故障恢复_第51张图片

(2)原因分析

没有公钥

(3)解决方法

添加公钥

apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 8B57C5C2836F4BEB 

成功

云原生Kubernetes: Ubuntu 安装 K8S 1.23版本(单Master架构) 及故障恢复_第52张图片

8.Ubuntu如何安装rz命令

(1)安装

apt install lrzsz

云原生Kubernetes: Ubuntu 安装 K8S 1.23版本(单Master架构) 及故障恢复_第53张图片云原生Kubernetes: Ubuntu 安装 K8S 1.23版本(单Master架构) 及故障恢复_第54张图片

你可能感兴趣的:(云原生Kubernetes,云原生,kubernetes,架构,云计算,运维,ubuntu)