docker&k8s安装步骤

基础环境配置:
  1、centos7最小化安装
  2、配置网络,xshell远程连接
  3、安装常用工具
  yum install -y bash-completion vim lrzsz wget expect net-tools nc nmap treedos2unix htop iftop iotop unzip telnet sl psmisc nethogs glances bc ntpdateopenldap-devel
  4、更新阿里云yum源
  wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
  wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
  5、清空本地缓存
  yum clean all
  6、生成新的缓存
  yum makecache
  7、清空防火墙
  iptables -F
  getenforce
  8、关闭防火墙
  systemctl disable firewalld
  9、禁止防火墙开机自启
  systemctl stop firewalld
安装docker:
  1、开启linux内核的流量转发
  cat <<EOF > /etc/sysctl.d/docker.conf
  net.bridge.bridge-nf-call-ip6tables = 1
  net.bridge.bridge-nf-call-iptables = 1
  net.ipv4.conf.default.rp_filter = 0
  net.ipv4.conf.all.rp_filter = 0
  net.ipv4.ip_forward=1
  EOF
  2、生效配置
  modprobe br_netfilter
  sysctl -p /etc/sysctl.d/docker.conf
  3、配置好yum仓库
  (1)阿里云仓库
  (2)阿里云docker专属repo仓库
  查看当前yum中是否有docker-ce软件包
  yum list docker-ce --showduplicates | sort -r
  更新yum仓库
  curl -o /etc/yum.repos.d/Centos-7.repo http://mirrors.aliyun.com/repo/Centos-7.repo
  curl -o /etc/yum.repos.d/docker-ce.repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  更新yum缓存
  yum clean all && yum makecache
  再看下docker版本
  yum list docker-ce --showduplicates | sort -r
  4、安装yum
  yum install docker-ce-20.10.6 -y
  如果要卸载:yum remove docker-xxx
  5、配置docker加速器
  mkdir -p /etc/docker
  touch /etc/docker/daemon.json
{
  "registry-mirrors" : [
    "https://reg-mirror.qiniu.com"
  ]
}
  6、重新生效配置文件
  systemctl daemon-reload 
  7、设置开机启动
  systemctl enable docker
  8、重启docker
  systemctl restart docker
  9、验证docker
  docker version

操作演示:
  搜索镜像
  docker search nginx
  查看本地镜像
  docker image ls
  删除镜像(被删除的镜像不能有容器运行记录,如果有需要先删除容器)
  docker rmi 镜像id
  拉取镜像
  docker pull nginx
  运行镜像
  docker run 参数 镜像名字/id
  docker run -d -p 80:80 nginx  (-d是后台运行,-p指定映射端口)
  查看运行中的容器
  docker ps 
  查看容器运行记录
  docker ps -a 
  删除容器
  docker rm 容器id
  停止容器
  docker stop 容器id/名字
  启动容器
  docker start 容器id/名字
  重启容器
  docker restart 容器id/名字
  运行容器且进入容器内
  docker run -it 容器id/名字 bash  (-i交互式,-t开启一个终端)
  进入到正在运行的容器中
  docker exec -it 容器id/名字 bash
  查看docker相关信息
  docker info
  导出镜像
  docker image save 容器id > /路径/xxxx.tgz
  导入镜像
  docker image load -i /路径/xxxx.tgz
  查看镜像详细信息
  docker image inspect 容器id
  启动容器并做好端口映射
  docker run -d --name wmh-nginx-85 -p 85:80 nginx  (-d是后台运行,--name是给容器起个名字,-p指定映射端口 85是宿主机端口、80是容器端口,如果是-P则宿主机随机找空闲端口来映射)
  查看容器端口映射信息
  docker port 容器id
  
