0
点赞
收藏
分享

微信扫一扫

Kubernetes 小白学习笔记(10)--搭建一个kubernetes集群-组建节点网络

時小白 2022-03-30 阅读 45


一、在master节点上下载所有核心组件


Kubernetes 小白学习笔记(10)--搭建一个kubernetes集群-组建节点网络_重启


Kubernetes 小白学习笔记(10)--搭建一个kubernetes集群-组建节点网络_ide_02


1. 下载镜像

一定要先切换到root用户再下载

Kubernetes 小白学习笔记(10)--搭建一个kubernetes集群-组建节点网络_ide_03

docker pull anjia0532/kube-apiserver-amd64:v1.10.2
docker pull anjia0532/kube-controller-manager-amd64:v1.10.2
docker pull anjia0532/kube-scheduler-amd64:v1.10.2
docker pull anjia0532/kube-proxy-amd64:v1.10.2
docker pull anjia0532/etcd-amd64:3.1.12
docker pull anjia0532/pause-amd64:3.1
docker pull anjia0532/k8s-dns-sidecar-amd64:1.14.8
docker pull anjia0532/k8s-dns-kube-dns-amd64:1.14.8
docker pull anjia0532/k8s-dns-dnsmasq-nanny-amd64:1.14.8

注:

azure开放了gcr(google container registry)的代理:gcr.azk8s.cn,我们也可以通过下面的方式来下载k8s.gcr.io上的镜像文件,以pause-amd64:3.0为例:  

docker pull gcr.azk8s.cn/google_containers/pause-amd64:3.0

下载后再重新打tag。

Kubernetes 小白学习笔记(10)--搭建一个kubernetes集群-组建节点网络_ide_04

Kubernetes 小白学习笔记(10)--搭建一个kubernetes集群-组建节点网络_docker_05

2. 给镜像打标签

docker tag anjia0532/kube-apiserver-amd64:v1.10.2 k8s.gcr.io/kube-apiserver-amd64:v1.10.2
docker tag anjia0532/kube-scheduler-amd64:v1.10.2 k8s.gcr.io/kube-scheduler-amd64:v1.10.2
docker tag anjia0532/kube-controller-manager-amd64:v1.10.2 k8s.gcr.io/kube-controller-manager-amd64:v1.10.2
docker tag anjia0532/kube-proxy-amd64:v1.10.2 k8s.gcr.io/kube-proxy-amd64:v1.10.2
docker tag anjia0532/etcd-amd64:3.1.12 k8s.gcr.io/etcd-amd64:3.1.12
docker tag anjia0532/pause-amd64:3.1 k8s.gcr.io/pause-amd64:3.1
docker tag anjia0532/k8s-dns-sidecar-amd64:1.14.8 k8s.gcr.io/k8s-dns-sidecar-amd64:1.14.8
docker tag anjia0532/k8s-dns-kube-dns-amd64:1.14.8 k8s.gcr.io/k8s-dns-kube-dns-amd64:1.14.8
docker tag anjia0532/k8s-dns-dnsmasq-nanny-amd64:1.14.8 k8s.gcr.io/k8s-dns-dnsmasq-nanny-amd64:1.14.8

Kubernetes 小白学习笔记(10)--搭建一个kubernetes集群-组建节点网络_重启_06

查看是否都下载完了

docker images | grep gcr.io

Kubernetes 小白学习笔记(10)--搭建一个kubernetes集群-组建节点网络_重启_07


二、初始化master节点

Kubernetes 小白学习笔记(10)--搭建一个kubernetes集群-组建节点网络_ide_08

kubeadm init --apiserver-advertise-address=10.0.2.5 --pod-network-cidr=192.168.16.0/20 --ignore-preflight-errors=Swap

# 我自己的配置,此处的192.168.18.132为当前虚拟机的ip
# 这里的kubernetes-version一定要设置成和核心组件相同的版本,比如我们这里应该设置成1.10.2
# kubeadm init --apiserver-advertise-address=192.168.18.132 --pod-network-cidr=192.168.19.0/24 --kubernetes-version=v1.10.2

–pod-network-cidr是指配置节点中的pod的可用IP地址,此为内部IP

–apiserver-advertise-address 为master的IP地址

–kubernetes-version 通过kubectl version 可以查看到

如果报错,可以看看这两个教程

如果报错,则

Kubernetes 小白学习笔记(10)--搭建一个kubernetes集群-组建节点网络_kubernetes_09

