Docker安装和加入K8S

docker安装

yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
yum install -y yum-utils
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum makecache fast
yum install docker-ce docker-ce-cli containerd.io vim -y
mkdir -p /etc/docker
#加速阿里配置源
tee /etc/docker/daemon.json <<-'EOF'
 {
    "registry-mirrors": ["https://hzfyo6gg.mirror.aliyuncs.com"]
 }
EOF

systemctl daemon-reload
systemctl restart docker
docker run hello-world

安装K8S软件

装一些必要软件
yum install -y gcc gcc-c++ wget
系统参数配置
#关闭防火墙和SELINUX
systemctl stop firewalld
sed -i 's/enforcing/disabled/' /etc/selinux/config
[root@docker-jjy-2 ~]# more /etc/selinux/config

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     disabled - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of disabled.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of three two values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected. 
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted
[root@docker-jjy-2 ~]# 

setenforce 0
[root@docker-jjy-4 ~]# getenforce
Permissive

#关闭swap
swapoff -a
sed -ri 's/.*swap.*/#&/' /etc/fstab

#配置sys参数
vi /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1

sysctl --system
# 更新时间
yum install ntpdate -y
[root@docker-jjy-4 ~]# ntpdate time.windows.com
 3 Jun 16:49:15 ntpdate[12496]: adjust time server 52.231.114.183 offset -0.005426 sec
[root@docker-jjy-2 ~]# date
Thu Jun  3 16:31:06 CST 2021
[root@docker-jjy-2 ~]# 
配置k8s源
cat < kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF
mv kubernetes.repo /etc/yum.repos.d/
安装最新的k8s软件
yum install -y kubelet kubeadm kubectl
systemctl enable kubelet

升级内核

rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
yum --enablerepo=elrepo-kernel install kernel-ml

cp /etc/default/grub  /etc/default/grub_bak #备份一下

vi /etc/default/grub #saved改成0
GRUB_DEFAULT=saved ==> GRUB_DEFAULT=0

grub2-mkconfig -o /boot/grub2/grub.cfg
systemctl enable docker.service
reboot

#检查是否已经是5.*
[root@docker-jjy-4 ~]# uname -r
5.12.9-1.el7.elrepo.x86_64
[root@docker-jjy-4 ~]# 

加入K8S集群

kubeadm join 10.16.8.135:6443 --token wgpqyb.qg685fw8jq7ytixt --discovery-token-ca-cert-hash sha256:2285ae813e5e743e2277ae98ac6737f1fd0128dec4aab26d0da8fe9d0f149a4c

[root@docker-jjy-4 ~]# kubeadm join 10.16.8.135:6443 --token wgpqyb.qg685fw8jq7ytixt --discovery-token-ca-cert-hash sha256:2285ae813e5e743e2277ae98ac6737f1fd0128dec4aab26d0da8fe9d0f149a4c
[preflight] Running pre-flight checks
        [WARNING IsDockerSystemdCheck]: detected "cgroupfs" as the Docker cgroup driver. The recommended driver is "systemd". Please follow the guide at https://kubernetes.io/docs/setup/cri/
        [WARNING Hostname]: hostname "docker-jjy-4.novalocal" could not be reached
        [WARNING Hostname]: hostname "docker-jjy-4.novalocal": lookup docker-jjy-4.novalocal on 192.168.90.1:53: no such host
[preflight] Reading configuration from the cluster...
[preflight] FYI: You can look at this config file with 'kubectl -n kube-system get cm kubeadm-config -o yaml'
[kubelet-start] Writing kubelet configuration to file "/var/lib/kubelet/config.yaml"
[kubelet-start] Writing kubelet environment file with flags to file "/var/lib/kubelet/kubeadm-flags.env"
[kubelet-start] Starting the kubelet
[kubelet-start] Waiting for the kubelet to perform the TLS Bootstrap...

This node has joined the cluster:
* Certificate signing request was sent to apiserver and a response was received.
* The Kubelet was informed of the new secure connection details.

Run 'kubectl get nodes' on the control-plane to see this node join the cluster.

[root@docker-jjy-4 ~]# 

查看状态

