Kubernetes学习笔记(三)------运行Kubernetes集群

[Kubernetes]1.Kubernetes(K8S)介绍,基于腾讯云的K8S环境搭建集群以及裸机搭建K8S集群 Kubernetes(K8S)介绍,基于腾讯云的K8S环境搭建集群以及裸机搭建K8S集群 阅读详情

一、创建Kubernetes集群

选择正确的解决方案:

  • 如果你只是想试一试Kubernetes,我们推荐基于Docker的本地方案。
  • 基于Docker的本地方案是众多能够完成快速搭建的本地集群方案中的一种,但是局限于单台机器。
  • 当你准备好扩展到多台机器和更高可用性时,托管解决方案是最容易搭建和维护的。
  • 全套云端方案 只需要少数几个命令就可以在更多的云服务提供商搭建Kubernetes。
  • 定制方案 需要花费更多的精力,但是覆盖了从零开始搭建Kubernetes集群的通用建议到分步骤的细节指引。

以下用表格形式列出上面的所有方案。

IaaS ProviderConfig.MgmtOSNetworkingDocsConforms 
GKE  GCEdocs[✓][3] 
VagrantSaltstackFedoraflanneldocs[✓][2] 
GCESaltstackDebianGCEdocs[✓][1] 
AzureCoreOSCoreOSWeavedocs  
Docker Single NodecustomN/Alocaldocs  
Docker Multi NodeFlannelN/Alocaldocs  
Bare-metalAnsibleFedoraflanneldocs  
Digital OceancustomFedoraCalicodocs  
Bare-metalcustomFedoranonedocs  
Bare-metalcustomFedoraflanneldocs  
libvirtcustomFedoraflanneldocs  
KVMcustomFedoraflanneldocs  
       
Mesos/DockercustomUbuntuDockerdocs  
Mesos/GCE   docs  
AWSCoreOSCoreOSflanneldocs  
GCECoreOSCoreOSflanneldocs  
VagrantCoreOSCoreOSflanneldocs  
Bare-metal (Offline)CoreOSCoreOSflanneldocs  
Bare-metalCoreOSCoreOSCalicodocs  
CloudStackAnsibleCoreOSflanneldocs  
Vmware DebianOVSdocs  
Bare-metalcustomCentOSnonedocs  
AWSJujuUbuntuflanneldocs  
OpenStack/HPCloudJujuUbuntuflanneldocs  
JoyentJujuUbuntuflanneldocs  
AWSSaltstackUbuntuOVSdocs  
AzureSaltstackUbuntuOpenVPNdocs  
Bare-metalcustomUbuntuCalicodocs  
Bare-metalcustomUbuntuflanneldocs  
Local  nonedocs  
libvirt/KVMCoreOSCoreOSlibvirt/KVMdocs  
oVirt   docs  
RackspaceCoreOSCoreOSflanneldocs  
anyanyanyanydocs  

注意:以上表格按照支持级别和测试及使用的版本进行排序。表格中列说明:

  • IaaS Provider 是指提供Kubernetes运行环境的虚拟机或物理机(节点)资源的提供商。
  • OS 是指节点上运行的基础操作系统。
  • Config. Mgmt 是指节点上安装和管理Kubernetes软件的的配置管理系统。
  • Networking 是指实现网络模型的软件。 none 表示只支持一个节点,或支持单物理节点 上的虚拟机节点。
  • Conformance 表示使用该种配置创建的集群是否通过了项目一致性测试,支持

Kubernetes v1.0.0的API和基本特性。

  • Support Levels(支持级别)
  • Project:Kubernetes贡献者们经常使用该配置,所以通常最新的版本可使用。
  • Commercial:某些厂商负责在自己的平台支持。
  • Community:在社区中有活跃支持,但可能最新版本不适用。
  • Inactive: 对于初次使用Kubernetes的用户不推荐,并且有可能在将来被移除。
  • Notes 说明,比如适用的Kubernetes版本。

二、 在Ubuntu快速搭建k8s demo

