Jelajahi Sumber

修复了安装K8S文档的一些错误

seamew 3 tahun lalu
induk
melakukan
f6aeed571a

+ 1 - 1
linux/zsh/zsh的使用.md

@@ -94,7 +94,7 @@ source ~/.zshrc
 ## 4.3没有自动建议插件
 
 1. 该插件也需要手动下载[zsh-autosuggestions](https://github.com/zsh-users/zsh-autosuggestions)  
-注:该插件默认安装在/home/seamew/.oh-my-zsh/custom/plugins 目录下,需要将它移动到e/seamew/.oh-my-zsh/plugins目录
+注:该插件默认安装在/home/seamew/.oh-my-zsh/custom/plugins 目录下,需要将它移动到/home/seamew/.oh-my-zsh/plugins目录
 2. 设置`~/.zshrc`,把`zsh-autosuggestions`添加到 Oh My Zsh 要加载的插件列表中
 ```
 # 这里也添加了mvn插件

+ 80 - 22
大数据/K8S/2.构建K8S-kubeadm方式.md

@@ -1,22 +1,80 @@
-# 1.搭建K8S环境平台规划
-## 1.单master集群
-单个节点容易损坏
-## 2.多master集群
-master与node之间多一个负载均衡
-# 2.服务器硬件要求
-## 1.测试环境
-master
-至少2核心
-内存至少4G
-内存20G以上
-node
-4核心
-8G
-40G
-## 2.生产环境
-更高要求
-# 3.搭建方式
-1. kubeadm部署
-2. 二进制包部署
-
-# 4.搭建集群
+>[TOC]
+
+
+# 1、安装docker
+
+```shell
+# step 1: 安装必要的一些系统工具
+sudo yum install -y yum-utils device-mapper-persistent-data lvm2
+# Step 2: 添加软件源信息
+sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
+# Step 3
+sudo sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo
+# Step 4: 更新并安装Docker-CE
+sudo yum makecache fast
+sudo yum -y install docker-ce
+# Step 4: 开启Docker服务
+systemctl enable docker && systemctl start docker
+# Step 5 docker配置镜像加速
+sudo mkdir -p /etc/docker
+sudo tee /etc/docker/daemon.json <<-'EOF'
+{
+  "registry-mirrors": ["https://an54fymq.mirror.aliyuncs.com"]
+}
+EOF
+systemctl daemon-reload && systemctl restart docker
+
+# 注意:
+# 官方软件源默认启用了最新的软件,您可以通过编辑软件源的方式获取各个版本的软件包。例如官方并没有将测试版本的软件源置为可用,您可以通过以下方式开启。同理可以开启各种测试版本等。
+# vim /etc/yum.repos.d/docker-ce.repo
+#   将[docker-ce-test]下方的enabled=0修改为enabled=1
+#
+# 安装指定版本的Docker-CE:
+# Step 1: 查找Docker-CE的版本:
+# yum list docker-ce.x86_64 --showduplicates | sort -r
+#   Loading mirror speeds from cached hostfile
+#   Loaded plugins: branch, fastestmirror, langpacks
+#   docker-ce.x86_64            17.03.1.ce-1.el7.centos            docker-ce-stable
+#   docker-ce.x86_64            17.03.1.ce-1.el7.centos            @docker-ce-stable
+#   docker-ce.x86_64            17.03.0.ce-1.el7.centos            docker-ce-stable
+#   Available Packages
+# Step2: 安装指定版本的Docker-CE: (VERSION例如上面的17.03.0.ce.1-1.el7.centos)
+# sudo yum -y install docker-ce-[VERSION]
+```
+
+# 2、配置环境,安装kubectl
+
+```shell
+# 1.关闭防火墙和selinux
+systemctl stop firewalld && systemctl disable firewalld
+setenforce 0
+sed -i '/SELINUX/s/enforcing/disabled/g' /etc/selinux/config
+# 2.配置网络转发模块
+modprobe br_netfilter
+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
+EOF
+sysctl -p /etc/sysctl.d/k8s.conf
+# 3.安装kubectl
+curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
+sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
+```
+
+# 3、使用minibuke安装K8S
+
+```shell
+# 1.安装minikube命令
+curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
+sudo install minikube-linux-amd64 /usr/local/bin/minikube
+# 2.minikube默认使用root用户会报错,需要创建一个普通用户来运行,并赋予docker组中
+useradd minikube
+usermod -aG 
+usermod -aG docker minikube
+# 3.切换到普通用户并安装
+su - minikube
+minikube start --driver=docker --image-mirror-country='cn'
+# 4.服务器重启之后使用下面方式启动minikube
+minikube start
+```

+ 51 - 60
大数据/K8S/3.使用kubeadm快速部署一个K8s集群.md

@@ -1,17 +1,6 @@
+>[TOC]
 
-kubeadm是官方社区推出的一个用于快速部署kubernetes集群的工具。
-
-这个工具能通过两条指令完成一个kubernetes集群的部署:
-
-```
-# 创建一个 Master 节点
-$ kubeadm init
-
-# 将一个 Node 节点加入到当前集群中
-$ kubeadm join <Master节点的IP和端口 >
-```
-
-## 1. 安装要求
+## 1、安装要求
 
 在开始之前,部署Kubernetes集群机器需要满足以下几个条件:
 
@@ -20,7 +9,7 @@ $ kubeadm join <Master节点的IP和端口 >
 - 可以访问外网,需要拉取镜像,如果服务器不能上网,需要提前下载镜像并导入节点
 - 禁止swap分区
 
-## 2. 准备环境
+## 2准备环境
 
 | 角色   | IP           |
 | ------ | ------------ |
@@ -28,10 +17,9 @@ $ kubeadm join <Master节点的IP和端口 >
 | node1  | 192.168.1.12 |
 | node2  | 192.168.1.13 |
 
-```
+```shell
 # 关闭防火墙
-systemctl stop firewalld
-systemctl disable firewalld
+systemctl stop firewalld && systemctl disable firewalld
 
 # 关闭selinux
 sed -i 's/enforcing/disabled/' /etc/selinux/config  # 永久
@@ -53,7 +41,7 @@ cat >> /etc/hosts << EOF
 192.168.44.144 k8snode2
 EOF
 
-# 将桥接的IPv4流量传递到iptables的链
+# 将桥接的IPv4流量传递到iptables$ 的链
 cat > /etc/sysctl.d/k8s.conf << EOF
 net.bridge.bridge-nf-call-ip6tables = 1
 net.bridge.bridge-nf-call-iptables = 1
@@ -65,32 +53,31 @@ yum install ntpdate -y
 ntpdate time.windows.com
 ```
 
-## 3. 所有节点安装Docker/kubeadm/kubelet
+## 3所有节点安装Docker/kubeadm/kubelet
 
 Kubernetes默认CRI(容器运行时)为Docker,因此先安装Docker。
 
-### 3.1 安装Docker
+### 3.1安装Docker
 
-```
-$ wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo
-$ yum -y install docker-ce-18.06.1.ce-3.el7
-$ systemctl enable docker && systemctl start docker
-$ docker --version
-Docker version 18.06.1-ce, build e68fc7a
-```
-
-```
-$ cat > /etc/docker/daemon.json << EOF
+```shell
+wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo
+yum -y install docker-ce-18.06.1.ce-3.el7
+systemctl enable docker && systemctl start docker
+docker --version
+# docker阿里云加速
+cat > /etc/docker/daemon.json << EOF
 {
   "registry-mirrors": ["https://b9pmyelo.mirror.aliyuncs.com"]
 }
 EOF
+# 如果有问题docker加入配置
+"exec-opts": ["native.cgroupdriver=systemd"]
 ```
 
-### 3.2 添加阿里云YUM软件源
+### 3.2、为kubctl,kubeadm添加阿里云YUM软件源
 
-```
-$ cat > /etc/yum.repos.d/kubernetes.repo << EOF
+```shell
+cat > /etc/yum.repos.d/kubernetes.repo << EOF
 [kubernetes]
 name=Kubernetes
 baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
@@ -101,22 +88,22 @@ gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors
 EOF
 ```
 
-### 3.3 安装kubeadm,kubelet和kubectl
+### 3.3 安装kubeadm,kubelet和kubectl
 
 由于版本更新频繁,这里指定版本号部署:
 
-```
-$ yum install -y kubelet-1.18.0 kubeadm-1.18.0 kubectl-1.18.0
-$ systemctl enable kubelet
+```shell
+yum install -y kubelet-1.18.0 kubeadm-1.18.0 kubectl-1.18.0
+systemctl enable kubelet
 ```
 
-## 4. 部署Kubernetes Master
+## 4部署Kubernetes Master
 
 在192.168.31.61(Master)执行。
 
-```
-$ kubeadm init \
-  --apiserver-advertise-address=192.168.245.22 \
+```shell
+kubeadm init \
+  --apiserver-advertise-address=192.168.245.20 \
   --image-repository registry.aliyuncs.com/google_containers \
   --kubernetes-version v1.18.0 \
   --service-cidr=10.96.0.0/16 \
@@ -125,42 +112,51 @@ $ kubeadm init \
 
 由于默认拉取镜像地址k8s.gcr.io国内无法访问,这里指定阿里云镜像仓库地址。
 
-使用kubectl工具:
+使用kubectl工具:(这里每个节点都要执行)
 
 ```bash
 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
+kubectl get nodes
+```
+
+如果是单节点执行
+
+```shell
+kubectl taint nodes --all node-role.kubernetes.io/master-
 ```
 
-## 5. 加入Kubernetes Node
+
+
+
+## 5、加入Kubernetes Node
 
 在192.168.1.12/13(Node)执行。
 
 向集群添加新节点,执行在kubeadm init输出的kubeadm join命令:
 
-```
-$ kubeadm join 192.168.245.22:6443 --token esce21.q6hetwm8si29qxwn \
+```shell
+kubeadm join 192.168.245.22:6443 --token esce21.q6hetwm8si29qxwn \
     --discovery-token-ca-cert-hash sha256:27cfb6d3e84de839eab0824c6bf9373c8be8a2e4549bcb858bd408d917835e66 
 ```
 
 默认token有效期为24小时,当过期之后,该token就不可用了。这时就需要重新创建token,操作如下:
 
-```
+```shell
 kubeadm token create --print-join-command
 ```
 
-## 6. 部署CNI网络插件
+## 6部署CNI网络插件
 访问其他容器
 
-```
+```shell
 wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
 ```
 
 默认镜像地址无法访问,sed命令修改为docker hub镜像仓库。
 
-```
+```shell
 kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
 
 kubectl get pods -n kube-system
@@ -168,20 +164,15 @@ NAME                          READY   STATUS    RESTARTS   AGE
 kube-flannel-ds-amd64-2pc95   1/1     Running   0          72s
 ```
 
-## 7. 测试kubernetes集群
+## 7测试kubernetes集群
 
 在Kubernetes集群中创建一个pod,验证是否正常运行:
 
-```
-$ kubectl create deployment nginx --image=nginx
-$ kubectl expose deployment nginx --port=80 --type=NodePort
-$ kubectl get pod,svc
+```shell
+kubectl create deployment nginx --image=nginx
+kubectl expose deployment nginx --port=80 --type=NodePort
+kubectl get pod,svc
 ```
 
 访问地址:http://NodeIP:Port  
 
-curl -k -H "Content-Type: application/json" -X PUT --data-binary @monitoring.json http://127.0.0.1:8081/api/v1/namespaces/monitoring/finalize
-————————————————
-版权声明:本文为CSDN博主「Jerry_Pan1990」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
-原文链接:https://blog.csdn.net/Jerry_Pan1990/article/details/103633627
-