1. 物理服务器条件:

Server 51: 192.168.2.51 , ubuntu  -->set to master & worker

Server 51: 192.168.2.52, ubuntu  -->set to worker node

Intel(R) Xeon(R) Silver 4210R CPU @ 2.40GHz x 2 Sockets

共40 vCPU:
    NUMA node0 CPU(s):   0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38

NUMA node1 CPU(s):   1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,3

内存共64G

主机操作系统版本:

Linux c-PowerEdge-R740 5.11.0-27-generic #29~20.04.1-Ubuntu SMP Wed Aug 11 15:58:17 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

2. 设置环境依赖

来自 <Ubuntu 20.04安装Kubernetes高可用集群 | 瓷房子-找我带菜>

2.1 kubeadm依赖br-netfilter以及对应设置,需要如下配置:

cat <<EOF | sudo tee /etc/modules-load.d/k8s.conf
> br_netfilter
> EOF
cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf
> net.bridge.bridge-nf-call-ip6tables = 1
> net.bridge.bridge-nf-call-iptables = 1
> EOF

2.2 改hostname和hosts: master-node (192.168.2.51)和worker-node (52)

加这个,后面安装network要用:199.232.68.133                raw.githubusercontent.com

2.3 去掉swap:

临时去掉

sudo swapoff -a

长久去掉

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

或直接注释掉

来自 <ubuntu禁用虚拟内存swap | KaisaWind博客>

#然后重启服务

sudo sysctl --system

3. 安装Docker

Docker的安装流程参考官网链接:

Install Docker Engine on Ubuntu | Docker Documentation

3.1 通过apt安装插件程序如下:

 sudo apt-get install \apt-transport-https \ca-certificates \curl \gnupg \lsb-release

3.2 下载安装docker archive的证书:

​curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

3.3 向apt添加Docker的安装源:

​echo \"deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] Index of linux/ubuntu/ \$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

3.4 安装Docker程序:

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

3.5 设置cgroup driver为systemd(与下一起设置)

Docker安装完成之后,还需要进行配置,配置Docker使用systemd作为cgroup driver,具体如下:

sudo mkdir /etc/docker
cat <<EOF | sudo tee /etc/docker/daemon.json
{"exec-opts": ["native.cgroupdriver=systemd"],"log-driver": "json-file","log-opts": {"max-size": "100m"},"registry-mirrors": ["https://registry.cn-hangzhou.aliyuncs.com"],"storage-driver": "overlay2"
}
EOF

3.6 设置docker-hub国内代理

国内无法访问Docker Hub,所以这里可以选择性的给Docker设置一个代理,

/etc/docker/daemon.json里加一行:

sudo mkdir /etc/docker
cat <<EOF | sudo tee /etc/docker/daemon.json
{"exec-opts": ["native.cgroupdriver=systemd"],"log-driver": "json-file","log-opts": {"max-size": "100m"},"registry-mirrors": ["https://registry.cn-hangzhou.aliyuncs.com"],"storage-driver": "overlay2"
}
EOF

3.7 重启Docker服务:

sudo systemctl daemon-reload
sudo systemctl restart docker

4. 安装Kubernetes

4.1 安装kubeadm、kubelet和kubectl

这个安装流程参考官网链接:

1

Installing kubeadm | Kubernetes

(1条消息) 国内安装K8S镜像源_寰宇001的博客-CSDN博客_k8s 镜像源

4.1.1 先添加Kubernetes下载安装需要的证书:

sudo curl -fsSLo /usr/share/keyrings/kubernetes-archive-keyring.gpg https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg

4.1.2 添加Kubernetes安装源到apt:

echo "deb [signed-by=/usr/share/keyrings/kubernetes-archive-keyring.gpg] https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list

4.1.3 安装kubeadm、kubelet和kubectl:

sudo apt-get update
sudo apt-get install -y kubelet kubeadm kubectlsudo apt-get install -y kubelet=1.23.6-00 kubeadm=1.23.6-00 kubectl=1.23.5-00 --allow-downgrades  #版本降级,否则worker node可能会因为版本问题出现flannel错误的问题:

4.1.4 防止kubelet、kubeadm和kubectl自动更新版本,这里将软件版本做mark hold:

sudo apt-mark hold kubelet kubeadm kubectl

4.2 安装Master -- kubeadm init

4.2.1 查看kubeadm init,需要的包:

c@master-node:~$  kubeadm config  images  list

k8s.gcr.io/kube-apiserver:v1.23.3

k8s.gcr.io/kube-controller-manager:v1.23.3

k8s.gcr.io/kube-scheduler:v1.23.3

k8s.gcr.io/kube-proxy:v1.23.3

k8s.gcr.io/pause:3.6

k8s.gcr.io/etcd:3.5.1-0

k8s.gcr.io/coredns/coredns:v1.8.6

4.2.2 可以试一下是否可以拉下来:

kubeadm config images pull

失败的话,需要使用国内镜像 国内镜像 - Kubernetes指南 (feisky.xyz)

4.2.3 使用ali镜像安装:

来自 <ubuntu 安装 k8s - 简书>

sudo kubeadm init --apiserver-advertise-address=192.168.2.51 --image-repository registry.aliyuncs.com/google_containers --pod-network-cidr=10.244.0.0/16

失败:reboot后,kubeadm resetkubeadm init 就好了

如果在初始化过程中出现了任何Error导致初始化终止了,使用kubeadm reset重置之后再重新进行初始化。

4.2.4 配置 kubectl,根据安装成功后面提示:

To start using your cluster, you need to run the following as a regular user:

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

Alternatively, if you are the root user, you can run:

export KUBECONFIG=/etc/kubernetes/admin.conf

关了窗口,重进入,就可以显示了

4.2.5 Deploying a pod network

You should now deploy a pod network to the cluster.

Run "kubectl apply -f [podnetwork].yaml" with one of the options listed at:

Installing Addons | Kubernetes

node是NotReady,需要安装网络才可以Ready

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

进行网络插件安装前,先配置名称解析,防止访问不了:

vim /etc/hosts,添加如下(前面已经添加)

199.232.68.133   raw.githubusercontent.com

来自 <Ubuntu 18.04安装单master K8s集群_yrbwxt的博客-CSDN博客>

再执行:

flannel变成running后,coredn也是 running了, Node变成Ready

4.2.6 设置master同时为worker node

检查pod状态发现一直处于pending状态,是因为master结点默认不允许部署pod。设置master部署pod命令如下:

kubectl taint nodes --all node-role.kubernetes.io/master-

master禁止部署pod命令如下:

kubectl taint nodes k8s node-role.kubernetes.io/master=true:NoSchedule

4.3 安装worker node

4.3.1 执行 1 - 4.1步 设置/etc/hosts及docker

把 master node加入到/etc/hosts里; 也要修改master node上的/etc/hosts把worker-node加入

4.3.2 加入worker node(52)

Then you can join any number of worker nodes by running the following on each as root:

kubeadm join 192.168.2.51:6443 --token 3hy85l.jsfa8f0hc5pja1b7 \--discovery-token-ca-cert-hash sha256:da37b4d18b6bd45bdefc182f97a607c70729e46cd632652f1a279767be43b493

成功加入:

在 master 显示出worker-node:

安装k8s - 阿里云镜像相关推荐

  1. Ubuntu18.04安装docker (阿里云镜像)

    1,安装apt-get系统工具 sudo apt-get update 2,安装允许apt通过HTTPS使用存储库 sudo apt-get -y install apt-transport-http ...

  2. centos7安装docker并配置阿里云镜像

    文章目录 一.安装docker 准备工作: 主要步骤: 二.配置阿里云镜像 1.依次输入以下四条命令: 2.测试 错误记录 一.安装docker 准备工作: CentOS7能上外网 yum -y in ...

  3. 安装Maven和配置阿里云镜像

    本文目录 0. 本文基础环境 1. 下载Maven 1.1 下载新版本的Maven 1.2 下载旧版本的Maven 2. 配置Maven的环境变量 3. 配置本地Maven仓库的路径 4. 配置Mav ...

  4. 最干净利索且下载快速的maven3.6.3安装方式和阿里云镜像

    先说效果,构建Spring Cloud初始项目只用了35s,之前我没用这个镜像半个小时没出来 直接官网下载 http://maven.apache.org/docs/3.5.2/release-not ...

  5. RedHat(红帽子系统)更换yum源为阿里云镜像,成功快速安装gcc

    目录 一.打开网络 二.更换阿里云镜像 三.修改Centos-7.repo文件 四.安装gcc 五.成功安装,查看gcc版本 六.更新yum 一.打开网络 二.更换阿里云镜像 wget -O /etc ...

  6. Pip修改阿里云镜像

    Pip修改阿里云镜像 centos环境修改 Windows平台 centos环境修改 mkdir ~/.pip vi ~/.pip/pip.conf 输入以下内容: # vim ~/.pip/pip. ...

  7. Centos阿里云镜像源

    CentOS,我们有很多人叫它社区企业操作系统,不管你怎么叫它,它都是linux的一个发行版本.CentOS是企业Linux发行版领头羊Red Hat Enterprise Linux(以下称之为RH ...

  8. Docker在windows环境 使用阿里云镜像 pull 报错 x509: certificate signed by unknown authority

    本人使用的环境是 windows7 ,使用docker toolbox安装, 使用的是阿里云镜像,使用阿里云镜像相关操作阿里云上有操作步骤 https://cr.console.aliyun.com/ ...

  9. 镜像即代码:基于Packer构建阿里云镜像

    什么是Packer Packer是HashiCorp推出的一款工具,旨在提供简易的方式自动化构建镜像.通过Packer,你只需要在配置文件中指明镜像构建所需的基本信息及期望安装到镜像中的软件及配置,即 ...

最新文章

  1. 数组去重的正确编写姿势
  2. 7.Nginx_Keepalived高可用配置
  3. C#与Java的比较(转)
  4. 使用Let`s encrypt 免费的https 证书
  5. android studio 动画效果图,Android Studio如何动画移动视图?
  6. java 运算优先级_Java-运算符优先级
  7. 【C】strcpy()需谨慎使用;
  8. 字中字效果-html5实例
  9. mybatis-config.xml常用的配置信息
  10. RTP/RTCP协议详解
  11. 谁“玩死了”共享单车?
  12. Quartz2D绘制路径
  13. java 判断字符串是否是整数
  14. python全栈之巅_Python 迭代器、生成器详解 - Python全栈之巅
  15. xxxxxxxxxccccxcc
  16. ArcView GIS 应用与开发技术(11)-空间分析
  17. VOSviewer:高频关键字段共现网络制作入门教程(以PubMed数据为例)
  18. 通过命名空间快速定位SAP UI5工程名称
  19. 读书笔记 - 简约之美:软件设计之道
  20. 计算机发送到桌面快捷方式,win10怎么把计算机放到桌面快捷方式

热门文章

  1. 安徽农村信用社网银转账显示服务器无响应,农村信用社企业网银转账显示状态无效是怎么回事...
  2. properties语法
  3. Eureka 健康检查
  4. 【全网力荐】堪称最易学的Python基础入门教程
  5. java优化编程 第2版_Java优化编程(第2版)林胜利、王坤茹 pdf
  6. Azure机器学习模型搭建
  7. ipython版本_维护ipython noteb的两个版本
  8. [论文阅读] (20)USENIXSec21 DeepReflect:通过二进制重构发现恶意行为(恶意代码ROI分析经典)
  9. [论文学习]Private traits and attributes are predictable from digital records of human behavior
  10. 百度联盟原负责人周品创办B2C网站