趁着春节体验了把Centos8,用着感受和7没有太大变化,因为从新安装了Centos8,之前配置的k8s环境要从新配置了,在Centos8上配置docker和k8s遇到了很多坑,记录一下部署过程。linux
卸载podman,centos8默认安装了podman容器,它和docker有冲突须要卸载掉git
yum delete podmangithub
配置yum国内镜像docker
http://www.javashuo.com/article/p-ydnprcjp-nd.html 参考vim
vim /etc/hostname 修改主机名k8sservercentos
关闭防火墙api
systemctl disable firewalld网络
systemctl stop firewalldapp
关闭selinuxgoogle
vim /etc/selinux/config 以下
# This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. SELINUX=disabled # SELINUXTYPE= can take one of these three values: # targeted - Targeted processes are protected, # minimum - Modification of targeted policy. Only selected processes are protected. # mls - Multi Level Security protection. SELINUXTYPE=targeted
setenforce 0
关闭swap
swapoff -a
vim /etc/fstab 注释掉swap项
/dev/mapper/cl_zhangqiang-root / xfs defaults 0 0 UUID=bbb5a6be-17cd-4c28-8772-7bf5416ab16f /boot ext4 defaults 1 2 /dev/mapper/cl_zhangqiang-home /home xfs defaults 0 0 #/dev/mapper/cl_zhangqiang-swap swap swap defaults 0 0
配置docker安装国内yum源
先安装yum-utils,centos8默认没有安装这个库,不然没法使用yum-config-manager命令。
yum install yum-utils
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
安装docker
yum install docker-ce 安装最新版,也能够根据须要指定版本。
配置docker 国内yum源
vim /etc/yum.repos.d/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
安装kubeadm、kubectl、kubelet
yum install -y kubelet kubeadm kubectl
启动kubelet服务
systemctl enable kubelet
systemctl start kubelet
初始化kubernetes集群
kubeadm init \
--apiserver-advertise-address=当前机器的IP \
--image-repository registry.aliyuncs.com/google_containers \
--kubernetes-version v1.17.2 \
--pod-network-cidr=10.244.0.0/16
配置集群配置文件
mkdir -p $HOME/.kube cp -i /etc/kubernetes/admin.conf $HOME/.kube/config chown $(id -u):$(id -g) $HOME/.kube/config
等待一段时间集群安装完成。
安装网络插件flannel(网络插件有不少)
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
查看集群状态
NAME STATUS ROLES AGE VERSION
zhangqiang Ready master 73m v1.17.2
kube-system pod状态
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES coredns-9d85f5447-756wh 1/1 Running 1 74m 10.244.0.5 zhangqiang <none> <none> coredns-9d85f5447-c4gsf 1/1 Running 1 74m 10.244.0.4 zhangqiang <none> <none> etcd-zhangqiang 1/1 Running 5 75m 192.168.124.134 zhangqiang <none> <none> kube-apiserver-zhangqiang 1/1 Running 5 75m 192.168.124.134 zhangqiang <none> <none> kube-controller-manager-zhangqiang 1/1 Running 5 75m 192.168.124.134 zhangqiang <none> <none> kube-flannel-ds-amd64-h8g62 1/1 Running 1 63m 192.168.124.134 zhangqiang <none> <none> kube-proxy-cjss4 1/1 Running 5 74m 192.168.124.134 zhangqiang <none> <none> kube-scheduler-zhangqiang 1/1 Running 5 75m 192.168.124.134 zhangqiang <none> <none> kubernetes 单机集群部署完成........