k8s,1.14.2 集群搭建(2):kubeadm简易安装方法

运行如下脚本

#最小化安装没有yum-utils

yum -y install yum-utils

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

yum makecache

#安装docker

yum -y install docker-ce

#设置docker镜像加速

echo '{"registry-mirrors": ["http://hub-mirror.c.163.com"]}'>/etc/docker/daemon.json

#重启生效

systemctl start docker & systemctl enable docker

#禁用swap,否则kubelet无法正常使用

sed -i '/ swap / s/^/#/' /etc/fstab

swapoff -a

#关闭防火墙,各种端口访问简化设置

systemctl stop firewalld & systemctl disable firewalld

#配置K8S软件源

cat < /etc/yum.repos.d/kubernetes.repo

[kubernetes]

name=Kubernetes

baseurl=http://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64

enabled=1

gpgcheck=0

repo_gpgcheck=0

gpgkey=http://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg http://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg

exclude=kube*

EOF

#目前kubelet还不支持selinux

setenforce 0

sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config

#安装kubelet kubeadmin kubectl

yum install -y kubelet kubeadm kubectl --disableexcludes=kubernetes

systemctl enable --now kubelet

#官方说是有些用户反映CentOS的BUG

cat < /etc/sysctl.d/k8s.conf

net.bridge.bridge-nf-call-ip6tables = 1

net.bridge.bridge-nf-call-iptables = 1

EOF

#get latest packages

yum update

下载镜像

使用如下命令检查所需镜像。

kubeadm config images list

修改如下脚本的KUBE_VERSION为上面命令里面获取的版本号,保存并运行。

cat>pull_images.sh<<'EOF'

#!/bin/bash

KUBE_VERSION=v1.14.2

FLANNEL_VERSION=v0.11.0

KUBE_PAUSE_VERSION=3.1

ETCD_VERSION=3.3.10

DNS_VERSION=1.3.1

prefix=registry.cn-hangzhou.aliyuncs.com/google_containers

images=(

kube-proxy-amd64:${KUBE_VERSION}

kube-scheduler-amd64:${KUBE_VERSION}

kube-controller-manager-amd64:${KUBE_VERSION}

kube-apiserver-amd64:${KUBE_VERSION}

pause:${KUBE_PAUSE_VERSION}

etcd-amd64:${ETCD_VERSION}

coredns:${DNS_VERSION}

)

for image in ${images[@]}

do

NEW_IMAGE=`echo ${image}|awk '{gsub(/-amd64/,"",$0);print}'`

echo ${NEW_IMAGE}

docker pull ${prefix}/${image}

docker tag ${prefix}/${image} k8s.gcr.io/${NEW_IMAGE}

docker rmi ${prefix}/${image}

done

#prefix仓库里面没有flannel,单独拉取

docker pull quay-mirror.qiniu.com/coreos/flannel:${FLANNEL_VERSION}-amd64

docker tag quay-mirror.qiniu.com/coreos/flannel:${FLANNEL_VERSION}-amd64 quay.io/coreos/flannel:${FLANNEL_VERSION}-amd64

EOF

bash pull_images.sh

#不执行如下命令运行kubectl时会报错:The connection to the server localhost:8080 was refused

export KUBECONFIG=/etc/kubernetes/admin.conf

#简化kubectl命令输入

cat >> ~/.bashrc <

alias k='kubectl'

alias kk='kubectl -n kube-system'

export KUBECONFIG=/etc/kubernetes/admin.conf

EOF

source ~/.bashrc

至此模板结点已经配置完成!

生成node1

关机,在node0上右键选择复制,输入node1,勾选初使化所有网卡的MAC地址,点击继续,选择完全复制,点击继续,选择当前电脑虚拟状态,点击复制。参照node0配置好端口转发。

集群安装

在node0上执行如下初使化集群。

#设置主机名为node0

hostnamectl set-hostname node0

kubeadm init --pod-network-cidr=10.244.0.0/16 --kubernetes-version=v1.14.2 --apiserver-advertise-address=192.168.0.2

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

记录下如上命令最后的输出,用于其它结点加入集群。

kubeadm join 192.168.0.2:6443 --token r19zrj.kvphznlyisn021sf \

--discovery-token-ca-cert-hash sha256:86deab015a0713811e3e05b1cbecd55f85b79c43c3f16460a2f4627cfae0cdef

启动node1,在node0上执行如下命令将配置文件分发到node1,方便使用。

scp /etc/kubernetes/admin.conf [email protected]:/etc/kubernetes/admin.conf

node1上运行如下命令设置主机名

hostnamectl set-hostname node1

运行如上的kubeadm join加入集群,至此,2节点集群创建完成!

小编这里整理了更多相关的 学习资料和 学习视频,可免费领取。

加 VX:17778119562        通过验证备注:111(备注必填,方便通过)

你可能感兴趣的:(k8s,1.14.2 集群搭建(2):kubeadm简易安装方法)