安装环境
设置主机名字
hostnamectl set-hostname k8smaster
hostnamectl set-hostname k8snode1
关闭防火墙
systemctl disable --now firewalld
关闭selinux
# 永久关闭
sed -i 's#enforcing#disabled#g' /etc/selinux/config
#临时关闭
setenforce 0
关闭swap分区
# 关闭swap分区
swapoff -a
# kubelet忽略swap
echo 'KUBELET_EXTRA_ARGS="--fail-swap-on=false"' > /etc/sysconfig/kubelet
# 注释swap分区
vim /etc/fstab
在master添加hosts
cat >> /etc/hosts <<EOF
192.168.124.131 k8smaster
192.168.124.130 k8snode
EOF
设置网桥参数
cat > /etc/sysctl.d/k8s.conf << EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sysctl --system #生效
时间同步
yum install ntpdate -y
ntpdate time.windows.com
(1)安装Dockers
1、更新dockers的yum源
yum install wget -y
sudo yum-config-manager --add-repohttp://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum list docker-ce --showduplicates | sort -r #查看docker版本
安装指定Docker
yum install docker-ce-19.03.13 -y
3、配置加速器加速下载
cd /etc/
mkdir docker
cd docker
vim daemon.json
{
"registry-mirrors":["https://registry.docker-cn.com"]
}
然后执行
systemctl enable docker.service
(2)K8s安装
1、添加k8s的阿里云YUM源
cat > /etc/yum.repos.d/kubernetes.repo << EOF
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF
2、安装kubeadm、kubelet和kubectl
yum install kubelet-1.19.4 kubeadm-1.19.4 kubectl-1.19.4 -y
然后执行
systemctl enable kubelet.service
3、查看是否安装成功
yum list installed | grep kubelet
yum list installed | grep kubeadm
yum list installed | grep kubectl
查看版本
kubelet --version
部署kubernetes Master 主节点
kubeadm init --apiserver-advertise-address=192.168.124.131 --image-repository registry.aliyuncs.com/google_containers --kubernetes-version v1.19.4 --service-cidr=10.96.0.0/12 --pod-network-cidr=10.244.0.0/16
执行报错
解决方法
reboot #因为之前没有启动docker所有会报错,重启os 7 然后再执行上面的命令
接下来在master执行
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
kubectl get nodes
接下来把node节点加入k8s集群中,在Node机器上执行;
向集群添加新节点,执行的命令就是kubeadm init最后输出的kubeadm join命令:
kubeadm join 192.168.124.131:6443 --token ai194y.sh5totk79e314bl1 \
--discovery-token-ca-cert-hash sha256:af21d75580db5ef9b11eaa89a23431e1300a11d07c1c8d41f9c77361fbc3dd50
在master上查看是否有node
kubectl get nodes
部署网络插件
下载kube-flannel.yml文件
wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
应用kube-flannel.yml文件得到运行时容器
kubectl apply -f kube-flannel.yml (在master机器上执行)
Kube-flannel.yml文件下载不成功,去搜索一个上传
查看运行时容器pod(一个pod里面运行了多个容器)
kubectl get pods -n kube-system
Kubernetes部署“容器化应用
Docker应用-->在docker里面部署一个java程序(springboot)
- 制作dockerfile文件,生成镜像;
- kubectl create deployment nginx --image=你的镜像;
- 你的springboot就部署好了,是以docker容器的方式运行pod里面的;
列:
在Kubernetes集群中部署一个Nginx:
kubectl create deployment nginx --image=nginx
kubectl get pod
kubectl expose deployment nginx --port=80 --type=NodePort
kubectl get pod,svc
访问地址:http://NodeIP:Port
在Kubernetes集群中部署一个Tomcat:
kubectl create deployment tomcat --image=tomcat
kubectl expose deployment tomcat --port=8080 --type=NodePort
访问地址:http://NodeIP:Port
K8s部署微服务(springboot程序)
1、项目打包(jar、war)-->可以采用一些工具git、maven、jenkins
2、制作Dockerfile文件,生成镜像;
3、kubectl create deployment nginx --image= 你的镜像
4、你的springboot就部署好了,是以docker容器的方式运行在pod里面的;