Skip to main content

kubernatesInstall

参考:https://blog.csdn.net/professorman/article/details/118150688

初始化环境

#关闭swap
swapoff -a
rm -f /swap.img

# 编辑/etc/fstab 注释掉 swap.img
vim /etc/fstab
# /swap.img

#开启ip转发
vim /etc/sysctl.conf
net.ipv4.ip_forward=1

#查看状态
sysctl -p

安装docker

# 安装GPG证书
sudo apt-get update
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

# 写入软件源信息
sudo add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"

# 更新并安装Docker-ce
sudo apt-get -y update
apt install -y docker-ce

# 安装docker-compose
apt install -y docker-compose

# 将docker设置为开机自启
systemctl enable docker

安装K8s

# 添加证书
curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | apt-key add -

# 添加apt源
cat <<EOF> /etc/apt/sources.list.d/kubernetes.list
deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main
EOF
apt-get update

# 查看可安装版本(检查后,根据自己需求修改下方版本为需要安装的版本)
apt-cache madison kubelet

# 安装指定版本
apt-get install -y kubelet=1.18.4-00 kubeadm=1.18.4-00 kubectl=1.18.4-00

#设置开机自启动
sudo systemctl enable kubelet && sudo systemctl start kubelet

查看所需镜像

kubeadm config images list --kubernetes-version=v1.18.4

# 以下是执行结果,拉取这些镜像备用

# k8s.gcr.io/kube-apiserver:v1.18.4
# k8s.gcr.io/kube-controller-manager:v1.18.4
# k8s.gcr.io/kube-scheduler:v1.18.4
# k8s.gcr.io/kube-proxy:v1.18.4
# k8s.gcr.io/pause:3.2
# k8s.gcr.io/etcd:3.4.3-0
# k8s.gcr.io/coredns:1.6.7

拉取镜像到本地并重新打标签

# 拉取镜像
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-apiserver:v1.18.4
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-controller-manager:v1.18.4
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-scheduler:v1.18.4
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-proxy:v1.18.4
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.2
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/etcd:3.4.3-0
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:1.6.7

# 重新打标签
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-apiserver:v1.18.4 k8s.gcr.io/kube-apiserver:v1.18.4
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-controller-manager:v1.18.4 k8s.gcr.io/kube-controller-manager:v1.18.4
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-scheduler:v1.18.4 k8s.gcr.io/kube-scheduler:v1.18.4
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-proxy:v1.18.4 k8s.gcr.io/kube-proxy:v1.18.4
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.2 k8s.gcr.io/pause:3.2
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/etcd:3.4.3-0 k8s.gcr.io/etcd:3.4.3-0
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:1.6.7 k8s.gcr.io/coredns:1.6.7

初始化Master节点

kubeadm init --kubernetes-version=v1.18.4 --pod-network-cidr=10.244.0.0/16 --service-cidr=10.96.0.0/12 --ignore-preflight-errors=Swap

# 检查状态是否正确
kubectl get componentstatus

# 如果不正确则执行下方:设置环境变量
# echo "export KUBECONFIG=/etc/kubernetes/admin.conf" >> /etc/profile
# source /etc/profile

添加网络组件

# 添加网络组件
kubectl get componentstatus

# 检查状态
kubectl get pods -n kube-system -l app=flannel

# 检查节点
kubectl get nodes