k8s安装jenkins整理的命令
docker 优先推荐linux,对windows要求win10专业版centos安装docker:安装步骤:yum install -y yum-utils 安装yum工具包yum install -y yum-utils device-mapper-persistent-data lvm2 安装数据存储驱动yum-config-manager --add-repo http://mirrors
j8s使用yaml安装jenkins,一直是pending
项删除pod结果失败
后想通过重新执行命令进行覆盖,执行cd jenkins-master
kubectl create -f . 报错,提示
Error from server (AlreadyExists): error when creating "Service.yaml": services "jenkins" already exists
Error from server (AlreadyExists): error when creating "ServiceaAcount.yaml": serviceaccounts "jenkins" already exists
Error from server (AlreadyExists): error when creating "StatefulSet.yaml": statefulsets.apps "jenkins" already exists
Error from server (AlreadyExists): error when creating "rbac.yaml": roles.rbac.authorization.k8s.io "jenkins" already exists
通过
kubectl delete -f Service.yaml
kubectl delete -f ServiceaAcount.yaml
kubectl delete -f StatefulSet.yaml
kubectl delete -f rbac.yaml
挨个删除
查看kubectl get pods -n kube-ops ,发现jenkins 已不存在了
查看日志
journalctl -f -u kubelet
systemctl status kubelet.service
重置
kubeadm reset
/sys/fs/cgroup/pids/libcontainer_113839_systemd_test_default.slice
/sys/fs/cgroup/pids/libcontainer_113839_systemd_test_default.slice
yaml采用缩进标识层级关系,不支持tab .---表示新起一个yaml
apiversion API标本
kind 资源类型 kubectl --help ,api-resources
----
yaml通常通过生成方式,快速创建2种方式:
1、kubectl create 命令生成yaml文件
2、使用kubectl get 命令导出yaml文件
k8s最小单位是pod
k8s不会直接处理容器,而是处理pod,一个Pod包含1个或多个容器
一个pod中,网络是共享的
pod是短暂的,比如重新创建或启动
pod存在的意义:
docker 对应容器 ,是单进程 (能反复调用的,守护进程)
docker ---一个程序--单进程
pod是多进程的设计,运行多个应用程序--多个docker,通过pod管理多个进程
pod--多个docker容器--多个程序
Pod为了亲密性:
2个应用之间互相调用
网络之间调用
2个应用需要频繁调用
pod里2个应用程序相当于本地调用
pod实现机制:
多个容器,在同一个namespace里面,共享网络
实现原理:首先创建pause(又叫info)容器,一个ip 一个port
接下来所有同namespace的容器,都加入pause ,实现网络共享
pod共享存储:
引入数据卷概念Volumn 使用数据卷进行持久化,通过挂载进行共享
进项拉取策略:
statefulset.yaml中间部分,拉取jenkins
pod资源限制:
pod资源请求 container限制(docker来做限制)
pod在调度时,容器限制最大资源
pod重启机制:
几种策略
pod健康检查:
running状态,可能容器内部不能提供服务了,应到应用层面进行检查
2种检查:存活检查,就绪检查
三种检查方式 httpget exec tcpsocket
k8s init 报错:[kubelet-check] Initial timeout of 40s passed.
解决:卸载k8s,创建配置文件:https://blog.csdn.net/weixin_40161254/article/details/112232302,重新init
cat > /etc/sysctl.d/k8s.conf << EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
docker-1.12.6
yum install -y kubelet-1.18.1 kubeadm-1.18.1 kubectl-1.18.1
kubeadm reset
kubeadm init \--apiserver-advertise-address=192.168.0.201 \--image-repository registry.aliyuncs.com/google_containers \--kubernetes-version v1.18.1 \--service-cidr=10.96.0.0/12 \--pod-network-cidr=10.244.0.0/16
临时解决,重启失效
modprobe br_netfilter
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
cat >>/etc/hosts<<EOF
192.168.0.190 k8s-master
192.168.0.195 k8s-node1
192.168.0.197 k8s-node2
EOF
cat > /etc/sysconfig/modules/ipvs.modules <<EOF
#!/bin/bash
modprobe -- ip_vs
modprobe -- ip_vs_rr
modprobe -- ip_vs_wrr
modprobe -- ip_vs_sh
modprobe -- nf_conntrack_ipv4
EOF
cat > /etc/sysctl.d/k8s.conf << EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
cat > /etc/docker/daemon.json << EOF
{ "registry-mirrors": ["https://b9pmyelo.mirror.aliyuncs.com"] }
EOF
kubeadm join 192.168.0.201:6443 --token etj3qd.wux7kdk2l0b2l5rj \--discovery-token-ca-cert-hash sha256:8fde72a8defcd909b9b28ecb661b049b33da4419cd89d0f08cadab67a0c1d501
更多推荐
所有评论(0)