1.环境设置(两台虚拟机都进行设置):在Ubuntu16.04安装,关闭ufw防火墙,Ubuntu默认未启用,无需设置。

$ sudo ufw disable  

禁用SELINUX,ubuntu默认不安装selinux,假如安装了的话,按如下步骤禁用selinux,临时禁用(重启后失效)

$ sudo setenforce 0                 #0代表permissive 1代表enforcing

永久禁用

$ sudo vi /etc/selinux/config
SELINUX=permissive     

内核开启ipv4转发,修改/etc/sysctl.conf,开启ipv4转发

 sudo vim /etc/sysctl.conf
net.ipv4.ip_forward = 1             #开启ipv4转发,允许内置路由

写入后执行如下命令生效:

$ sudo sysctl -p

数据包经过路由后,假如不是发往本机的流量,下一步会走iptables的FORWARD链,而docker从1.13版本开始,将FORWARD链的默认策略设置为DROP,会导致出现一些例如跨主机的两个pod使用podIP互访失败等问题。解决方案有2个:

在所有节点上开机启动时执行iptables -P FORWARD ACCEPT,让docker不操作iptables,方案一,临时生效:

$ sudo iptables -P FORWARD ACCEPT

iptables的配置重启后会丢失,可以将配置写进/etc/rc.local中,重启后自动执行:

/usr/sbin/iptables -P FORWARD ACCEPT

方案二,设置docker启动参数添加--iptables=false选项,使docker不再操作iptables,比如1.10版以上可编辑docker daemon默认配置文件/etc/docker/daemon.json:

{
    "iptables": false
}

禁掉所有的swap分区

$ sudo swapoff -a

