kubernetes 二进制部署ansible playbook 一键生成
脚本仓库地址
https://github.com/qist/k8s
#支持 Ubuntu 18及以上的系统,CentOS7及CentOS8 系统
# k8s 版本 14,15,16,17 号版本
ansible 安装
#Ubuntu 系列安装
apt -y install ansible
#CentOS 8 安装
dnf -y install ansible
# CentOS 7 安装
yum -y install ansible
# 修改ansible 配置
## 说明id_rsa_storm1 私钥名字请自行修改
sed -i 's/^#private_key_file =.*$/private_key_file =\/root\/.ssh\/id_rsa_storm1/g' /etc/ansible/ansible.cfg
sed -i 's/^#sudo_user = root/sudo_user = root/g' /etc/ansible/ansible.cfg
sed -i 's/^#remote_port = 22/remote_port = 22/g' /etc/ansible/ansible.cfg
sed -i 's/^#host_key_checking = False/host_key_checking = False/g' /etc/ansible/ansible.cfg
sed -i '/\[ssh_connection\]/a\ssh_args = -o ControlMaster=no' /etc/ansible/ansible.cfg
下载 CFSSL 二进制文件/或者自行编译
# 配置CFSSL编译环境 一点要在跨系统部署请在低版本下编译会用到lib库高版本编译在低版本上运行要升级库
#Ubuntu 系列安装
apt -y install gcc git
#CentOS 8 安装
dnf -y install gcc git
# CentOS 7 安装
yum -y install gcc git
# 配置go 编译环境
# 下载go 语言
wget -P /usr/local/src/ https://dl.google.com/go/go1.12.14.linux-amd64.tar.gz
# 解压
tar -xf /usr/local/src/go1.12.14.linux-amd64.tar.gz -C /usr/local/
# 配置环境变量
cat << EOF >> /etc/profile
export GOPATH=/root/go
export GOBIN=/root/go/bin
PATH=\$PATH:/usr/local/go/bin:\$HOME/bin:\$GOBIN
export PATH
EOF
# 生效环境变量
source /etc/profile
# 编译 CFSSL
go get github.com/cloudflare/cfssl/cmd/cfssl
go get github.com/cloudflare/cfssl/cmd/cfssljson
#查看cfssl 是否安装成功
cfssl version
# 已经编译好的二进制文件
wget -P /tmp/ https://github.com/qist/lxcfs/releases/download/cfssl/cfssl.tar.gz
# 解压下载好文件tar -xf /tmp/cfssl.tar.gz -C /usr/bin/# 删除下载的压缩包rm -rf /tmp/cfssl.tar.gz
下载kubectl 可以是任意版本kubectl
wget -P /tmp/ https://storage.googleapis.com/kubernetes-release/release/v1.14.10/kubernetes-client-linux-amd64.tar.gz
# 解压
tar -xf /tmp/kubernetes-client-linux-amd64.tar.gz -C /tmp/
# cp 文件到/usr/bin
mv /tmp/kubernetes/client/bin/kubectl /usr/bin/
# 验证是否能执行
kubectl version
# 删除 没用文件rm -rf /tmp/kubernetes-client-linux-amd64.tar.gzrm -rf /tmp/kubernetes
下载 ansible 一键生成脚本
cd /opt
git clone https://github.com/qist/k8s.git
以 kubernetes.v1.17 脚本为例
准备下载使用的压缩包文件脚本不做下载,github 外网速度越来越慢下载成功率不高所有采用手动下载方式进行下载
打开kubernetes.v1.17.sh 查看下载路径 版本可以自行选择
# 创建压缩包存放目录
mkdir /tmp/source
# 下载K8S 集群所需压缩包
#docker 下载
wget -P /tmp/source https://download.docker.com/linux/static/stable/x86_64/docker-19.03.5.tgz
#lxcfs 下载
wget -P /tmp/source https://github.com/qist/lxcfs/releases/download/3.1.2/lxcfs-3.1.2.tar.gz
# cni 下载
wget -P /tmp/source https://github.com/containernetworking/plugins/releases/download/v0.8.3/cni-plugins-linux-amd64-v0.8.3.tgz
# etcd 下载
wget -P /tmp/source https://github.com/etcd-io/etcd/releases/download/v3.3.18/etcd-v3.3.18-linux-amd64.tar.gz
# 下载kubernetes server 压缩包
wget -P /tmp/source https://storage.googleapis.com/kubernetes-release/release/v1.17.0/kubernetes-server-linux-amd64.tar.gz
# 下载haproxy
wget -P /tmp/source https://www.haproxy.org/download/2.1/src/haproxy-2.1.1.tar.gz
# automake keepalived编译用到
wget -P /tmp/source https://ftp.gnu.org/gnu/automake/automake-1.15.1.tar.gz
# 下载keepalived
wget -P /tmp/source https://www.keepalived.org/software/keepalived-2.0.19.tar.gz
# iptables centos7 及Ubuntu18号版本用到
wget -P /tmp/source https://www.netfilter.org/projects/iptables/files/iptables-1.6.2.tar.bz2
修改kubernetes.v1.17.sh 文件改成自己环境所需配置信息
# 应用部署目录 可根据自己环境修改
TOTAL_PATH=/apps
ETCD_PATH=$TOTAL_PATH/etcd
# 大规模集群部署时建议分开存储,WAL 最好ssd
ETCD_DATA_DIR=$TOTAL_PATH/etcd/data/default.etcd
ETCD_WAL_DIR=$TOTAL_PATH/etcd/data/default.etcd
K8S_PATH=$TOTAL_PATH/k8s
POD_MANIFEST_PATH=$TOTAL_PATH/work
DOCKER_PATH=$TOTAL_PATH/docker
#DOCKER_BIN_PATH=$TOTAL_PATH/docker/bin #ubuntu 18 版本必须设置在/usr/bin 目录下面
DOCKER_BIN_PATH=/usr/bin
CNI_PATH=$TOTAL_PATH/cni
SOURCE_PATH=/usr/local/src # 远程服务器源码存放目录
KEEPALIVED_PATH=$TOTAL_PATH/keepalived
HAPROXY_PATH=$TOTAL_PATH/haproxy
# 设置工作端目录
HOST_PATH=`pwd`
# 设置工作端压缩包所在目录
TEMP_PATH=/tmp/source
#应用版本号
ETCD_VERSION=v3.3.18
K8S_VERSION=v1.17.0
LXCFS_VERSION=3.1.2
DOCKER_VERSION=19.03.5
CNI_VERSION=v0.8.3
IPTABLES_VERSION=1.6.2 #centos7,ubuntu18 版本需要升级 centos8, ubuntu19 不用升级
KEEPALIVED_VERSION=2.0.19
AUTOMAKE_VERSION=1.15.1 #KEEPALIVED 编译依赖使用
HAPROXY_VERSION=2.1.1
# 网络插件 选择 1、kube-router 2、kube-proxy+flannel 使用kube-router时external-ip 同网段不通需要做路由,kube-proxy 可以直接访问
NET_PLUG=1
# 节点间互联网络接口名称flannel 指定网络接口
IFACE="eth0"
# K8S api 网络互联接口 多网卡请指定接口ansible_网卡接口名字.ipv4.address
API_IPV4=ansible_default_ipv4.address
# kubelet pod 网络互联接口 ansible_${IFACE}.ipv4.address 单网卡使用ansible_default_ipv4.address 多个网卡请指定使用的网卡名字
KUBELET_IPV4=ansible_default_ipv4.address
# 证书相关配置
CERT_ST="GuangDong"
CERT_L="GuangZhou"
CERT_O="k8s"
CERT_OU="Qist"
CERT_PROFILE="kubernetes"
#数字证书时间及kube-controller-manager 签发证书时间
EXPIRY_TIME="87600h"
# K8S ETCD存储 目录名字
ETCD_PREFIX="/registry"
# 配置etcd集群参数
#ETCD_SERVER_HOSTNAMES="\"k8s-master-01\",\"k8s-master-02\",\"k8s-master-03\""
#ETCD_SERVER_IPS="\"192.168.2.247\",\"192.168.2.248\",\"192.168.2.249\""
ETCD_MEMBER_1_IP="192.168.2.247"
ETCD_MEMBER_1_HOSTNAMES="k8s-master-01"
ETCD_MEMBER_2_IP="192.168.2.248"
ETCD_MEMBER_2_HOSTNAMES="k8s-master-02"
ETCD_MEMBER_3_IP="192.168.2.249"
ETCD_MEMBER_3_HOSTNAMES="k8s-master-03"
ETCD_SERVER_HOSTNAMES="\"${ETCD_MEMBER_1_HOSTNAMES}\",\"${ETCD_MEMBER_2_HOSTNAMES}\",\"${ETCD_MEMBER_3_HOSTNAMES}\""
ETCD_SERVER_IPS="\"${ETCD_MEMBER_1_IP}\",\"${ETCD_MEMBER_2_IP}\",\"${ETCD_MEMBER_3_IP}\""
# etcd 集群间通信的 IP 和端口
INITIAL_CLUSTER="${ETCD_MEMBER_1_HOSTNAMES}=https://${ETCD_MEMBER_1_IP}:2380,${ETCD_MEMBER_2_HOSTNAMES}=https://${ETCD_MEMBER_2_IP}:2380,${ETCD_MEMBER_3_HOSTNAMES}=https://${ETCD_MEMBER_3_IP}:2380"
# etcd 集群服务地址列表
ENDPOINTS=https://${ETCD_MEMBER_1_IP}:2379,https://${ETCD_MEMBER_2_IP}:2379,https://${ETCD_MEMBER_3_IP}:2379
#K8S events 存储ETCD 集群 1开启 默认关闭0
K8S_EVENTS=0
if [ ${K8S_EVENTS} == 1 ]; then
# etcd events集群配置
#ETCD_EVENTS_HOSTNAMES="\"k8s-node-01\",\"k8s-node-02\",\"k8s-node-03\""
#ETCD_EVENTS_IPS="\"192.168.2.250\",\"192.168.2.251\",\"192.168.2.252\""
ETCD_EVENTS_MEMBER_1_IP="192.168.2.250"
ETCD_EVENTS_MEMBER_1_HOSTNAMES="k8s-node-01"
ETCD_EVENTS_MEMBER_2_IP="192.168.2.251"
ETCD_EVENTS_MEMBER_2_HOSTNAMES="k8s-node-02"
ETCD_EVENTS_MEMBER_3_IP="192.168.2.252"
ETCD_EVENTS_MEMBER_3_HOSTNAMES="k8s-node-03"
ETCD_EVENTS_HOSTNAMES="\"${ETCD_EVENTS_MEMBER_1_HOSTNAMES}\",\"${ETCD_EVENTS_MEMBER_2_HOSTNAMES}\",\"${ETCD_EVENTS_MEMBER_3_HOSTNAMES}\""
ETCD_EVENTS_IPS="\"${ETCD_EVENTS_MEMBER_1_IP}\",\"${ETCD_EVENTS_MEMBER_2_IP}\",\"${ETCD_EVENTS_MEMBER_3_IP}\""
# etcd 集群间通信的 IP 和端口
INITIAL_EVENTS_CLUSTER="${ETCD_EVENTS_MEMBER_1_HOSTNAMES}=https://${ETCD_EVENTS_MEMBER_1_IP}:2380,${ETCD_EVENTS_MEMBER_2_HOSTNAMES}=https://${ETCD_EVENTS_MEMBER_2_IP}:2380,${ETCD_EVENTS_MEMBER_3_HOSTNAMES}=https://${ETCD_EVENTS_MEMBER_3_IP}:2380"
ENDPOINTS="${ENDPOINTS} --etcd-servers-overrides=/events#https://${ETCD_EVENTS_MEMBER_1_IP}:2379;https://${ETCD_EVENTS_MEMBER_2_IP}:2379;https://${ETCD_EVENTS_MEMBER_3_IP}:2379"
fi
#是否开启docker0 网卡 参数: doakcer0 none k8s集群建议不用开启,单独部署请设置值为docker0
NET_BRIDGE="none"
# 配置K8S集群参数
# 最好使用 当前未用的网段 来定义服务网段和 Pod 网段
# 服务网段,部署前路由不可达,部署后集群内路由可达(kube-proxy 保证)
SERVICE_CIDR="10.66.0.0/16"
# Pod 网段,建议 /12 段地址,部署前路由不可达,部署后集群内路由可达(网络插件 保证)
CLUSTER_CIDR="10.80.0.0/12"
# 服务端口范围 (NodePort Range)
NODE_PORT_RANGE="30000-65535"
# kubernetes 服务 IP (一般是 SERVICE_CIDR 中第一个IP)
CLUSTER_KUBERNETES_SVC_IP="10.66.0.1"
# 集群名字
CLUSTER_NAME=kubernetes
#集群域名
CLUSTER_DNS_DOMAIN="cluster.local"
#集群DNS
CLUSTER_DNS_SVC_IP="10.66.0.2"
# k8s vip ip
K8S_VIP_1_IP="192.168.3.12"
K8S_VIP_2_IP="192.168.3.13"
K8S_VIP_3_IP="192.168.3.14"
K8S_VIP_DOMAIN="api.k8s.niuke.tech"
#kube-apiserver port
SECURE_PORT=5443
# kube-apiserver vip port # 如果配置vip IP 请设置
K8S_VIP_PORT=6443
# kube-apiserver vip ip
KUBE_APISERVER="https://${K8S_VIP_DOMAIN}:${K8S_VIP_PORT}"
# RUNTIME_CONFIG v1.16 版本设置 低于v1.16 RUNTIME_CONFIG="api/all=true" 即可
RUNTIME_CONFIG="api/all=true"
#开启插件enable-admission-plugins #AlwaysPullImages 启用istio 不能自动注入需要手动执行注入
ENABLE_ADMISSION_PLUGINS="DefaultStorageClass,DefaultTolerationSeconds,LimitRanger,NamespaceExists,NamespaceLifecycle,NodeRestriction,OwnerReferencesPermissionEnforcement,PodNodeSelector,PersistentVolumeClaimResize,PodPreset,PodTolerationRestriction,ResourceQuota,ServiceAccount,StorageObjectInUseProtection,MutatingAdmissionWebhook,ValidatingAdmissionWebhook"
#禁用插件disable-admission-plugins
DISABLE_ADMISSION_PLUGINS="DenyEscalatingExec,ExtendedResourceToleration,ImagePolicyWebhook,LimitPodHardAntiAffinityTopology,NamespaceAutoProvision,Priority,EventRateLimit,PodSecurityPolicy"
# 设置api 副本数
APISERVER_COUNT="3"
# 设置输出日志级别
LEVEL_LOG="2"
# api 突变请求最大数
MAX_MUTATING_REQUESTS_INFLIGHT="500"
# api 非突变请求的最大数目
MAX_REQUESTS_INFLIGHT="1500"
# 内存配置选项和node数量的关系,单位是MB: target-ram-mb=node_nums * 60
TARGET_RAM_MB="6000"
# kube-api-qps 默认50
KUBE_API_QPS="100"
#kube-api-burst 默认30
KUBE_API_BURST="100"
# pod-infra-container-image 地址
POD_INFRA_CONTAINER_IMAGE="docker.io/juestnow/pause-amd64:3.1"
# max-pods node 节点启动最多pod 数量
MAX_PODS=100
# 生成 EncryptionConfig 所需的加密 key
ENCRYPTION_KEY=$(head -c 32 /dev/urandom | base64)
#kube-apiserver 服务器IP列表 有更多的节点时请添加IP K8S_APISERVER_VIP="\"192.168.2.247\",\"192.168.2.248\",\"192.168.2.249\",\"192.168.2.250\",\"192.168.2.251\""
K8S_APISERVER_VIP="\"192.168.2.247\",\"192.168.2.248\",\"192.168.2.249\""
# 创建bootstrap配置
TOKEN_ID=$(head -c 6 /dev/urandom | md5sum | head -c 6)
TOKEN_SECRET=$(head -c 16 /dev/urandom | md5sum | head -c 16)
BOOTSTRAP_TOKEN=${TOKEN_ID}.${TOKEN_SECRET}
修改完成保存
创建新文件夹存放ansible 脚本及yml 脚本
# 到git clone 目录
mkdir k8s.v17.0
cd k8s.v17.0
cp ../kubernetes.v1.17.sh ./
# 执行脚本
bash kubernetes.v1.17.sh
# 查看生成数据
[root@k8s-node-09 k8s.v17.0]# ls
README.md cni.yml environment.sh haproxy.yml keepalived.yml kube-controller-manager.yml kubeconfig kubernetes.v1.17.sh package.yml yaml
cfssl docker.yml etcd.yml iptables.yml kube-apiserver.yml kube-scheduler.yml kubelet.yml lxcfs.yml roles
[root@k8s-node-09 k8s.v17.0]# tree
.
├── README.md
├── cfssl
│ ├── ca-config.json
│ ├── etcd
│ │ ├── etcd-ca-csr.json
│ │ ├── etcd-client.json
│ │ ├── etcd-server.json
│ │ ├── k8s-master-01.json
│ │ ├── k8s-master-02.json
│ │ └── k8s-master-03.json
│ ├── k8s
│ │ ├── aggregator.json
│ │ ├── k8s-apiserver-admin.json
│ │ ├── k8s-apiserver.json
│ │ ├── k8s-ca-csr.json
│ │ ├── k8s-controller-manager.json
│ │ ├── k8s-scheduler.json
│ │ └── kube-router.json
│ └── pki
│ ├── etcd
│ │ ├── etcd-ca-key.pem
│ │ ├── etcd-ca.csr
│ │ ├── etcd-ca.pem
│ │ ├── etcd-client-key.pem
│ │ ├── etcd-client.csr
│ │ ├── etcd-client.pem
│ │ ├── etcd-member-k8s-master-01-key.pem
│ │ ├── etcd-member-k8s-master-01.csr
│ │ ├── etcd-member-k8s-master-01.pem
│ │ ├── etcd-member-k8s-master-02-key.pem
│ │ ├── etcd-member-k8s-master-02.csr
│ │ ├── etcd-member-k8s-master-02.pem
│ │ ├── etcd-member-k8s-master-03-key.pem
│ │ ├── etcd-member-k8s-master-03.csr
│ │ ├── etcd-member-k8s-master-03.pem
│ │ ├── etcd-server-key.pem
│ │ ├── etcd-server.csr
│ │ └── etcd-server.pem
│ └── k8s
│ ├── aggregator-key.pem
│ ├── aggregator.csr
│ ├── aggregator.pem
│ ├── k8s-apiserver-admin-key.pem
│ ├── k8s-apiserver-admin.csr
│ ├── k8s-apiserver-admin.pem
│ ├── k8s-ca-key.pem
│ ├── k8s-ca.csr
│ ├── k8s-ca.pem
│ ├── k8s-controller-manager-key.pem
│ ├── k8s-controller-manager.csr
│ ├── k8s-controller-manager.pem
│ ├── k8s-scheduler-key.pem
│ ├── k8s-scheduler.csr
│ ├── k8s-scheduler.pem
│ ├── k8s-server-key.pem
│ ├── k8s-server.csr
│ ├── k8s-server.pem
│ ├── kube-router-key.pem
│ ├── kube-router.csr
│ └── kube-router.pem
├── cni.yml
├── docker.yml
├── environment.sh
├── etcd.yml
├── haproxy.yml
├── iptables.yml
├── keepalived.yml
├── kube-apiserver.yml
├── kube-controller-manager.yml
├── kube-scheduler.yml
├── kubeconfig
│ ├── admin.kubeconfig
│ ├── bootstrap.kubeconfig
│ ├── kube-controller-manager.kubeconfig
│ ├── kube-router.kubeconfig
│ └── kube-scheduler.kubeconfig
├── kubelet.yml
├── kubernetes.v1.17.sh
├── lxcfs.yml
├── package.yml
├── roles
│ ├── cni
│ │ ├── files
│ │ │ └── bin
│ │ │ ├── bandwidth
│ │ │ ├── bridge
│ │ │ ├── dhcp
│ │ │ ├── firewall
│ │ │ ├── flannel
│ │ │ ├── host-device
│ │ │ ├── host-local
│ │ │ ├── ipvlan
│ │ │ ├── loopback
│ │ │ ├── macvlan
│ │ │ ├── portmap
│ │ │ ├── ptp
│ │ │ ├── sbr
│ │ │ ├── static
│ │ │ ├── tuning
│ │ │ └── vlan
│ │ ├── tasks
│ │ │ └── main.yml
│ │ └── templates
│ ├── docker
│ │ ├── files
│ │ │ └── bin
│ │ │ ├── containerd
│ │ │ ├── containerd-shim
│ │ │ ├── ctr
│ │ │ ├── docker
│ │ │ ├── docker-init
│ │ │ ├── docker-proxy
│ │ │ ├── dockerd
│ │ │ └── runc
│ │ ├── tasks
│ │ │ └── main.yml
│ │ └── templates
│ │ ├── containerd.service
│ │ ├── daemon.json
│ │ ├── docker.service
│ │ └── docker.socket
│ ├── etcd
│ │ ├── files
│ │ │ ├── bin
│ │ │ │ ├── etcd
│ │ │ │ └── etcdctl
│ │ │ └── ssl
│ │ │ ├── etcd-ca-key.pem
│ │ │ ├── etcd-ca.pem
│ │ │ ├── etcd-client-key.pem
│ │ │ ├── etcd-client.pem
│ │ │ ├── etcd-member-k8s-master-01-key.pem
│ │ │ ├── etcd-member-k8s-master-01.pem
│ │ │ ├── etcd-member-k8s-master-02-key.pem
│ │ │ ├── etcd-member-k8s-master-02.pem
│ │ │ ├── etcd-member-k8s-master-03-key.pem
│ │ │ ├── etcd-member-k8s-master-03.pem
│ │ │ ├── etcd-server-key.pem
│ │ │ └── etcd-server.pem
│ │ ├── tasks
│ │ │ └── main.yml
│ │ └── templates
│ │ ├── etcd
│ │ └── etcd.service
│ ├── haproxy
│ │ ├── files
│ │ │ └── haproxy-2.1.1.tar.gz
│ │ ├── tasks
│ │ │ └── main.yml
│ │ └── templates
│ │ ├── 49-haproxy.conf
│ │ ├── haproxy
│ │ ├── haproxy.conf
│ │ └── haproxy.service
│ ├── iptables
│ │ ├── files
│ │ │ └── iptables-1.6.2.tar.bz2
│ │ ├── tasks
│ │ │ └── main.yml
│ │ └── templates
│ ├── keepalived
│ │ ├── files
│ │ │ ├── automake-1.15.1.tar.gz
│ │ │ └── keepalived-2.0.19.tar.gz
│ │ ├── tasks
│ │ │ └── main.yml
│ │ └── templates
│ │ ├── keepalived
│ │ ├── keepalived.conf
│ │ └── keepalived.service
│ ├── kube-apiserver
│ │ ├── files
│ │ │ ├── bin
│ │ │ │ └── kube-apiserver
│ │ │ ├── config
│ │ │ │ ├── audit-policy.yaml
│ │ │ │ └── encryption-config.yaml
│ │ │ └── ssl
│ │ │ ├── etcd
│ │ │ │ ├── etcd-ca.pem
│ │ │ │ ├── etcd-client-key.pem
│ │ │ │ └── etcd-client.pem
│ │ │ └── k8s
│ │ │ ├── aggregator-key.pem
│ │ │ ├── aggregator.pem
│ │ │ ├── k8s-ca.pem
│ │ │ ├── k8s-server-key.pem
│ │ │ └── k8s-server.pem
│ │ ├── tasks
│ │ │ └── main.yml
│ │ └── templates
│ │ ├── kube-apiserver
│ │ └── kube-apiserver.service
│ ├── kube-controller-manager
│ │ ├── files
│ │ │ ├── bin
│ │ │ │ └── kube-controller-manager
│ │ │ └── ssl
│ │ │ └── k8s
│ │ │ ├── k8s-ca-key.pem
│ │ │ ├── k8s-ca.pem
│ │ │ ├── k8s-controller-manager-key.pem
│ │ │ └── k8s-controller-manager.pem
│ │ ├── tasks
│ │ │ └── main.yml
│ │ └── templates
│ │ ├── kube-controller-manager
│ │ ├── kube-controller-manager.kubeconfig
│ │ └── kube-controller-manager.service
│ ├── kube-scheduler
│ │ ├── files
│ │ │ └── bin
│ │ │ └── kube-scheduler
│ │ ├── tasks
│ │ │ └── main.yml
│ │ └── templates
│ │ ├── kube-scheduler
│ │ ├── kube-scheduler.kubeconfig
│ │ └── kube-scheduler.service
│ ├── kubelet
│ │ ├── files
│ │ │ ├── bin
│ │ │ │ └── kubelet
│ │ │ └── ssl
│ │ │ └── k8s
│ │ │ └── k8s-ca.pem
│ │ ├── tasks
│ │ │ └── main.yml
│ │ └── templates
│ │ ├── bootstrap.kubeconfig
│ │ ├── kubelet
│ │ └── kubelet.service
│ ├── lxcfs
│ │ ├── files
│ │ │ ├── lib
│ │ │ │ └── lxcfs
│ │ │ │ ├── liblxcfs.la
│ │ │ │ └── liblxcfs.so
│ │ │ ├── lxcfs
│ │ │ └── lxcfs.service
│ │ ├── tasks
│ │ │ └── main.yml
│ │ └── templates
│ └── package
│ ├── files
│ ├── tasks
│ │ └── main.yml
│ └── templates
└── yaml├── allow-lxcfs-tz-env.yaml├── bootstrap-secret.yaml├── kube-api-rbac.yaml├── kube-router.yaml└── kubelet-bootstrap-rbac.yaml75 directories, 179 files
查看生成README.md
## 特别说明: keepalived 部署 必须单个部署 三节点部署
ansible-playbook -i 192.168.2.247, keepalived.yml -e IFACE=eth0 -e ROUTER_ID=HA1 -e HA1_ID=100 -e HA2_ID=110 -e HA3_ID=120 -e STATE_3=MASTER
ansible-playbook -i 192.168.2.248, keepalived.yml -e IFACE=eth0 -e ROUTER_ID=HA2 -e HA1_ID=110 -e HA2_ID=120 -e HA3_ID=100 -e STATE_2=MASTER
ansible-playbook -i 192.168.2.249, keepalived.yml -e IFACE=eth0 -e ROUTER_ID=HA3 -e HA1_ID=120 -e HA2_ID=100 -e HA3_ID=110 -e STATE_1=MASTER
# 大于3节点部署 5节点
ansible-playbook -i "192.168.2.247", keepalived.yml -e IFACE=eth0 -e ROUTER_ID=HA1 -e HA1_ID=100 -e HA2_ID=110 -e HA3_ID=140 -e STATE_3=MASTER
ansible-playbook -i "192.168.2.248", keepalived.yml -e IFACE=eth0 -e ROUTER_ID=HA2 -e HA1_ID=110 -e HA2_ID=140 -e HA3_ID=130 -e STATE_2=MASTER
ansible-playbook -i "192.168.2.249", keepalived.yml -e IFACE=eth0 -e ROUTER_ID=HA3 -e HA1_ID=140 -e HA2_ID=100 -e HA3_ID=120 -e STATE_1=MASTER
ansible-playbook -i "192.168.2.250", keepalived.yml -e IFACE=eth0 -e ROUTER_ID=HA4 -e HA1_ID=130 -e HA2_ID=120 -e HA3_ID=110
ansible-playbook -i "192.168.2.251", keepalived.yml -e IFACE=eth0 -e ROUTER_ID=HA5 -e HA1_ID=120 -e HA2_ID=130 -e HA3_ID=100
# 安装说明文件执行就OK node 节点安装ip 很多可以写如文件例如:
vi node
192.168.2.165
192.168.2.167
192.168.2.189
192.168.2.196
192.168.2.247
192.168.2.248
192.168.2.249
192.168.2.250
192.168.2.251
192.168.2.252
192.168.2.253
# 执行
ansible-playbook -i node xxx.yml
[root@k8s-node-09 k8s.v17.0]# cat README.md
########## mkdir -p /root/.kube
##########复制admin kubeconfig 到root用户作为kubectl 工具默认密钥文件
########## \cp -pdr /opt/k8s/k8s.v17.0/kubeconfig/admin.kubeconfig /root/.kube/config
###################################################################################
########## ansible 及ansible-playbook 单个ip ip结尾一点要添加“,”符号 ansible-playbook -i 192.168.0.1, xxx.yml
########## source /opt/k8s/k8s.v17.0/environment.sh 设置环境变量生效方便后期新增证书等
########## etcd 部署 ansible-playbook -i "192.168.2.247","192.168.2.248","192.168.2.249" etcd.yml
########## etcd EVENTS 部署 ansible-playbook -i , events-etcd.yml
########## kube-apiserver 部署 ansible-playbook -i "192.168.2.247","192.168.2.248","192.168.2.249", kube-apiserver.yml
########## haproxy 部署 ansible-playbook -i "192.168.2.247","192.168.2.248","192.168.2.249", haproxy.yml
########## keepalived 节点IP "192.168.2.247","192.168.2.248","192.168.2.249" 安装keepalived使用IP 如果大于三个节点安装keepalived 记得HA1_ID 唯一的也就是priority的值
########## keepalived 也可以全部部署为BACKUP STATE_x 可以使用默认值 IFACE 网卡名字默认eth0 ROUTER_ID 全局唯一ID HA1_ID为priority值
########## keepalived 部署 节点1 ansible-playbook -i 节点ip1, keepalived.yml -e IFACE=eth0 -e ROUTER_ID=HA1 -e HA1_ID=100 -e HA2_ID=110 -e HA3_ID=120 -e STATE_3=MASTER
########## keepalived 部署 节点2 ansible-playbook -i 节点ip2, keepalived.yml -e IFACE=eth0 -e ROUTER_ID=HA2 -e HA1_ID=110 -e HA2_ID=120 -e HA3_ID=100 -e STATE_2=MASTER
########## keepalived 部署 节点3 ansible-playbook -i 节点ip3, keepalived.yml -e IFACE=eth0 -e ROUTER_ID=HA3 -e HA1_ID=120 -e HA2_ID=100 -e HA3_ID=110 -e STATE_1=MASTER
########## kube-controller-manager kube-scheduler ansible-playbook -i "192.168.2.247","192.168.2.248","192.168.2.249", kube-controller-manager.yml kube-scheduler.yml
########## 部署完成验证集群 kubectl cluster-info kubectl api-versions kubectl get cs 1.16 kubectl 显示不正常
########## 提交bootstrap 跟授权到K8S 集群 kubectl apply -f /opt/k8s/k8s.v17.0/yaml/bootstrap-secret.yaml
########## 提交授权到K8S集群 kubectl apply -f /opt/k8s/k8s.v17.0/yaml/kubelet-bootstrap-rbac.yaml kubectl apply -f /opt/k8s/k8s.v17.0/yaml/kube-api-rbac.yaml
########## 系统版本为centos7 或者 ubuntu18 请先升级 iptables ansible-playbook -i 要安装node ip列表, iptables.yml
########## 安装K8S node 使用kube-router ansible部署 ansible-playbook -i 要安装node ip列表 package.yml lxcfs.yml docker.yml kubelet.yml
########## 安装K8S node 使用 flannel 网络插件ansible部署ansible-playbook -i 要安装node ip列表 package.yml lxcfs.yml docker.yml kubelet.yml kube-proxy.yml
########## 部署自动挂载日期与lxcfs 到pod的 PodPreset kubectl apply -f /opt/k8s/k8s.v17.0/yaml/allow-lxcfs-tz-env.yaml -n kube-system " kube-system 命名空间名字"PodPreset 只是当前空间生效所以需要每个命名空间执行
########## 查看node 节点是否注册到K8S kubectl get node kubectl get csr 如果有节点 kube-router 方式部署 kubectl apply -f /opt/k8s/k8s.v17.0/yaml/kube-router.yaml 等待容器部署完成查看node ip a | grep kube-bridge
########## flannel 网络插件部署 kubectl apply -f /opt/k8s/k8s.v17.0/yaml/flannel.yaml 等待容器部署完成查看node 节点网络 ip a| grep flannel.1
########## 给 master ingress 添加污点 防止其它服务使用这些节点:kubectl taint nodes k8s-master-01 node-role.kubernetes.io/master=:NoSchedule kubectl taint nodes k8s-ingress-01 node-role.kubernetes.io/ingress=:NoSchedule
########## calico 网络插件部署 50节点内 wget https://docs.projectcalico.org/v3.10/manifests/calico.yaml 大于50节点 wget https://docs.projectcalico.org/v3.10/manifests/calico-typha.yaml
########## 如果cni配置没放到默认路径请创建软链 ln -s /apps/cni/etc /etc/cni 同时修改yaml hostPath路径 同时修改CALICO_IPV4POOL_CIDR 参数为 10.80.0.0/12 CALICO_IPV4POOL_IPIP: Never 启用bgp模式
########## windows 证书访问 openssl pkcs12 -export -inkey k8s-apiserver-admin-key.pem -in k8s_apiserver-admin.pem -out client.p12
########## kubectl proxy --port=8001 & 把kube-apiserver 端口映射成本地 8001 端口
########## 查看kubelet节点配置信息 NODE_NAME="k8s-node-04"; curl -sSL "http://localhost:8001/api/v1/nodes/${NODE_NAME}/proxy/configz" | jq '.kubeletconfig|.kind="KubeletConfiguration"|.apiVersion="kubelet.config.k8s.io/v1beta1"' > kubele
t_configz_${NODE_NAME}
创建新证书例如:kubernetes-dashboard或者kubeconfig
# 生效环境变量
source /opt/k8s/k8s.v17.0/environment.sh
cat << EOF | tee ${HOST_PATH}/cfssl/k8s/kubernetes-dashboard.json
{"CN": "kubernetes-dashboard","hosts": [""], "key": {"algo": "rsa","size": 2048},"names": [{"C": "CN","ST": "$CERT_ST","L": "$CERT_L","O": "$CERT_O","OU": "$CERT_OU"}]
}
EOF
# 生成新的证书
cfssl gencert \-ca=${HOST_PATH}/cfssl/pki/k8s/k8s-ca.pem \-ca-key=${HOST_PATH}/cfssl/pki/k8s/k8s-ca-key.pem \-config=${HOST_PATH}/cfssl/ca-config.json \-profile=${CERT_PROFILE} \${HOST_PATH}/cfssl/k8s/kubernetes-dashboard.json | \cfssljson -bare ./kubernetes-dashboard
删除集群
kubectl delete deployments --all -Akubectl delete daemonsets --all -Akubectl delete statefulsets --all -Aansible -i node all -m shell -a "systemctl stop kubelet"ansible -i node all -m shell -a "systemctl stop docker"ansible -i node all -m shell -a "systemctl stop kube-proxy"ansible -i node all -m shell -a "systemctl stop containerd"ansible -i node all -m shell -a "systemctl stop kube-scheduler"ansible -i node all -m shell -a "systemctl stop kube-controller-manager"ansible -i node all -m shell -a "systemctl stop kube-apiserver"ansible -i node all -m shell -a "systemctl stop etcd"ansible -i node all -m shell -a "systemctl stop haproxy"ansible -i node all -m shell -a "systemctl stop keepalived"ansible -i node all -m shell -a "umount /apps/docker/root/netns/default"# 目录更改成自己环境路径 如果docker 跟其它应用部署一起就直接可以删除
ansible -i node all -m shell -a "rm -rf /apps/*"
ansible -i node all -m shell -a "rm -rf /etc/cni"
ansible -i node all -m shell -a "rm -rf /etc/docker"
ansible -i node all -m shell -a "rm -rf /etc/containerd"
ansible -i node all -m shell -a "rm -f /usr/bin/docker*"
ansible -i node all -m shell -a "rm -f /usr/bin/containerd*"
ansible -i node all -m shell -a "rm -f /usr/bin/ctr"
ansible -i node all -m shell -a "rm -f /usr/bin/runc"
# 关闭开机启动ansible -i node all -m shell -a "systemctl disable kubelet"ansible -i node all -m shell -a "systemctl disable docker"ansible -i node all -m shell -a "systemctl disable kube-proxy"ansible -i node all -m shell -a "systemctl disable containerd"ansible -i node all -m shell -a "systemctl disable kube-scheduler"ansible -i node all -m shell -a "systemctl disable kube-controller-manager"ansible -i node all -m shell -a "systemctl disable kube-apiserver"ansible -i node all -m shell -a "systemctl disable etcd"ansible -i node all -m shell -a "systemctl disable haproxy"ansible -i node all -m shell -a "systemctl disable keepalived"
# 删除开机启动文件ansible -i node all -m shell -a "rm -f /lib/systemd/system/kubelet.service"ansible -i node all -m shell -a "rm -f /lib/systemd/system/docker.service"ansible -i node all -m shell -a "rm -f /lib/systemd/system/docker.socket"ansible -i node all -m shell -a "rm -f /lib/systemd/system/kube-proxy.service"ansible -i node all -m shell -a "rm -f /lib/systemd/system/containerd.service"ansible -i node all -m shell -a "rm -f /lib/systemd/system/kube-scheduler.service"ansible -i node all -m shell -a "rm -f /lib/systemd/system/kube-controller-manager.service"ansible -i node all -m shell -a "rm -f /lib/systemd/system/kube-apiserver.service"ansible -i node all -m shell -a "rm -f /lib/systemd/system/etcd.service"ansible -i node all -m shell -a "rm -f /lib/systemd/system/haproxy.service"ansible -i node all -m shell -a "rm -f /lib/systemd/system/keepalived.service"
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
相关文章
- docker修改国内源
环境:centos7 ,docker18.03 修改或新增文件 vi /etc/docker/daemon.json {"registry-mirrors": ["https://kfwkfulq.mirror.aliyuncs.com","https://2lqq34jg.mirror.aliyuncs.com","https://pee6w651.mirror.aliyuncs.com","h…...
2024/5/6 15:29:59 - nginx架构分析
Nginx模块化#Nginx基于模块化设计,每个模块是一个功能实现,分布式开发,团队协作#核心模块、标准HTTP模块、可选HTTP模块、邮件模块、第三方模块#编译后的源码目录objs/ngx_modules.c#https://coding.net/u/aminglinux/p/nginx/git/blob/master/4z/module.mdNginx的web请求机…...
2024/4/24 8:20:34 - 如何提升Web前端性能?
什么是WEB前端呢?就是用户电脑的浏览器所做的一切事情。我们来看看用户访问网站,浏览器都做了哪些事情:输入网址 –> 解析域名 -> 请求页面 -> 解析页面并发送页面中的资源请求 -> 渲染资源 -> 输出页面 -> 监听用户操作 -> 重新渲染。通过上面的路径可…...
2024/5/6 7:29:12 - 解决PHP-FPM进程导致的服务器内存占用
最近php-fpm服务器经常内存偏高。 最简单也是马上见效的方法是重启服务,干脆重启服务器,这个对于某些临时进程导致的内存虚高可能有效,这里显然是不行滴。很可能影响到业务。 解决 查看服务器内存及进程状况php-fpm参数概述 下面对每个参数的意义进行简要的概述分析 pm=dyna…...
2024/5/6 5:23:34 - 学习Linux第十八节课
使用Squid部署代理缓存服务Squid≠***正向、反向代理。网站数据=静态+动态访问控制列表ALC正向代理一般用于企业局域网中,监控用户、减少带宽开销。反向代理为大中型网站使用,减轻网站服务器压力,提高用户访问体验。...
2024/4/24 8:20:31 - LVS负载均衡群集之NAT模式搭建 (实践篇)
实验原理图实验环境LVS调度器作为web服务器池的网关 LVS服务器配置两块网卡分别连接内外网 使用轮询(rr)调度算法 LVS负载调度器网段规划 内网33网关:192.168.144.1 外网36:12.0.0.1 web1 192.168.144.151 web2 192.168.144.170 nfs服务器 192.168.144.145 client测试机 1…...
2024/4/24 8:20:30 - Awstats日志分析(实战)
环境准备CentOS 7-4:192.168.18.148---->服务器 win 7-1:192.168.18.129---->客户机在CnetOS 7-4中安装服务: [root@localhost ~]# yum install bind httpd -y 在CnetOS 7-4中配置DNS服务: [root@localhost ~]# vim /etc/named.conf options {listen-on port 53 { an…...
2024/4/24 8:20:29 - 聊一聊Centos 7中的Redis(非关系型数据库)
博文目录一、关系型数据库与非关系型数据库二、Redis数据库简介三、Redis安装部署四、Redis命令工具Redis数据库是一个非关系型数据库,在讨论Redis之前,我们先了解关系型数据库与非关系型数据库的概念。 一、关系型数据库与非关系型数据库 数据库按照其结构可以分为关系型数据…...
2024/5/6 9:04:15 - Memcached原理与部署
Memcached概述 一套开源的高性能分布式内存对象缓存系统 所有的数据都存储在内存中 支持任意存储类型的数据 提高网站的访问速度 Memcached常用架构Memcached路由算法 ●求余数hash算法 先用key做hash运算得到一个整数,再去做hash算法,根据余数进行路 由,这种算法适合大多数据…...
2024/4/24 8:20:27 - Saltstack介绍及简单配置
Saltstack介绍 Saltstack官方文档: dock.saltstack.com Saltstack项目:github.com/saltstack Saltstack中文网:wiki.saltstack.cn Salt是基础平台管理工具。只需花费数分钟即可运行,扩展性足以支撑管理上万台服务器,数秒钟即可完成数据传递。 Salt可以做什么…...
2024/4/16 15:51:54 - Linux查看版本的方法总结(包括Ubuntu,centos,SUSE Linux)
方法一如果是centos # cat /etc/centos-release Centos release 6.8 (Final) # cat /etc/redhat-release Centos release 6.8 (Final)  如果是Ubuntu #cat /etc/lsb-release 如果是SUSE Linux # cat /etc/SuSE-release SUSE Linux Enterprise Server 11 (x86…...
2024/4/28 10:35:10 - 实时同步工具原理解释及环境准备inotify
实时同步,确保主服务器故障时将丢失数据的风险降到最低,实现原理就是当主服务器接收到数据时同时复制到另一服务器上,确保有多一份数据。 用到的工具:inotify或者sersync,这次使用inotify演示。 当inotify运行时会时刻监控着文件系统(inode、block等属性) 当inotify监…...
2024/5/6 6:50:35 - linux做防火墙时运用iptables进行NAT地址转换
@[toc] 前言:简述地址映射 DNAT地址转换,客户机访问服务端SNAT地址转化,服务端访问客户机 图示 注意:配置网卡要全都配置为仅主机模式 一:防火墙配置:两个网卡,都是仅主机模式,配置静态ip [root@localhost ~]# cd /etc/sysconfig/network-scripts/ [root@localhost net…...
2024/4/16 15:52:40 - 树莓派3B编译安装Apache,nginx,mysql,php等遇到的问题
树莓派编译安装LANMP简介我这里的树莓派是3B版本,CPU4核,内存1G,系统我用的是Ubuntu的19.10版。镜像采用阿里的镜像,镜像源如下: deb https://mirrors.aliyun.com/ubuntu-ports eoan main restricteddeb https://mirrors.aliyun.com/ubuntu-ports eoan-updates main restr…...
2024/4/16 15:52:30 - Oracle-12c安装-Linux
1,给虚拟机添加一块硬盘,并格式化[root@localhost ~]# systemctl stop firewalld.service ##关闭防火墙 [root@localhost ~]# setenforce 0 [root@localhost ~]# systemctl disable firewalld.service ##开启不自动启动 [root@localhost ~]# fdisk /dev/sdb ##分区 欢…...
2024/4/16 15:52:45 - linux基础命令1
回显命令:echo 内建命令echo "How are you"echo "$SHELL" 弱应用,显示变量中的值/bin/bashecho $SHELL 强引用类型,不会显示变量中的值$SHELL-n:禁止显示换行符,默认自动加换行符-e:允许使用转义符\n:换行\t:制表符echo -e "\n 哈哈"…...
2024/4/16 15:52:25 - CentOS7.X环境下基于docker安装部署RabbitMQ集群
在之前的文章中我已经介绍过使用源码来安装RabbitMQ(可参考文章https://blog.51cto.com/8355320/2445237 ),安装过程也比较繁琐,今天因环境需求,需搭建RabbitMQ集群,由于业务也都采取docker容器方式部署,因此也研究将RabbitMQ采用docker来部署,本文特将部署步骤记录下来…...
2024/4/16 15:52:25 - 应用程序内存泄漏问题排查--运维排查技巧
应用程序内存泄漏问题排查 1.文章的由来; 在日常运维过程中,会遇到服务器资源居高不下,或者CPU内存暴涨问题而引发的oom导致服务不可用 (大多数程序都是java应用),由此编写了该文章,为工作排查问题参考依据和快速定位问题方法;2.基础知识储备; (1).jvm 配置常见参数:…...
2024/4/24 8:20:26 - 学习Linux第十六节课 配置域名解析
使用BIND提供域名解析服务1、正向解析 域名-IP2、反向解析 IP-域名DNS域名解析服务器:主服务器、(管理)从服务器、(同步)缓存服务器。(转发)3、分离解析:输入同一个域名,根据客户端不同ip,解析到不同的服务器ip,提升用户访问体验。例如:海外用户。这章难度略大,考试不…...
2024/4/24 8:20:25 - 详述LVS负载均衡群集 (理论篇)
企业群集应用概述 群集的含义Cluster,集群、群集 由多台主机构成,但对外只表现为一个整体在互联网应用中,随着站点对硬件性能、响应速度、服务稳定性、数据可靠性等要求越来越高,单台服务器力不从心解决方法使用价格昂贵的小型机、大型机 使用普通服务器构建群集企业群集分…...
2024/4/24 8:20:24
最新文章
- 《从Paxos到Zookeeper》——第五、六章:经典应用场景
目录 第五章 使用Zookeeper 5.1 服务端部署与运行 5.2 客户端相关 5.2.1 客户端运行 5.2.2 客户端命令 5.3 Java客户端API 5.4 开源客户端 第六章 经典应用场景 6.1 典型应用场景及实现 6.1.1 数据发布/订阅(全局配置中心) 6.1.2 负载均衡(Lo…...
2024/5/6 17:09:33 - 梯度消失和梯度爆炸的一些处理方法
在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言,在此感激不尽。 权重和梯度的更新公式如下: w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...
2024/5/6 9:38:23 - 全局UI方法-弹窗二-列表选择弹窗(ActionSheet)
1、描述 定义列表弹窗 2、接口 ActionSheet.show(value:{ title: string | Resource, message: string | Resource, autoCancel?: boolean, confrim?: {value: string | Resource, action: () > void }, cancel?: () > void, alignment?: DialogAlignment, …...
2024/5/4 10:52:34 - JVM快速入门(2)HotSpot和堆、新生区、永久区、堆内存调优、JProfiler工具分析OOM原因、GC(垃圾回收)、JVM经典面试笔试题整理
5.6 HotSpot和堆 5.6.1 Hotspot 三种JVM: Sun公司,HotspotBEA,JRockitIBM,J9 VM,号称是世界上最快的Java虚拟机 我们一般学习的是:HotSpot 5.6.2 堆 Heap,一个JVM只有一个堆内存,…...
2024/5/5 8:27:25 - 【外汇早评】美通胀数据走低,美元调整
原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...
2024/5/4 23:54:56 - 【原油贵金属周评】原油多头拥挤,价格调整
原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...
2024/5/4 23:54:56 - 【外汇周评】靓丽非农不及疲软通胀影响
原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...
2024/5/4 23:54:56 - 【原油贵金属早评】库存继续增加,油价收跌
原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...
2024/5/6 9:21:00 - 【外汇早评】日本央行会议纪要不改日元强势
原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...
2024/5/4 23:54:56 - 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响
原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...
2024/5/4 23:55:05 - 【外汇早评】美欲与伊朗重谈协议
原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...
2024/5/4 23:54:56 - 【原油贵金属早评】波动率飙升,市场情绪动荡
原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...
2024/5/4 23:55:16 - 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试
原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...
2024/5/4 23:54:56 - 【原油贵金属早评】市场情绪继续恶化,黄金上破
原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...
2024/5/6 1:40:42 - 【外汇早评】美伊僵持,风险情绪继续升温
原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...
2024/5/4 23:54:56 - 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势
原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...
2024/5/4 23:55:17 - 氧生福地 玩美北湖(上)——为时光守候两千年
原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...
2024/5/4 23:55:06 - 氧生福地 玩美北湖(中)——永春梯田里的美与鲜
原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...
2024/5/4 23:54:56 - 氧生福地 玩美北湖(下)——奔跑吧骚年!
原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...
2024/5/4 23:55:06 - 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!
原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...
2024/5/5 8:13:33 - 「发现」铁皮石斛仙草之神奇功效用于医用面膜
原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...
2024/5/4 23:55:16 - 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者
原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...
2024/5/4 23:54:58 - 广州械字号面膜生产厂家OEM/ODM4项须知!
原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...
2024/5/4 23:55:01 - 械字号医用眼膜缓解用眼过度到底有无作用?
原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...
2024/5/4 23:54:56 - 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...
解析如下:1、长按电脑电源键直至关机,然后再按一次电源健重启电脑,按F8健进入安全模式2、安全模式下进入Windows系统桌面后,按住“winR”打开运行窗口,输入“services.msc”打开服务设置3、在服务界面,选中…...
2022/11/19 21:17:18 - 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。
%读入6幅图像(每一幅图像的大小是564*564) f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...
2022/11/19 21:17:16 - 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...
win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面,在等待界面中我们需要等待操作结束才能关机,虽然这比较麻烦,但是对系统进行配置和升级…...
2022/11/19 21:17:15 - 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...
有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows,请勿关闭计算机”的提示,要过很久才能进入系统,有的用户甚至几个小时也无法进入,下面就教大家这个问题的解决方法。第一种方法:我们首先在左下角的“开始…...
2022/11/19 21:17:14 - win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...
置信有很多用户都跟小编一样遇到过这样的问题,电脑时发现开机屏幕显现“正在配置Windows Update,请勿关机”(如下图所示),而且还需求等大约5分钟才干进入系统。这是怎样回事呢?一切都是正常操作的,为什么开时机呈现“正…...
2022/11/19 21:17:13 - 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...
Win7系统开机启动时总是出现“配置Windows请勿关机”的提示,没过几秒后电脑自动重启,每次开机都这样无法进入系统,此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一:开机按下F8,在出现的Windows高级启动选…...
2022/11/19 21:17:12 - 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...
有不少windows10系统用户反映说碰到这样一个情况,就是电脑提示正在准备windows请勿关闭计算机,碰到这样的问题该怎么解决呢,现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法:1、2、依次…...
2022/11/19 21:17:11 - 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...
今天和大家分享一下win7系统重装了Win7旗舰版系统后,每次关机的时候桌面上都会显示一个“配置Windows Update的界面,提示请勿关闭计算机”,每次停留好几分钟才能正常关机,导致什么情况引起的呢?出现配置Windows Update…...
2022/11/19 21:17:10 - 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...
只能是等着,别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚,只能是考虑备份数据后重装系统了。解决来方案一:管理员运行cmd:net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...
2022/11/19 21:17:09 - 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?
原标题:电脑提示“配置Windows Update请勿关闭计算机”怎么办?win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢?一般的方…...
2022/11/19 21:17:08 - 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...
关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!关机提示 windows7 正在配…...
2022/11/19 21:17:05 - 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...
钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...
2022/11/19 21:17:05 - 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...
前几天班里有位学生电脑(windows 7系统)出问题了,具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面,长时间没反应,无法进入系统。这个问题原来帮其他同学也解决过,网上搜了不少资料&#x…...
2022/11/19 21:17:04 - 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...
本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法,并在最后教给你1种保护系统安全的好方法,一起来看看!电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中,添加了1个新功能在“磁…...
2022/11/19 21:17:03 - 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...
许多用户在长期不使用电脑的时候,开启电脑发现电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机。。.这要怎么办呢?下面小编就带着大家一起看看吧!如果能够正常进入系统,建议您暂时移…...
2022/11/19 21:17:02 - 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...
配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!配置windows update失败 还原更改 请勿关闭计算机&#x…...
2022/11/19 21:17:01 - 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...
不知道大家有没有遇到过这样的一个问题,就是我们的win7系统在关机的时候,总是喜欢显示“准备配置windows,请勿关机”这样的一个页面,没有什么大碍,但是如果一直等着的话就要两个小时甚至更久都关不了机,非常…...
2022/11/19 21:17:00 - 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...
当电脑出现正在准备配置windows请勿关闭计算机时,一般是您正对windows进行升级,但是这个要是长时间没有反应,我们不能再傻等下去了。可能是电脑出了别的问题了,来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...
2022/11/19 21:16:59 - 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...
我们使用电脑的过程中有时会遇到这种情况,当我们打开电脑之后,发现一直停留在一个界面:“配置Windows Update失败,还原更改请勿关闭计算机”,等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢࿰…...
2022/11/19 21:16:58 - 如何在iPhone上关闭“请勿打扰”
Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...
2022/11/19 21:16:57