k8s安装:
1、机器准备,环境初始化
三台centos7虚拟机,修改主机名
hostnamectl set-hostname k8s-master-66
hostnamectl set-hostname k8s-node-77
hostnamectl set-hostname k8s-node-88
改完reboot重启
修改hosts配置
cat >>/etc/hosts <<'EOF'
192.168.253.66 k8s-master-66
192.168.253.77 k8s-node-77
192.168.253.88 k8s-node-88
EOF
查看/etc/hosts
测试联通性
ping -c 2 k8s-master-66
ping -c 2 k8s-node-77
ping -c 2 k8s-node-88
防火墙初始化
systemctl stop firewalld NetworkManager
systemctl disable firewalld NetworkManager
sed -ri 's#(SELINUX=).*#\1disabled#' /etc/selinux/config
setenforce 0
systemctl disable firewalld && systemctl stop firewalld
getenforce 0
iptables -F
iptables -X
iptables -Z
iptables -P FORWARD ACCEPT
关闭swap
swapoff -a
#防止开机自动挂载 swap 分区
sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab
yum源配置
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
sed -i '/aliyuncs/d' /etc/yum.repos.d/*.repo
yum clean all && yum makecache fast
ntp配置
yum install chrony -y
systemctl start chronyd
systemctl enable chronyd
date
ntpdate -u ntp.aliyun.com
hwclock -w
修改内核参数,开启数据包转发功能
cat <<EOF > /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward=1
vm.max_map_count=262144
EOF

modprobe br_netfilter
sysctl -p /etc/sysctl.d/k8s.conf

安装docker:
yum remove docker docker-common docker-selinux docker-engine -y
curl -o /etc/yum.repos.d/docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum makecache fast
yum list docker-ce --showduplicates
yum install docker-ce-19.03.15 docker-ce-cli-19.03.15 -y
#配置docker加速器、以及crgoup驱动,改为k8s官方推荐的systemd,否则初始化时会有报错.
mkdir -p /etc/docker
cat > /etc/docker/daemon.json <<'EOF'
{
  "registry-mirrors" : ["https://reg-mirror.qiniu.com"],
  "exec-opts" : ["native.cgroupdriver=systemd"]
}
EOF
#启动
systemctl start docker && systemctl enable docker
docker version

安装k8s: kubelet-1.19.3 kubeadm-1.19.3 kubectl-1.19.3
#设置阿里云源
curl -o /etc/yum.repos.d/Centos-7.repo http://mirrors.aliyun.com/repo/Centos-7.repo
curl -o /etc/yum.repos.d/docker-ce.repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
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
yum clean all && yum makecache
#列出,这个阿里云k8s源,提供了哪些k8s版本让你玩
#yum list kubeadm --showduplicates安装指定版本 kubeadm-1.19.3,安装的kubeadm版本,就是决定了,拉去什么版本的k8s集群版本的镜像
yum install kubelet-1.19.3 kubeadm-1.19.3 kubectl-1.19.3 ipvsadm

安装完k8s后设置所有节点的kubelet开机运行
systemctl enable kubelet
systemctl enable docker

初始化k8s-master主节点(只在主节点执行)
kubeadm init --kubernetes-version=v1.19.3 --pod-network-cidr=10.244.0.0/16 --image-repository registry.aliyuncs.com/google_containers --service-cidr=10.96.0.0/12 --apiserver-advertise-address=192.168.253.66

#配置文件
mkdir .kube
cp -i /etc/kubernetes/admin.conf ./.kube/config

#查看k8s集群状态
主节点使用
kubectl get nodes -owide(显示更详细的信息)

#加入k8snode到集群中
kubeadm join 192.168.253.66:6443 --token 28dyih.fn352cbpe4behosb --discovery-token-ca-cert-hash sha256:4f28476ba53837c32b270bf4866f207a8c41c5b09757d008106a371c9e3686ac


#k8s命令补齐
yum install bash-completion -y
source /usr/share/bash-completion/bash_completion
source <(kubectl completion bash)
echo "source <(kubectl completion bash)" >>/.bashrc

#创建集群网络让集群就绪
下载flannel-master.zip
解压后修改kube-flannel.yml
        args:
        - --ip-masq
        - --kube-subnet-mgr
        - --iface=enp0s8
kubectl create -f ./kube-flannel.yml

#查询集群节点状态
[root@k8s-master-66 ~]# kubectl get nodes -o wide
NAME            STATUS   ROLES    AGE    VERSION   INTERNAL-IP      EXTERNAL-IP   OS-IMAGE                KERNEL-VERSION           CONTAINER-RUNTIME
k8s-master-66   Ready    master   172m   v1.19.3   192.168.253.66   <none>        CentOS Linux 7 (Core)   3.10.0-1160.el7.x86_64   docker://19.3.15
k8s-node-77     Ready    <none>   68m    v1.19.3   192.168.253.77   <none>        CentOS Linux 7 (Core)   3.10.0-1160.el7.x86_64   docker://19.3.15
k8s-node-88     Ready    <none>   69m    v1.19.3   192.168.253.88   <none>        CentOS Linux 7 (Core)   3.10.0-1160.el7.x86_64   docker://19.3.15

#k8s命令帮助
kubectl run --help

  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值