同时还需要修改/etc/fstab文件,注释掉 SWAP 的自动挂载,防止机子重启后swap启用。修改/etc/fstab 文件,它永久性地关闭swap space, 只需在下面两行前面加上(#),然后重启虚拟机。

配置iptables参数,使得流经网桥的流量也经过iptables/netfilter防火墙:

$ sudo tee /etc/sysctl.d/k8s.conf <<-'EOF'
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF

$ sudo sysctl --system

2.(两台虚拟机都进行设置)一定要改每台虚拟机的主机名,进入系统设置,选择Detail,进入Overview,直接修改DeviceName,Master节点和Node节点都需要改,而且不能重名。

主机名    IP
ubuntu-master    192.168.246.128
kube-slave    192.168.246.129

3.( 两台虚拟机都进行设置)安装docker-18.03.1
卸载旧docke

$ sudo apt-get remove docker docker-engine docker.io    

安装依赖,使得apt可以使用https:

sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    software-properties-common

添加docker的GPG key:

$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -


国内访问download.docker.com不稳定的话可以使用阿里云的:

$ curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

设置docker镜像源:

$ sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
   stable"

国内访问download.docker.com不稳定的话可以使用阿里云镜像源:

$ sudo add-apt-repository \
   "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu \
   $(lsb_release -cs) \
   stable"

安装指定版本docker-ce,查看源中都有哪些版本:

$ apt-cache madison docker-ce
 docker-ce | 18.06.1~ce~3-0~ubuntu | https://mirrors.aliyun.com/docker-ce/linux/ubuntu bionic/stable amd64 Packages
 docker-ce | 18.06.0~ce~3-0~ubuntu | https://mirrors.aliyun.com/docker-ce/linux/ubuntu bionic/stable amd64 Packages
 docker-ce | 18.03.1~ce~3-0~ubuntu | https://mirrors.aliyun.com/docker-ce/linux/ubuntu bionic/stable amd64 Packages

安装18.03.1版:

$ sudo apt-get install -y docker-ce=18.03.1~ce~3-0~ubuntu

启动并设置开机自启动docker:

$ sudo systemctl enable docker && sudo systemctl start docker

将当前登录用户username加入docker用户组中:

$ sudo usermod -aG docker username

然后退出,重新登录,使用docker命令就不用加sudo了。

docker启动参数配置(选修),为docker做如下配置:

设置阿里云镜像库加速dockerhub的镜像。国内访问dockerhub不稳定,将对dockerhub的镜像拉取代理到阿里云镜像库配上1.3.2的禁用iptables的设置,如果想让podIP可路由的话,设置docker不再对podIP做MASQUERADE,否则docker会将podIP这个源地址SNAT成nodeIP,设置docker存储驱动为overlay2(需要linux kernel版本在4.0以上,docker版本大于1.12),根据业务规划修改容器实例存储根路径(默认路径是/var/lib/docker),最终配置如下:

$ sudo tee /etc/docker/daemon.json <<-'EOF'
{
 "registry-mirrors": ["https://xxxxxxxx.mirror.aliyuncs.com"],
 "iptables": false,
 "ip-masq": false,
 "storage-driver": "overlay2",
 "graph": "/home/lk/docker"
}
EOF

$ sudo systemctl restart docker

备注:docker的所有启动参数可见:https://docs.docker.com/engine/reference/commandline/dockerd/
将xxxxxxxx替换成阿里云为你生成的镜像代理仓库前缀
4.安装kubeadm、kubelet、kubectl(两台虚拟机)
 apt安装, 创建kubernetes的repo,创建kubernetes的source文件,google地址被墙的情况下可以使用阿里云或者中科大的镜像站:

sudo apt-get update && sudo apt-get install -y apt-transport-https curl

sudo curl -s https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | sudo apt-key add -

sudo tee /etc/apt/sources.list.d/kubernetes.list <<-'EOF'
deb https://mirrors.aliyun.com/kubernetes/apt kubernetes-xenial main
EOF

sudo apt-get update

 安装kubeadm、kubelet、kubectl,查看可用软件版本:

$ apt-cache madison kubeadm
   kubeadm |  1.12.1-00 | https://mirrors.aliyun.com/kubernetes/apt kubernetes-xenial/main amd64 Packages
   kubeadm |  1.12.0-00 | https://mirrors.aliyun.com/kubernetes/apt kubernetes-xenial/main amd64 Packages
   kubeadm |  1.11.3-00 | https://mirrors.aliyun.com/kubernetes/apt kubernetes-xenial/main amd64 Packages
   ......

安装指定版本:

$ sudo apt-get install -y kubelet=1.12.0-00 kubeadm=1.12.0-00 kubectl=1.12.0-00 kubernetes-cni=0.6.0-00
$ sudo apt-mark hold kubelet=1.12.0-00 kubeadm=1.12.0-00 kubectl=1.12.0-00

设置开机自启动并运行kubelet:

sudo systemctl enable kubelet && sudo systemctl start kubelet

5.master节点部署(ubuntu-master虚拟机)
提前下载所需镜像,看一下kubernetes v1.12.0需要哪些镜像:

$ kubeadm config images list --kubernetes-version=v1.12.0

k8s.gcr.io/kube-apiserver:v1.12.0
k8s.gcr.io/kube-controller-manager:v1.12.0
k8s.gcr.io/kube-scheduler:v1.12.0
k8s.gcr.io/kube-proxy:v1.12.0
k8s.gcr.io/pause:3.1
k8s.gcr.io/etcd:3.2.24
k8s.gcr.io/coredns:1.2.2

由于gcr.io被墙,从anjia0532镜像地址下载:

docker pull anjia0532/google-containers.kube-apiserver:v1.12.0
docker pull anjia0532/google-containers.kube-controller-manager:v1.12.0
docker pull anjia0532/google-containers.kube-scheduler:v1.12.0
docker pull anjia0532/google-containers.kube-proxy:v1.12.0
docker pull anjia0532/google-containers.pause:3.1
docker pull anjia0532/google-containers.etcd:3.2.24
docker pull anjia0532/google-containers.coredns:1.2.2

重新打回k8s.gcr.io的镜像tag:

docker tag anjia0532/google-containers.kube-apiserver:v1.12.0 k8s.gcr.io/kube-apiserver:v1.12.0
docker tag anjia0532/google-containers.kube-controller-manager:v1.12.0 k8s.gcr.io/kube-controller-manager:v1.12.0
docker tag anjia0532/google-containers.kube-scheduler:v1.12.0 k8s.gcr.io/kube-scheduler:v1.12.0
docker tag anjia0532/google-containers.kube-proxy:v1.12.0 k8s.gcr.io/kube-proxy:v1.12.0
docker tag anjia0532/google-containers.pause:3.1 k8s.gcr.io/pause:3.1
docker tag anjia0532/google-containers.etcd:3.2.24 k8s.gcr.io/etcd:3.2.24
docker tag anjia0532/google-containers.coredns:1.2.2 k8s.gcr.io/coredns:1.2.2

使用kubeadmin初始化master节点:最后ip为本机ip

 kubeadm init --kubernetes-version=v1.12.0   --pod-network-cidr=10.244.0.0/16 --apiserver-advertise-address=192.168.246.128

如下图执行成功,记住join命令:

如果执行的时候报错,提示说需要disable swap,因为Kubernetes v1.8+ 要求关闭系统 Swap,修改/etc/fstab 文件,它永久性地关闭swap space, 只需在下面两行前面加上(#),然后重启虚拟机。或者直接运行sudo swapoff -a,如果还出错,执行命令kubeadm reset之后,再执行kubeadm init,执行如下命令来配置kubectl

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

这样master的节点就配置好了,并且可以使用kubectl来进行各种操作了,根据上面的提示接着往下做,需要安装一个网络插件。从canal官方文档参考,如下网址下载2个文件并且安装,其中一个是配置canal的RBAC权限,一个是部署canal的DaemonSet。但笔者是从这里(Installing a pod network add-on)参考的,根据kubeadm init时用到的--pod-network-cidr=10.244.0.0/16,所以选择了canal。命令(每次重启必须执行,不然无法通信):

$kubectl apply -f https://docs.projectcalico.org/v3.1/getting-started/kubernetes/installation/hosted/canal/rbac.yaml
 
clusterrole.rbac.authorization.k8s.io "calico" created
clusterrole.rbac.authorization.k8s.io "flannel" created
clusterrolebinding.rbac.authorization.k8s.io "canal-flannel" created
clusterrolebinding.rbac.authorization.k8s.io "canal-calico" created
 
 
$kubectl apply -f https://docs.projectcalico.org/v3.1/getting-started/kubernetes/installation/hosted/canal/canal.yaml
 
configmap "canal-config" created
daemonset.extensions "canal" created
customresourcedefinition.apiextensions.k8s.io "felixconfigurations.crd.projectcalico.org" created
customresourcedefinition.apiextensions.k8s.io "bgpconfigurations.crd.projectcalico.org" created
customresourcedefinition.apiextensions.k8s.io "ippools.crd.projectcalico.org" created
customresourcedefinition.apiextensions.k8s.io "clusterinformations.crd.projectcalico.org" created
customresourcedefinition.apiextensions.k8s.io "globalnetworkpolicies.crd.projectcalico.org" created
customresourcedefinition.apiextensions.k8s.io "networkpolicies.crd.projectcalico.org" created
serviceaccount "canal" created

执行以下命令:kubectl get pod -n kube-system -o wide即可查看安装效果

6.slave节点(另一台虚拟机)执行记录好的join命令:

kubeadm join 192.168.246.128:6443 --token aoanr5.geidnr74gvp5xrlc --discovery-token-ca-cert-hash sha256:beb198cf8a70ff17c96b387b06de16d6973f9b8cacb1a8e1586b52ff5f84db0c

报个错是因为少了一些kernel moudules,我们依次运行:

modprobe ip_vs
modprobe ip_vs_rr
modprobe ip_vs_wrr
modprobe ip_vs_sh
modprobe nf_conntrack_ipv4

如果还遇到swap的问题,可以运行sudo swapoff -a,然后再运行上面的kubeadm join的代码,最后就执行成功了,在Master 上运行kube get nodes, 结果如下:

root@ubuntu:/home/cong# kubectl get nodes
NAME            STATUS     ROLES     AGE       VERSION
kube-slave      Ready      <none>    1h       v1.12.0
ubuntu-master   Ready      master    1h       v1.12.0

备注:如果是notready,ubuntu-master每次重启必须要设置网络插件canal,kube-slave则必须通过Kubectl get node 获取节点状态、kubectl get pods -n kube-system -owide | grep kube-slave 获取有关该节点的所有pods、kubectl describe pod canal-xxxxx 获取该xxxx-pod的状态,读取日志分析错误。我的错误是镜像该节点下载不下来,所以采用将主节点镜像打包传递docker save 3030 > /home/ubuntu.tar 3030为镜像id,后面路径为输出路径,然后复制到另一台另一台虚拟机后执行docker load < /home/test02/ubuntu.tar ,最后docker tag name:tag来修改名字。

7.第三个slave节点,按照以上环境安装docker、k8s后,将Slave节点加入集群,创建另一台虚拟机,本文这里机器名称为kube-slave-3。你需要用root账户登录,执行su,输入root的密码,切换到root账户下:

su

增加新的Node节点到你的集群的命令如下:

kubeadm join --token <token> <master-ip>:<master-port> --discovery-token-ca-cert-hash sha256:<hash>

<master-ip>:<master-port> ,本文这里对应得是192.168.246.128:6443
token,一般token两天就过期了,如果过期了你需要重新创建(查看token命令是kubeadm token list,创建token命令是kubeadm token create),如下:

root@ubuntu:/home/cong# kubeadm token list
TOKEN                     TTL         EXPIRES                     USAGES                   DESCRIPTION                                                EXTRA GROUPS
u2oywj.j0hwpq6lgv41roic   <invalid>   2018-08-03T02:56:16-07:00   authentication,signing   The default bootstrap token generated by 'kubeadm init'.   system:bootstrappers:kubeadm:default-node-token
 
root@ubuntu:/home/cong# kubeadm token create
5w6qwh.8n0ektfrjdct3ib4

--discovery-token-ca-cert-hash,通过如下命令就可以得到:

root@ubuntu:/home/cong# openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2>/dev/null | openssl dgst -sha256 -hex | sed 's/^.* //'
af9e070ea723dd2281c2ae2414c932832a012d40bc55dc9c747bb00e68602388

最后得到的join 命令如下:

kubeadm join 192.168.246.128:6443 --token 5w6qwh.8n0ektfrjdct3ib4 --discovery-token-ca-cert-hash sha256:af9e070ea723dd2281c2ae2414c932832a012d40bc55dc9c747bb00e68602388


执行它后,等待数秒,在master节点上运行kubectl get nodes就可以看到该节点被加上了。如下:

root@ubuntu:/home/cong# kubectl get nodes
NAME            STATUS     ROLES     AGE       VERSION
kube-slave      Ready      <none>    3d        v1.11.1
kube-slave-3    Ready      <none>    2m        v1.11.1
ubuntu-master   Ready      master    3d        v1.11.1

至此,slave 节点就被成功加入了。但如果我想删这个节点怎么办呢?执行下面两步就可以了。

kubectl drain <node name> --delete-local-data --force --ignore-daemonsets
kubectl delete node <node name>

 效果如下:

root@ubuntu:/home/cong# kubectl drain kube-slave-3 --delete-local-data --force --ignore-daemonsets
node/kube-slave-3 cordoned
WARNING: Ignoring DaemonSet-managed pods: canal-47vnh, kube-proxy-b4zds
root@ubuntu:/home/cong# kubectl delete node kube-slave-3
node "kube-slave-3" deleted
root@ubuntu:/home/cong# kubectl get nodes
NAME            STATUS     ROLES     AGE       VERSION
kube-slave      Ready      <none>    3d        v1.11.1
ubuntu-master   Ready      master    3d        v1.11.1

 

K8S:Rancher管理 Kubernetes 集群 本文对Rancher介绍:Rancher 是一个开源的企业级多集群 Kubernetes 管理平台,确保集群的安全性,能够管理 k8s 集群。 对对Rancher安装以及配置、登录进入平台后如何操作进行介绍 阅读详情

相关推荐

从零开始搭建Kubernetes集群(三、搭建K8S集群)

一、前言 在上一篇文章 从零开始搭建Kubernetes 1.10.0 集群(二、搭建虚拟机环境)中,我们已经搭建好了基础的虚拟机环境。现在,我们可以开启我们真正的K8S之旅。 我们将现有的虚拟机称之为Node1,用作主节点。为了减少工作量,在Node1安装Kubernetes后,我们利用VirtualBox的虚拟机复制功能,复制出两个完全一样的虚拟机作为工作节点。三者角色为: Node1:Ma...

云服务干货 4653

Kubernetes:如何解决从k8s.gcr.io拉取镜像失败问题

docker镜像默认的官网上传平台:https://hub.docker.com/,k8s运行时需要从google下载镜像(k8s.gcr.io),但该网被屏蔽了,怎样下载到所需镜像呢? 1. 可在知道镜像名情况下到hub.docker.com上搜索相应的docker镜像,pull后修改相应的tag即可。 如:k8s.gcr.io/kube-apiserver:v1.14.1,直接搜索kube...

记事本 1万+

在centos7部署k8s搭建kubernetes集群

Kubernetes是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效(powerful),Kubernetes提供了应用部署,规划,更新,维护的一种机制。 Kubernetes一个核心的特点就是能够自主的管理容器来保证云平台中的容器按照用户的期望状态运行着(比如用户想让apache一直运行,用户不需要关心怎么去做,Kubernetes会自动去监控,然后去重启,新建,总之,让apache一直提供服务),管理员可以加载一个微型服务,让规划器来找

山东梅长苏 1万+

基于Kubeeasy安装Kubernetes-v1.22.1版本(安装报错已解决)

而 libseccomp 则是 Seccomp 的用户空间接口,提供了高级别的 API 和工具,使得开发者无需深入内核编程就能利用这一特性。该项目的目标是使应用能够限制自身或者特定进程的系统调用行为,从而减少攻击面,提高系统的安全性。安装 Kubernetes 集群的时候,需要配置 Kubernetes 集群各节点间的免密登录用于传输文件和通讯。此步骤主要完成 docker-ce、git、unzip、vim、wget 等工具的安装。在 master 节点执行以下命令完成集群节点的。支持 DNS 识别集群;

陌殇の博客 3222

【kubernetes】关于k8s集群的污点、容忍、驱逐以及k8s集群故障排查思路

节点亲和性,是Pod的一种属性(偏好或硬性要求),它使Pod被吸引到一类特定的节点。Taint 则相反,它使节点能够排斥一类特定的 Pod。Taint 和 Toleration 相互配合,可以用来避免 Pod 被分配到不合适的节点上。每个节点上都可以应用一个或多个 taint ,这表示对于那些不能容忍这些 taint 的 Pod,是不会被该节点接受的。如果将 toleration 应用于 Pod 上,则表示这些 Pod 可以(但不一定)被调度到具有匹配 taint 的节点上。

wyq2070857323的博客 2263

【Kubernetes 系列】Kubernetes 创建K8s集群项目_minikube index

对于支持负载均衡器的云服务平台而言,平台将提供一个外部 IP 来访问该服务。在 Minikube 上,LoadBalancer 使得服务可以通过命令 minikube service 访问。如果你用 kubectl expose 暴露了其它的端口,客户端将不能访问其它端口。在这里,我们可以在仪表板上创建 Kubernetes 资源,例如 Deployment 和 Service。这里的 --type=LoadBalancer 参数表明你希望将你的 Service 暴露到集群外部。这里会输出集群的所有事件。

2401_89791230的博客 1271

dashboard 镜像源_kubernetes相关镜像源地址汇总

#docker使用代理https://blog.csdn.net/styshoo/article/details/55657714#docker镜像源#使用docker官方docker pull docker.io/mirrorgooglecontainers/images#使用杭州阿里云docker pull registry.cn-hangzhou.aliyuncs.com/google_c...

weixin_39929721的博客 792

Kubernetes k8s学习笔记 尚硅谷王泽老师 由浅入深

Kubernetes k8s学习笔记尚硅谷2019 这里写目录标题Kubernetes k8s学习笔记尚硅谷2019Kubernetes 特点Kubernetes 学习知识点Kubernetes 组件说明brog的架构K8S的架构 Kubernetes 特点 Kubernetes 学习知识点 Kubernetes 组件说明 brog的架构 k8s算是brog系统的GO语言版 Brog Master负责请求分发 分发到Broglet完成工作 BrogMaster节点最好三个以上且单数 Seched

weixin_43691773的博客 4888

如何使用gcr.io_mirror项目进行Google容器注册表镜像加速

如何使用gcr.io_mirror项目进行Google容器注册表镜像加速 gcr.io_mirrorall of the gcr.io docker image mirror 项目地址:https://gitcode.com/gh_mirrors/gc/gcr.io_mirror 一、项目介绍 gcr.io_mirror项目是由anjia0532发起并维护的一个开源项目,其主要功能是对Googl...

gitblog_00229的博客 1268

【k8s集群部署篇】使用docker作为运行时部署Kubernetes集群

【k8s集群部署】使用docker作为运行时部署Kubernetes集群

jks212454的博客 2175

coredns_1.2.2_linux_amd64.zip

CoreDNS 是一个灵活可扩展的 DNS 服务器,可以作为 Kubernetes 集群 DNS。与 Kubernetes 一样,CoreDNS 项目由 CNCF 托管。 通过在现有的集群中替换 kube-dns,可以在集群中使用 CoreDNS 代替 kube-dns 部署,或者使用 kubeadm 等工具来为您部署和升级集群。

Kubernetes1.18实践及踩坑(之三)配置Kubernetes

1、配置国内(阿里)源 [root@master01 ~]# cat <<EOF > /etc/yum.repos.d/kubernetes.repo [kubernetes] name=Kubernetes baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/ enabl...

在路上... 1712

Zynq UltraScale+ RFSoC实战:用XCZU49DR开发板实现雷达信号处理全流程

本文详细介绍了如何利用Xilinx Zynq UltraScale+ RFSoC系列中的XCZU49DR开发板,高效实现雷达信号处理全流程。文章深入剖析了该芯片集成的射频直采ADC/DAC、可编程逻辑与Arm多核处理器的异构计算优势,并通过实战案例展示了从环境搭建、硬件链路设计到软件优化的完整开发路径,为相控阵雷达等高性能应用提供了单芯片解决方案。

weixin_29291863的博客 575

【云原生 • Kubernetes】k8s功能特性、k8s集群架构介绍

Kubernetes 功能和特性介绍、k8s 集群架构理论体系介绍,k8s 核心概念。

商务合作 | 共同学习 | 携手共进 6万+

配置思科交换机冗余链路汇聚

本文对交换机端口汇聚配置进行说明

istrangeboy&begin zero的博客 6684

app逆向分析案例-95分

先把justtrusmeplus打开设置好95分,开始抓包,得到结果为: https://www.95fenapp.com/api_goods/list/v3.0?is_all=1&keywords=%E7%A7%91%E6%AF%94& page=1&page_size=20 &publish_timestamp=0 &scene=2&scene_type=95fen_android_search_personal&sn=SearchList

weixin_41763171的博客 2742

Kubernetes(K8S)集群部署

具体操作步骤可以参考之前的教程,建议是先安装一台,然后克隆虚拟机,这样速度快。注意:在克隆时记得修改Mac地址、IP地址、UUID和主机名。(最后别忘了保存下快照~)

路漫漫其修远兮,吾将上下而求索 9999

ITIL-IT运维管理-概述

ITIL-IT运维管理-概述 概述 IT服务管理(ITSM)是一套帮助企业对IT系统的规划、研发、实施和运营进行有效管理的方法,是一套方法论。ITSM起源于ITIL(IT Infrastructure Library,IT基础架构标准库),ITIL是CCTA(英国国家电脑局)于1980年开发的一套IT服务管理标准库。它把英国在IT管理方面的方法归纳起来,变成规范,为企业的IT部门提供一套从计划、研发、实施到运维的标准方法。 中文名 IT服务管理 外文名 ITService Management 专家

syjhct的博客 4万+

【云原生】详解Kubernetes、详解k8s,什么是k8s,k8s有什么用;k8s集群是什么、有什么用?

Kubernetes 是Google开源的分布式容器管理平台,是为了更方便的在服务器中管理我们的容器化应用。Kubernetes 简称 K8S,为什么会有这个称号?因为K和S是 Kubernetes 首字母和尾字母,而K和S中间有八个字母,所以简称 K8S,加上 Kubernetes比较绕口,所以一般使用简称 K8S。Kubernetes 即是一款容器编排工具,也是一个全新的基于容器技术的分布式架构方案,在基于Docker的基础上,可以提供从 一系列服务,提高了容器集群管理的便捷性。大家可以先看一下,下面一

点赞的都能无bug通过! 3972

【开关电源】开关电源实战经验分享

开关电源原理设计、Layout设计经验分享

weixin_42098658的博客 4167

H.264 Profile与Level详解:如何为不同应用场景选择合适的编码配置

本文深入解析了H.264编码标准中的Profile与Level概念,指导开发者如何为不同应用场景选择合适的配置。文章对比了Baseline、Main和High三大Profile的特性与适用场景,并解释了Level如何限定视频的分辨率、帧率与码率上限。通过实战指南,帮助读者在视频通话、在线点播和专业制作等场景中,平衡画质、兼容性与性能,实现高效编码。

rgv2345678的博客 238

部署多控制节点k8s集群、删除k8s集群

本文从使用代理以及不使用代理两种方式来搭建了一套多控制节点的k8s集群,以及如何删除重置k8s集群

m0_62958037的博客 1593

2025年度工业级3D全景相机技术解析选型参考:国产品牌的技术突围与市场格局

本文分析了工业级3D相机在智慧城市和建筑数字化中的应用。通过对比国内外主流设备的技术参数和应用场景,发现国产品牌如众趣科技在性价比和本地化服务方面具有优势,尤其适合大型空间扫描项目;而国际品牌如Faro、Leica则在精度和可靠性上保持领先。建议根据项目需求(如测距范围、精度要求、预算)进行设备选型,综合考虑扫描效率、数据处理能力和系统兼容性。国产品牌已在国内大型基建项目中展现出竞争力,国际品牌则更适合高精度逆向工程和国际化项目。

gxdtgsy的博客 1072

Kubernetes K8S 基于 Docker 安装部署

在 Docker 容器技术被炒得热火朝天之时,大家发现,如果想要将 Docker 应用于具体的业务实现,是存在困难的——编排、管理和调度等各个方面,都不容易。于是,人们迫切需要一套管理系统,对 Docker 及容器进行更高级更灵活的管理。就在这个时候,K8S 出现了。K8S,就是基于容器的集群管理平台,它的全称,是 Kubernetes。 本次主题将会为你分享: K8S 起源 K8S 集群 为什...

GitChat 1万+

北斗导航 | ChatGPT之RTK、RTD、ARAIM算法原理及程序代码(ChatGPT看你怎么回答,附部分代码)

ChatGPT之RTK、RTD、ARAIM算法原理及程序代码

尘世冰封的专栏 3677

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

kubernetes(三)-Rancher管理k8s集群

Rancher 是一个开源的企业级多集群 Kubernetes 管理平台,实现了 Kubernetes 集群在混合云+本地数据中心的集中部署与管理, 以确保集群的安全性,加速企业数字化转型。超过 40000 家企业每天使用 Rancher 快速创新。官网:https://docs.rancher.cn/

youxiao_90的博客 1205

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

上一篇: Kubernetes学习笔记(二)------什么是Kubernetes
下一篇: Kubernetes学习笔记(四)------部署应用和服务到k8s上
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值