所有的节点都需要安装 Docker,具体步骤可以参考之前的文章:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
$ cat <<EOF > /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 EOF
#安装kubelet kubeadm kubectl,可以指定版本
$ yum install -y kubelet kubeadm kubectl --disableexcludes=kubernetes #启动kubelet 并设置为默认开机启动
$ systemctl enable kubelet && systemctl start kubelet |
1
|
vi /etc/sysctl.conf |
1
2
3
|
net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1 net.ipv4.ip_forward = 1 |
1
|
sysctl --system |
1
|
swapoff -a |
1
|
vi /etc/fstab |
修改daemon.json,新增‘"exec-opts": ["native.cgroupdriver=systemd"’
[root@master ~]# more /etc/docker/daemon.json
{
"registry-mirrors": ["http://f1361db2.m.daocloud.io"],
"exec-opts": ["native.cgroupdriver=systemd"]
}
[root@master ~]# systemctl daemon-reload
[root@master ~]# systemctl restart docker
# 将 SELinux 设置为 permissive 模式(将其禁用)
$ setenforce 0
$ sed -i
‘s/^SELINUX=enforcing$/SELINUX=permissive/‘
/etc/selinux/config
1
|
$:kubeadm init --pod-network-cidr=10.244.0.0/16 #或者此命令
$:kubeadm init --kubernetes-version=v1.21.0 --apiserver-advertise-address 192.168.37.101 --pod-network-cidr=10.10.0.0/16 |
#创建脚本文件 images.sh,
$:vi images.sh
#脚本内容如下:
#!/bin/bash #镜像仓库地址 #阿里 registry.aliyuncs.com/google_containers url=registry.aliyuncs.com/google_containers version=v1.21.0 images=(`kubeadm config images list --kubernetes-version=$version|awk -F ‘io/‘ ‘{print $2}‘`) for imagename in ${images[@]} ; do if [[ $imagename = coredns* ]] ; then docker pull $imagename docker tag $imagename k8s.gcr.io/$imagename docker rmi -f $imagename else docker pull $url/$imagename docker tag $url/$imagename k8s.gcr.io/$imagename docker rmi -f $url/$imagename fi done
#然后授予执行权限 $:chmod +x ./images.sh #执行: $:./images.sh
(6)其中 coredns/coredns:v1.8.0 下载失败,因从hub.docker上查找不到此版本,我们采用手动的方式进行下载,访问conedns官网,找到对应版本进行下载
通过以下命令导入容器
1
|
$:cat coredns_1.8.0_linux_amd64.tgz | docker import - coredns:v1.8.0 |
1
|
$:docker tag coredns:v1.8.0 k8s.gcr.io/coredns/coredns:v1.8.0
|
2,配置 kubectl(使用root用户也正常)
1
|
su - app |
1
2
3
|
mkdir -p $HOME /.kube sudo cp -i /etc/kubernetes/admin.conf $HOME /.kube/config sudo chown $(id -u):$(id -g) $HOME /.kube/config |
1
|
|
1
|
kubectl apply -f https: //raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml |
1
2
3
4
5
6
7
|
firewall-cmd --permanent --add-port=6443/tcp firewall-cmd --permanent --add-port=2379/tcp firewall-cmd --permanent --add-port=2380/tcp firewall-cmd --permanent --add-port=10250/tcp firewall-cmd --permanent --add-port=10251/tcp firewall-cmd --permanent --add-port=10252/tcp firewall-cmd --reload |
1
|
kubeadm join 192.168.37.101:6443 --token ethqh8.nmtfwcg88gnfwvsu --discovery-token-ca-cert-hash sha256:1319e8da4d083b5b2f40161045845674bdbe7823c93c6767326c39cf719cb0f1 |
1
2
3
4
5
6
7
|
docker pull quay.io/coreos/flannel:v0.11.0-amd64 docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.1 docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.1 k8s.gcr.io/pause:3.1 docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-proxy:v1.14.1 docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-proxy:v1.14.1 k8s.gcr.io/kube-proxy:v1.14.1 |
1
2
|
firewall-cmd --permanent --add-port=10250/tcp firewall-cmd --reload |
1
|
kubectl get pod --all-namespaces |
1
|
kubectl describe pod kube-proxy-96bz6 -- namespace =kube-system |
K8s - Kubernetes集群安装部署-CentOS7
原文:https://www.cnblogs.com/pinghengxing/p/14665253.html