🌑

Hi Folks.

kubeadm搭建kubernetes

添加kubernetes YUM软件源

cat > /etc/yum.repos.d/kubernetes.repo << EOF
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF

安装1.21.0版本的kubectl、kubeadm、kubelet

yum install -y kubelet-1.21.0 kubeadm-1.21.0 kubectl-1.21.0

查看kubeadm所需要的镜像

kubeadm config images list

k8s.gcr.io/kube-apiserver:v1.21.3
k8s.gcr.io/kube-controller-manager:v1.21.3
k8s.gcr.io/kube-scheduler:v1.21.3
k8s.gcr.io/kube-proxy:v1.21.3
k8s.gcr.io/pause:3.4.1
k8s.gcr.io/etcd:3.4.13-0
k8s.gcr.io/coredns/coredns:v1.8.0

国内一般下载不了,可以在阿里云购买按需的香港的ECS去下载,后面上传到自己的镜像仓库,各大云平台都有免费的镜像仓库。

我这边已经下载了1.21版本的镜像

docker pull registry.cn-shenzhen.aliyuncs.com/bieyunjian/hzt:kube-apiserver
docker pull registry.cn-shenzhen.aliyuncs.com/bieyunjian/hzt:kube-controller-manager
docker pull registry.cn-shenzhen.aliyuncs.com/bieyunjian/hzt:kube-scheduler
docker pull registry.cn-shenzhen.aliyuncs.com/bieyunjian/hzt:kube-proxy
docker pull registry.cn-shenzhen.aliyuncs.com/bieyunjian/hzt:pause
docker pull registry.cn-shenzhen.aliyuncs.com/bieyunjian/hzt:etcd
docker pull registry.cn-shenzhen.aliyuncs.com/bieyunjian/hzt:coredns

修改成对应的镜像名

docker tag registry.cn-shenzhen.aliyuncs.com/bieyunjian/hzt:kube-apiserver k8s.gcr.io/kube-apiserver:v1.21.0
docker tag registry.cn-shenzhen.aliyuncs.com/bieyunjian/hzt:kube-controller-manager k8s.gcr.io/kube-controller-manager:v1.21.0
docker tag registry.cn-shenzhen.aliyuncs.com/bieyunjian/hzt:kube-scheduler k8s.gcr.io/kube-scheduler:v1.21.0
docker tag registry.cn-shenzhen.aliyuncs.com/bieyunjian/hzt:kube-proxy k8s.gcr.io/kube-proxy:v1.21.0
docker tag registry.cn-shenzhen.aliyuncs.com/bieyunjian/hzt:pause k8s.gcr.io/pause:3.4.1
docker tag registry.cn-shenzhen.aliyuncs.com/bieyunjian/hzt:etcd k8s.gcr.io/etcd:3.4.13-0
docker tag registry.cn-shenzhen.aliyuncs.com/bieyunjian/hzt:coredns k8s.gcr.io/coredns/coredns:v1.8.0

开始创建集群,集群初始化

kubeadm init

运行安装完毕后会有以下信息

Your Kubernetes control-plane has initialized successfully!
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
You should now deploy a Pod network to the cluster.
Run “kubectl apply -f [podnetwork].yaml” with one of the options listed at:
/docs/concepts/cluster-administration/addons/
You can now join any number of machines by running the following on each node
as root:
kubeadm join : –token –discovery-token-ca-cert-hash sha256:

这个是创建kubectl的配置文件用来控制kubernetes集群

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

这个是node节点加入集群

kubeadm join : –token –discovery-token-ca-cert-hash sha256:

安装网络插件,我这边安装的是calico

wget https://docs.projectcalico.org/v3.3/getting-started/kubernetes/installation/hosted/rbac-kdd.yaml

wget https://docs.projectcalico.org/v3.10/manifests/calico.yaml

kubectl apply -f rbac-kdd.yaml

kubectl apply -f calico.yaml

安装ingress,我这边安装的是nginx-ingress

wget https://raw.githubusercontent.com/kubernetes/ingress-nginx/nginx-0.20.0/deploy/mandatory.yaml

kubectl apply -f mandatory.yaml

在镜像仓库下载nginx-ingress需要的镜像

docker pull registry.cn-shenzhen.aliyuncs.com/bieyunjian/kubeamd:defaultbackend

docker tag registry.cn-shenzhen.aliyuncs.com/bieyunjian/kubeamd:defaultbackend k8s.gcr.io/defaultbackend-amd64:1.5

— Jul 16, 2021