加入前的kube-system
[root@docker-jjy-1 ~]# kubectl get pods -n kube-system
NAME                                             READY   STATUS    RESTARTS   AGE
coredns-545d6fc579-qmj77                         1/1     Running   0          5h47m
coredns-545d6fc579-rwd6t                         1/1     Running   0          5h47m
etcd-docker-jjy-1.novalocal                      1/1     Running   0          5h47m
kube-apiserver-docker-jjy-1.novalocal            1/1     Running   0          5h47m
kube-controller-manager-docker-jjy-1.novalocal   1/1     Running   0          5h47m
kube-flannel-ds-6p48b                            1/1     Running   0          71m
kube-flannel-ds-hn8ws                            1/1     Running   0          71m
kube-flannel-ds-p24kj                            1/1     Running   0          71m
kube-proxy-8fnp8                                 1/1     Running   0          87m
kube-proxy-9fnv5                                 1/1     Running   0          88m
kube-proxy-gpb6f                                 1/1     Running   0          5h47m
kube-scheduler-docker-jjy-1.novalocal            1/1     Running   0          5h47m
[root@docker-jjy-1 ~]# 
加入中的kube-system
[root@docker-jjy-1 ~]# kubectl get pods -n kube-system
NAME                                             READY   STATUS              RESTARTS   AGE
coredns-545d6fc579-qmj77                         1/1     Running             0          5h49m
coredns-545d6fc579-rwd6t                         1/1     Running             0          5h49m
etcd-docker-jjy-1.novalocal                      1/1     Running             0          5h49m
kube-apiserver-docker-jjy-1.novalocal            1/1     Running             0          5h49m
kube-controller-manager-docker-jjy-1.novalocal   1/1     Running             0          5h49m
kube-flannel-ds-6p48b                            1/1     Running             0          73m
kube-flannel-ds-hn8ws                            1/1     Running             0          73m
kube-flannel-ds-hqsqv                            0/1     Init:0/1            0          16s
kube-flannel-ds-p24kj                            1/1     Running             0          73m
kube-proxy-8fnp8                                 1/1     Running             0          89m
kube-proxy-9fnv5                                 1/1     Running             0          90m
kube-proxy-gpb6f                                 1/1     Running             0          5h49m
kube-proxy-kcrbr                                 0/1     ContainerCreating   0          16s
kube-scheduler-docker-jjy-1.novalocal            1/1     Running             0          5h49m
[root@docker-jjy-1 ~]# 
加入后的kube-system
[root@docker-jjy-1 ~]# kubectl get pods -n kube-system
NAME                                             READY   STATUS    RESTARTS   AGE
coredns-545d6fc579-qmj77                         1/1     Running   0          5h50m
coredns-545d6fc579-rwd6t                         1/1     Running   0          5h50m
etcd-docker-jjy-1.novalocal                      1/1     Running   0          5h50m
kube-apiserver-docker-jjy-1.novalocal            1/1     Running   0          5h50m
kube-controller-manager-docker-jjy-1.novalocal   1/1     Running   0          5h50m
kube-flannel-ds-6p48b                            1/1     Running   0          74m
kube-flannel-ds-hn8ws                            1/1     Running   0          74m
kube-flannel-ds-hqsqv                            1/1     Running   0          56s
kube-flannel-ds-p24kj                            1/1     Running   0          74m
kube-proxy-8fnp8                                 1/1     Running   0          90m
kube-proxy-9fnv5                                 1/1     Running   0          91m
kube-proxy-gpb6f                                 1/1     Running   0          5h50m
kube-proxy-kcrbr                                 1/1     Running   0          56s
kube-scheduler-docker-jjy-1.novalocal            1/1     Running   0          5h50m
[root@docker-jjy-1 ~]# 
加入后的node
[root@docker-jjy-1 ~]# kubectl get nodes
NAME                     STATUS   ROLES                  AGE     VERSION
docker-jjy-1.novalocal   Ready    control-plane,master   5h51m   v1.21.1
docker-jjy-2.novalocal   Ready                     92m     v1.21.1
docker-jjy-3.novalocal   Ready                     91m     v1.21.1
docker-jjy-4.novalocal   Ready                     106s    v1.21.1
[root@docker-jjy-1 ~]# 

至此,添加完成

你可能感兴趣的:(Docker安装和加入K8S)