安装k8s - 阿里云镜像

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. 设置环境依赖

来自

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

cat < br_netfilter
> EOF
cat < net.bridge.bridge-nf-call-ip6tables = 1
> net.bridge.bridge-nf-call-iptables = 1
> EOF

安装k8s - 阿里云镜像_第1张图片

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

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

安装k8s - 阿里云镜像_第2张图片

2.3 去掉swap:

安装k8s - 阿里云镜像_第3张图片

临时去掉 

sudo swapoff -a

长久去掉 

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

或直接注释掉

来自

安装k8s - 阿里云镜像_第4张图片

#然后重启服务

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 <

3.6 设置docker-hub国内代理

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

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

sudo mkdir /etc/docker
cat <

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 kubectl

sudo 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)

安装k8s - 阿里云镜像_第5张图片

4.2.3 使用ali镜像安装:

来自

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 就好了

安装k8s - 阿里云镜像_第6张图片

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

安装k8s - 阿里云镜像_第7张图片

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

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

安装k8s - 阿里云镜像_第8张图片

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

来自

安装k8s - 阿里云镜像_第9张图片

再执行:

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

安装k8s - 阿里云镜像_第10张图片

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加入

安装k8s - 阿里云镜像_第11张图片

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

成功加入:安装k8s - 阿里云镜像_第12张图片

在 master 显示出worker-node:

安装k8s - 阿里云镜像_第13张图片

你可能感兴趣的:(云原生,阿里云,ubuntu,k8s,kubernetes)