JAVA和Nginx 教程大全

网站首页 > 精选教程 正文

k8s从入门到精通(一):kubeadm安装k8s集群

wys521 2024-10-15 15:48:59 精选教程 23 ℃ 0 评论

kubeadm是k8s官方推荐的集群安装工具,非常简单实用,它是通过容器方式部署k8s组件的。但目前在国内使用的话,会存在镜像无法下载的问题,不过阿里云提供了对应的镜像mirror。下面通过实战操作,演示如何通过kubeadm安装k8s 1.21 版本。前置条件是我们需要在每个节点上面先安装docker和kubelet。

我们先查看一下kubeadm依赖的镜像

# kubeadm config images list
k8s.gcr.io/kube-apiserver:v1.21.2
k8s.gcr.io/kube-controller-manager:v1.21.2
k8s.gcr.io/kube-scheduler:v1.21.2
k8s.gcr.io/kube-proxy:v1.21.2
k8s.gcr.io/pause:3.4.1
k8s.gcr.io/etcd:3.4.13-0
k8s.gcr.io/coredns/coredns:v1.8.0

通过下面的脚本,下载对应阿里云镜像,并重新tag成上面gcr的镜像。

images=(
    kube-apiserver:v1.21.2
    kube-controller-manager:v1.21.2
    kube-scheduler:v1.21.2
    kube-proxy:v1.21.2
    pause:3.4.1
    etcd:3.4.13-0
    coredns:v1.8.0
)

for imageName in ${images[@]} ; do
    docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/$imageName
    docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/$imageName k8s.gcr.io/$imageName
done

接下来两条命令就可以安装集群了:(1)init 初始化master;(2)join加入新的计算节点。

# kubeadm init --pod-network-cidr=172.100.0.0/16
[init] Using Kubernetes version: v1.21.2
此处略去一千字. .. 
kubeadm join 172.17.79.163:6443 --token m76aen.xxx \
	--discovery-token-ca-cert-hash sha256:xxxxx

kubeadm甚至帮我们生成了join命令,后续到每个计算节点上面执行join命令即可。如果需要安装flannel网络插件可以通过下面的命令。

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

其他网络插件也有类似的Yaml。

安装完成后测试集群。

# kubectl run ng --image=nginx

# kubectl get pods
NAME   READY   STATUS    RESTARTS   AGE
ng     1/1     Running   0          2m

可以看到通过kubectl成功启动一个nginx的Pod。默认情况下,master节点是不运行业务Pod的,自动添加了污点,如果想充分利用资源,可以放开这个限制,我们可以通过下面的命令去除污点。

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

万里长征第一步,接下来开始我们苦逼的k8s之旅吧!

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表