Kubernetes环境部署
阅读原文时间:2022年03月16日阅读:1

简介

Kubernetes 是一个开源系统,用于容器化应用的自动部署、扩缩和管理。它将构成应用的容器按逻辑单位进行分组以便于管理和发现。

配置镜像源

Debian / Ubuntu

apt-get update && apt-get install -y apt-transport-https
curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | apt-key add -
cat </etc/apt/sources.list.d/kubernetes.list
deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main
EOF
apt-get update

CentOS / RHEL / Fedora

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

以centos为例搭建环境

1.安装:按照顺序

yum install kubelet-1.13.-
yum install kubectl-1.13.-
yum install kubeadm-1.13.-

2.安装后执行如下命令,先查看需要的镜像文件:

kubeadm config images list

k8s.gcr.io/kube-apiserver:v1.13.12
k8s.gcr.io/kube-controller-manager:v1.13.12
k8s.gcr.io/kube-scheduler:v1.13.12
k8s.gcr.io/kube-proxy:v1.13.12
k8s.gcr.io/pause:3.1
k8s.gcr.io/etcd:3.2.
k8s.gcr.io/coredns:1.2.

3.导入并配置对应的镜像文件

docker load -i registry.aliyuncs.com.google_containers.kube-apiserver.tar
docker image ls
tag f07fae2c3e6a k8s.gcr.io/kube-apiserver:v1.13.12
docker load -i registry.aliyuncs.com.google_containers.kube-controller-manager.tar
docker image ls
docker tag 90fd4a237264 k8s.gcr.io/kube-controller-manager:v1.13.12
docker load -i registry.aliyuncs.com.google_containers.kube-scheduler.tar
docker image ls
docker tag 54f3185a42a5 k8s.gcr.io/kube-scheduler:v1.13.12
docker load -i registry.aliyuncs.com.google_containers.kube-proxy.tar
docker image ls
docker tag 4022daa30d3e k8s.gcr.io/kube-proxy:v1.13.12
docker load -i registry.aliyuncs.com.google_containers.pause.tar
docker image ls
docker tag da86e6ba6ca1 k8s.gcr.io/pause:3.1
docker load -i registry.aliyuncs.com.google_containers.etcd.tar
docker image ls
docker tag 3cab8e1b9802 k8s.gcr.io/etcd:3.2.
docker load -i registry.aliyuncs.com.google_containers.coredns.tar
docker image ls
docker tag f59dcacceff4 k8s.gcr.io/coredns:1.2.

4.导入并修改好镜像名后执行

kubeadm init --pod-network-cidr=10.244.0.0/

5.若出现报错

6.执行如下命令

kubeadm init --pod-network-cidr=10.244.0.0/ --ignore-preflight-errors=swap

7.执行后若出现报错:

8.需要查看日志:

journalctl --no-page -xeu kubelet
--或者
journalctl --no-page -xeu kubelet|grep swap

9.查看配置文件:

cd /usr/lib/systemd/system/kubelet.service.d
[root@localhost kubelet.service.d]# ls
-kubeadm.conf

10.找出配置文件中环境配置文件路径

EnvironmentFile=-/etc/sysconfig/kubelet

11.修改环境配置文件:

KUBELET_EXTRA_ARGS="--fail-swap-on=false"

12.重启kubeadm

kubeadm reset

13.再次执行

kubeadm init --pod-network-cidr=10.244.0.0/ --ignore-preflight-errors=swap

14.环境搭建成功

Your Kubernetes master 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:
https://kubernetes.io/docs/concepts/cluster-administration/addons/

You can now join any number of machines by running the following on each node
as root:

kubeadm join 192.168.4.131: --token ft7m0e.i9z5x43zbaa1yk55 --discovery-token-ca-cert-hash sha256:4b3a2b2a4a164ca270d4173169eda4ec707ad16653387e6960185dcb76832837