vi /etc/fstab

把最后一行,注释了

Kubernetes 小白学习笔记(10)--搭建一个kubernetes集群-组建节点网络_kubernetes_10

重启虚拟机

reboot now

Kubernetes 小白学习笔记(10)--搭建一个kubernetes集群-组建节点网络_kubernetes_11

重启初始化

Kubernetes 小白学习笔记(10)--搭建一个kubernetes集群-组建节点网络_kubernetes_12

保留下面这句,后续备用

Kubernetes 小白学习笔记(10)--搭建一个kubernetes集群-组建节点网络_ide_13

比如我的

kubeadm join 192.168.18.132:6443 --token dvzyxu.wvxaymbz1x666xwv --discovery-token-ca-cert-hash sha256:10432bdce63bc3ee5fe2f7c71a0e0b9f905facea26f956f4fe67054e8d8e0e6b

Kubernetes 小白学习笔记(10)--搭建一个kubernetes集群-组建节点网络_ide_14


Kubernetes 小白学习笔记(10)--搭建一个kubernetes集群-组建节点网络_重启_15




export KUBECONFIG=/etc/kubernetes/admin.conf

kubectl get pods -n kube-system -o wide

Kubernetes 小白学习笔记(10)--搭建一个kubernetes集群-组建节点网络_docker_16


如果要重启,即重新执行init,需要先执行reset

kubeadm reset

Kubernetes 小白学习笔记(10)--搭建一个kubernetes集群-组建节点网络_docker_17

三、安装集群网络

Kubernetes 小白学习笔记(10)--搭建一个kubernetes集群-组建节点网络_重启_18

安装weave cni插件:

方法1:
# kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\n')"

方法2: (应对weave pod启动时出现:Network 10.32.0.0/12 overlaps with existing route xx.xx.xx.xx/16 on host 错误信息)

# curl -L "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\n')" > weave.yaml



vi weave.yaml
添加:IPALLOC_RANGE为192.168.19.0/24



# kubectl apply -f weave.yaml

Kubernetes 小白学习笔记(10)--搭建一个kubernetes集群-组建节点网络_kubernetes_19

Kubernetes 小白学习笔记(10)--搭建一个kubernetes集群-组建节点网络_docker_20


Kubernetes 小白学习笔记(10)--搭建一个kubernetes集群-组建节点网络_ide_21


Kubernetes 小白学习笔记(10)--搭建一个kubernetes集群-组建节点网络_ide_22

kubectl get pods -n kube-system -o wide

Kubernetes 小白学习笔记(10)--搭建一个kubernetes集群-组建节点网络_ide_23


四、worker节点只需要下载pod和proxy

分别安装k8s2和k8s3节点作为worker

1. 下载镜像

docker pull anjia0532/pause-amd64:3.1
docker pull anjia0532/kube-proxy-amd64:v1.10.2

2. 打标签

docker tag anjia0532/pause-amd64:3.1 k8s.gcr.io/pause-amd64:3.1
docker tag anjia0532/kube-proxy-amd64:v1.10.2 k8s.gcr.io/kube-proxy-amd64:v1.10.2



五、将worker节点加入集群

1.在master节点查看所有节点

Kubernetes 小白学习笔记(10)--搭建一个kubernetes集群-组建节点网络_kubernetes_24


kubectl get nodes

Kubernetes 小白学习笔记(10)--搭建一个kubernetes集群-组建节点网络_kubernetes_25


2. 在worker节点执行加入命令

Kubernetes 小白学习笔记(10)--搭建一个kubernetes集群-组建节点网络_ide_26

kubeadm join 192.168.18.132:6443 --token pro2xr.vzzelsp0s09jvd6u --discovery-token-ca-cert-hash sha256:28cb549b407f7d23c61d941459d7cd00849b520e8fb375c1bf22883f19290c00

Kubernetes 小白学习笔记(10)--搭建一个kubernetes集群-组建节点网络_重启_27

Kubernetes 小白学习笔记(10)--搭建一个kubernetes集群-组建节点网络_ide_28

3. 查看效果

kubectl get nodes

Kubernetes 小白学习笔记(10)--搭建一个kubernetes集群-组建节点网络_重启_29

k8s3上也执行相同操作使其加入到集群中



Kubernetes 小白学习笔记(10)--搭建一个kubernetes集群-组建节点网络_ide_30





举报

相关推荐

0 条评论