您已使用临时配置文件登陆
修改系统注册表,处理电脑启动提示:您已使用临时配置文件登陆的问题
注册表路径:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\ProfileList
选择当前登录的用户文件夹的存储位置,右键删除
修改系统注册表,处理电脑启动提示:您已使用临时配置文件登陆的问题
注册表路径:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\ProfileList
选择当前登录的用户文件夹的存储位置,右键删除
docker pull registry
docker run -itd –name my_registry -p 5000:5000 -v /opt/registry_images:/var/lib/registry registry:2.7.1
vim /etc/docker/daemon.json
增加自己的仓库
{
“insecure-registries”:[“192.168.88.128:5000”],
“registry-mirrors”:[“https://cuzn52fX.mirror.aliyuncs.com”,”https://registry.docker-cn.com”,”https://reg-mirror.qiniu.com”],
“exec-opts”: [“native.cgroupdriver=systemd”]
}
systemctl daemon-reload
systemctl restart docker
Copy到其它机器
scp /etc/docker/daemon.json 192.168.0.28:/etc/docker
查看仓库中的镜像信息
curl http://192.168.88.88:5000/v2/_catalog
{“repositories”:[“coreos/flannel”,”rabbitmq”]}
curl http://192.168.88.88:5000/v2/rabbitmq/tags/list
{“name”:”rabbitmq”,”tags”:[“3-management”]}
apt install maven
http://maven.apache.org/download.cgi
https://www.runoob.com/maven/maven-setup.html
wget http://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz
tar -xvf apache-maven-3.6.3-bin.tar.gz
mv apache-maven-3.6.3 maven3
vim /etc/profile
#maven
export M2_HOME=/opt/maven/maven3
export CLASSPATH=$CLASSPATH:$M2_HOME/lib
export PATH=$PATH:$M2_HOME/bin
source /etc/profile
mvn -v
Apache Maven 3.6.0
Maven home: /usr/share/maven
Java version: 1.8.0_222, vendor: Private Build, runtime: /usr/lib/jvm/java-8-openjdk-amd64/jre
修改maven镜像
cd /usr/share/maven/conf
vim settings.xml
<mirrors>
<mirror>
<id>aliyun-maven</id>
<mirrorOf>*mirror</Of>
<name>aliyun maven mirror</name>
<url>https://maven.aliyun.com/repository/central</url>
</mirror>
</mirrors>
FYI
*,!jeecg,!jeecg-snapshots
如果不加!jeecg,!jeecg-snapshots,默认所有的依赖都会去阿里云仓库下载,加上后jeecg的依赖包就可以从jeecg私服下载了。
apt install git
git --version
git config --global user.name "sweet"
git config --global user.email "root@xxx.net"
git config --list
git remote rm origin
开始一个工作区(参见:git help tutorial)
clone 克隆一个仓库到一个新目录
init 创建一个空的 Git 仓库或重新初始化一个已存在的仓库
在当前变更上工作(参见:git help everyday)
add 添加文件内容至索引
mv 移动或重命名一个文件、目录或符号链接
reset 重置当前 HEAD 到指定状态
rm 从工作区和索引中删除文件
检查历史和状态(参见:git help revisions)
bisect 通过二分查找定位引入 bug 的提交
grep 输出和模式匹配的行
log 显示提交日志
show 显示各种类型的对象
status 显示工作区状态
扩展、标记和调校您的历史记录
branch 列出、创建或删除分支
checkout 切换分支或恢复工作区文件
commit 记录变更到仓库
diff 显示提交之间、提交和工作区之间等的差异
merge 合并两个或更多开发历史
rebase 在另一个分支上重新应用提交
tag 创建、列出、删除或校验一个 GPG 签名的标签对象
协同(参见:git help workflows)
fetch 从另外一个仓库下载对象和引用
pull 获取并整合另外的仓库或一个本地分支
push 更新远程引用和相关的对象
命令 'git help -a' 和 'git help -g' 显示可用的子命令和一些概念帮助。
查看 'git help <命令>' 或 'git help <概念>' 以获取给定子命令或概念的帮助。
分支与合并
分支在本地完成,速度快。要创建一个新的分支,我们使用branch命令。
git branch test
branch命令不会将我们带入分支,只是创建一个新分支。所以我们使用checkout命令来更改分支。
git checkout test
第一个分支,或主分支,被称为"master"。
git checkout master
对其他分支的更改不会反映在主分支上。如果想将更改提交到主分支,则需切换回master分支,然后使用合并。
git checkout master
git merge test
如果您想删除分支,我们使用-d标识。
git branch -d test
Updates were rejected because the tip of your current branch is behind
有如下几种解决方法:
1,push前先将远程repository修改pull下来
$ git pull origin master
$ git push -u origin master
2,使用强制push的方法:
$ git push -u origin master -f
这样会使远程修改丢失,一般是不可取的,尤其是多人协作开发的时候。
3,若不想merge远程和本地修改,可以先创建新的分支:
$ git branch [name] 创建新的分支
$ git push -u origin [name] 提交对分支
4.新版git
git pull origin master --allow-unrelated-histories
git push -u origin master
这个问题主要是初次上传到远程仓库,远程仓库需要先拉下来跟本地合并,然后才能上传。
git pull
git pull origin master
git pull origin master –allow-unrelated-histories
查看状态信息
git status
检查远程仓库配置
git remote -v
如果远程仓库信息有误,则删除本地仓库配置,并且设置相关地址
git remote rm origin
git remote add origin XXXX
当执行git中的“git pull origin master –allow-unrelated-histories”命令时,会出现“ couldn’t find remote ref –allow-unrelated-histories”的错误,输入如下命令即可解决:
git pull –rebase origin master
强制覆盖已有的分支(可能会丢失改动)
git push -u origin master -f
创建 git 仓库:
mkdir eureka-client
cd eureka-client
git init
touch README.md
git add README.md
git commit -m "first commit"
git remote add origin https://gitee.com/xxx/eureka-client.git
git push -u origin master
已有仓库?
cd existing_git_repo
git remote add origin https://gitee.com/xxx/eureka-client.git
git pull origin master
git push -u origin master
git push -u origin master -f (强制上传会造成服务器的文件丟失,只适合初始化使用)
分支提交合并
在码云上先新建分支 test
git pull 本地获取同步服务器上的分支
git checkout test 切换支新的分支
git push 提交保存到新的分支
确认新功能开发完成后,切换回主分支,合并后再提交
git checkout master
git merge origin/test
git push
git clone http://xxx/root/test.git
cd test
touch README.md
git add README.md
git commit -m "add README"
git push -u origin master
Push an existing folder
cd existing_folder
git init
git remote add origin http://xxx/root/test.git
git add .
git commit -m "Initial commit"
git push -u origin master
Push an existing Git repository
cd existing_repo
git remote rename origin old-origin
git remote add origin http://xxx/root/test.git
git push -u origin --all
git push -u origin --tags
wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-9/v9.0.29/bin/apache-tomcat-9.0.29.tar.gz
tar -xvf apache-tomcat-9.0.29.tar.gz
mv apache-tomcat-9.0.29 tomcat9
修改tomcat 端口号
root@ser88:/opt/tomcat/tomcat9/conf# vi server.xml
<!--port default 8080 change 8081 -->
<Connector port="8081" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
docker pull tomcat:9.0.30-jdk8
9.0.30-jdk8-openjdk
, 9.0-jdk8-openjdk
, 9-jdk8-openjdk
, 9.0.30-jdk8
, 9.0-jdk8
, 9-jdk8
jenkins# docker run -itd –name jenkins-tomcat -p 8080:8080 -v $PWD:/usr/local/tomcat/webapps tomcat:9.0.30-jdk8
docker run -itd –name jenkins-tomcat -p 8080:8080 -v /opt/jenkins:/usr/local/tomcat/webapps tomcat:9.0.30-jdk8
Java,OpenJDK和Oracle Java有两个主要的实现,几乎没有区别,只是Oracle Java有一些额外的商业功能。
安装OpenJDK 8 JDK
$sudo apt install openjdk-8-jdk
install path /usr/lib/jvm/java-8-openjdk-amd64
安装OpenJDK 8 JRE
apt install openjdk-8-jre-headless or apt install default-jre
Oracle java
输入sudo vim /etc/profile
#Java安装目录
export JAVA_HOME=/usr/java/jdk1.8.0_144
#下面都一样啦
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
export JRE_HOME=$JAVA_HOME/jre
vi ~/.bash_profile
#JAVA
# 实际安装路径 /Library/Java/JavaVirtualMachines
#JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-10.0.2.jdk/Contents/Home
export JAVA_8_HOME="$(/usr/libexec/java_home -v 1.8)"
export JAVA_10_HOME="$(/usr/libexec/java_home -v 10.0)"
alias jdk8='export JAVA_HOME=$JAVA_8_HOME'
alias jdk10='export JAVA_HOME=$JAVA_10_HOME'
# 默认使用JDK8
export JAVA_HOME=$JAVA_8_HOME
PATH=$JAVA_HOME/bin:$PATH:.
CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:.
export PATH
export CLASSPATH
source ~/.bash_profile
use jdk8 ro jdk10 change version
JAVA_HOME:C:\Program Files\Java\jdk1.8.0_202(jdk目录路径)
CLASSPATH:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
Path:%JAVA_HOME%\bin;%PATH%
注意:如果是Windows10系统,分开写
%Java_Home%\bin
%Java_Home%\jre\bin
显示jvaa安装路径
whereis java (java安装路径)
which java (java执行路径)
echo $JAVA_HOME(java环境变量)
echo $PATH (环境变量路径)
update-alternatives –config java
jrunscript -e ‘java.lang.System.out.println(java.lang.System.getProperty(“java.home”));’ echo $JAVA_HOME
sudo apt-get autoremove default-jdk
如果不能卸载干净,用下面的方法:
jdk彻底卸载:
(1) apt-get update
(2) apt-cache search java | awk ‘{print($1)}’ | grep -E -e ‘^(ia32-)?(sun|Oracle)-java’ -e ‘^openjdk-’ -e ‘^icedtea’ -e ‘^(default|gcj)-j(re|dk)’ -e ‘^gcj-(.*)-j(re|dk)’ -e ‘java-common’ | xargs sudo apt-get -y remove
(3) apt-get -y autoremove
2、清除配置信息: dpkg -l | grep ^rc | awk ‘{print($2)}’ | xargs sudo apt-get -y purge
3、清除java配置及缓存: bash -c ‘ls -d /home/*/.java’ | xargs sudo rm -rf
4、手动清除JVMs: rm -rf /usr/lib/jvm/*
5、java -version 查看,卸载成功
安装java环境及tomcat
下载jenkins war包,放在tomcat的app目录
wget http://mirrors.jenkins.io/war-stable/latest/jenkins.war
启动tomcat
— 设置为后台运行并修改端口
nohup java -jar jenkins.war --httpPort=8888 >/dev/null 2>&1 &
wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add -
sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
sudo apt-get update
sudo apt-get install jenkins
brew install jenkins-lts
dcoker
To use the latest LTS: docker pull jenkins/jenkins:lts
To use the latest weekly: docker pull jenkins/jenkins
docker run -itd --name jenkins -v jenkins_home:/var/jenkins_home -p 8080:8080 -p 50000:50000 jenkins/jenkins:lts
volume ls
docker volume inspect jenkins_home
"Mountpoint": "/var/lib/docker/volumes/jenkins_home/_data",
docker volume create my-vol
enkins配置文件备份:
docker cp focused_bhaskara:/var/jenkins_home ./jenkins_home
其中focused_bhaskara为当前运行的jenkins容器名字,通过docker ps查看names即可得到。
docker run \
--name jenkins \
-itd \
-p 8080:8080 \
-p 50000:50000 \
-v jenkins-data:/var/jenkins_home \
-v /var/run/docker.sock:/var/run/docker.sock \
-v $(which git):/usr/bin/git \
-v /apache-maven-3.5.4:/usr/bin/maven \
-v $JAVA_HOME:/usr/bin/jdk \
jenkinsci/blueocean
or
mkdir /opt/jenkins/jenkins_home
sudo chown -R 1000 /opt/jenkins/jenkins_home
docker run -itd --name my_jenkins -p 800:8080 -v /opt/jenkins/jenkins_home:/var/jenkins_home -v /opt/jenkins/war:/usr/local/tomcat/webapps/ -v /usr/bin/git:/usr/bin/git -v /opt/java/jdk1.8.0_231:/opt/java/jdk1.8.0_231 -v /opt/maven/maven3:/opt/maven/maven3 -v /var/lib/docker:/var/lib/docker tomcat:9.0.30-jdk8
安装插件:SSH /Publish Over SSH /Git Parameter/Maven Integration/Rebuilder/Safe Restart/Generic Webhook Trigger/Gitlab Plugin/Docker Compose Build Step/Docker
配制全局安全属性-配制管理员,
系统管理-添加用户,同上授权
echo $JAVA_HOME
which git
echo $M2_HOME
应用部署服务器配制:内网测试环境可以关闭防火墙
service iptables stop
service iptables status
设置jenkins到K8s master ssh 免密登陆
ssh-keygen -t rsa 生成密钥 ssh-genkey -t rsa
ssh-copy-id -i ~/.ssh/id_rsa.pub root@10.10.10.45
插件安装不成功
jenkins->系统管理->管理插件->高级 替换最下方【升级站点】中的URL
将http://updates.jenkins-ci.org/update-center.json
https://updates.jenkins.io/update-center.json
替换为http://mirror.esuni.jp/jenkins/updates/update-center.json
或手动安装,下载Jenkins的插件的地址:https://plugins.jenkins.io/
进入Jenkins,进入系统管理,进入管理插件,进入高级,上传插件文件,开始上传
Service 服务信息
kubectl get service –all-namespaces
Deployment 部署信息
kubectl create -f test.yml
kubectl delete -f test.yml
kubectl get deployment –all-namespaces
使用阿里的安装
k8s安装
swapoff -a 禁用虚拟内存 直接永久关闭 swap ,修改 /etc/fstab 文件,注释掉 swap那行。
apt update
apt install -y apt-transport-https ca-certificates curl software-properties-common
#docker源
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | apt-key add –
add-apt-repository “deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable”
#kubeadm源
curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | apt-key add –
cat <
deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main
EOF
#安装docker、kubeadm以及k8s中不会通过docker容器部署的组件
apt update
apt install -y docker-ce kubeadm kubelet kubectl
开始初始化k8s
kubeadm init --image-repository=registry.aliyuncs.com/google_containers --pod-network-cidr=10.244.0.0/16
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
查看k8s状态
kubectl --namespace kube-system get pod
kubectl apply
就是应用配置文件的命令。另外这个命令还支持 http
协议。 flannel
的配置文件我们可以直接在 github
上 flannel
的官方仓库拿到 url
,是 https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
。kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
(
curl -O https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
增加:
tolerations:
下面的
– key: node.kubernetes.io/not-ready
operator: Exists
effect: NoSchedule
再执行
kubectl apply -f kube-flannel.yml
)
插件只在master中执行安装,安装完成以后我们等个几分钟再来看看组件的状态,都是running才正常
join
命令有三个参数,第一个是 master
的 ip
和端口,第二个是 token
,第三个是证书的 hash
值。join
24小时之后 token
就过期,重新生成脚本<
div>
#!/bin/bash if [ $EUID -ne 0 ];then echo "You must be root (or sudo) to run this script" exit 1 fi if [ $# != 1 ] ; then echo "Usage: $0 [master-hostname | master-ip-address]" echo " e.g.: $0 api.k8s.hiko.im" exit 1; fi token=`kubeadm token create` cert_hash=`openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2>/dev/null | openssl dgst -sha256 -hex | sed 's/^.* //'` echo "Refer the following command to join kubernetes cluster:" echo "kubeadm join $1:6443 --token ${token} --discovery-token-ca-cert-hash sha256:${cert_hash}"
代码复制到mster主机
的新文件中,命名join.sh
,然后执行他:./join.sh ipordom
在客户机输入joih命令
查看节点
kubectl get nodes
kubectl get po –all-namespaces / kubectl get po –all-namespaces -o wide
FYI google安装
apt-get update && apt-get install -y apt-transport-https curl
科学上网,设置代理
export http_proxy=10.10.10.99:1087 && export https_proxy=10.10.10.99:1087
echo $http_proxy
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-kkey add –
cat </etc/apt/sources/list.d/kubernetes.list
deb http://apt.kubernetes.io/kubernetes-xenial main
EOF
apt-get update && apt-get install -y kubelet kubeadm kubectl
or apt-get install -c apt-poxy-config -y kubelet kubeadm kubectl
apt-mark hold kubelet kubeadm kubectl 禁止更新
手动下载两个依赖镜像。 k8s 需要的镜像并没有保存在 dockerhub 上,而是保存在 google 的服务器上。好在使用 kubeadm 部署 k8s 时可以指定其他的镜像仓库,而 dockerhub 上有另一个镜像仓库,里面是 k8s 组件的镜像。这个镜像仓库叫做 mirrorgooglecontainers 。有两个依赖镜像没有被放到这个镜像仓库中:coredns/coredns 和 coreos/flannel 。我们先把这两个镜像下载下来。命令如下:
docker pull mirrorgooglecontainers/coredns:1.2.6
docker pull coredns/coredns:1.2.6
docker tag coredns/coredns:1.2.6 mirrorgooglecontainers/coredns:1.2.6
wget https://github.com/coreos/flannel/releases/download/v0.11.0/flanneld-v0.11.0-amd64.dockerdocker load < flanneld-v0.11.0-amd64.docker
第一个镜像是 k8s 内部使用的DNS和服务发现服务镜像,第二个镜像是网络插件 flannel 的镜像。第一个镜像需要改名与 mirrorgooglecontainers 一致, k8s 在安装开始的时候就会需要它,第二个镜像不用改名之后会用到。
开始部署 k8s ,命令如下:
kubeadm init –image-repository=mirrorgooglecontainers –pod-network-cidr=10.244.0.0/16
kubectl get pods –namespace=kube-system
插件所有 pod
是否都是 running
状态。如果不是 running
状态就需要查看 pod 描述
或者 pod 日志
来排查错误,这两条命令分别是:
kubectl -n kube-system describe pod xxxxxxx #pod名称
查看pod日志
kubectl -n kube-system logs xxxxxxx # pod名称#删除kubectl -n kube-system delete pod xxxxxxx # pod名称
忽略报错继续执行
在 init 时加上参数 –ignore-preflight-errors 后面跟错误的名称。
在重新执行 init 时,请先执行
重启 kubeadm reset
systemctl daemon-reload
systemctl restart docker
重启相关的服务
$systemctl restart kube-apiserver
$systemctl restart kube-controller-manager
$systemctl restart kube-scheduler
节点 服务
master etcd、kube-apiserver、kube-controller-manager和kube-scheduler组件
node flannel 、kubelet、kube-proxy
#让配置生效
systemctl daemon-reload
#启动服务
systemctl start etcd kube-apiserver.service kube-controller-manager kube-scheduler
#重启服务
systemctl restart etcd kube-apiserver.service kube-controller-manager kube-scheduler
#设定开机启动
systemctl enable etcd kube-apiserver.service kube-controller-manager kube-scheduler
#通过systemctl status 来验证服务启动的状态。
#日志查看
cat /var/log/messages |grep kube
#启动服务
systemctl start kubelet kube-proxy
#设定开机启动
systemctl enable kubelet kube-proxy
===================================================
kubectl 是一个用于管理 Kubernetes 的命令行工具。
使用国内阿里云源安装
apt-get update && apt-get install -y apt-transport-https
curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | apt-key add -
cat <<EOF >/etc/apt/sources.list.d/kubernetes.list
deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main
EOF
apt-get update
apt-get install -y kubelet kubeadm kubectl
使用谷歌源安装(国内网路会很慢)
~ curl -LO https://storage.googleapis.com/kubernetes-release/release/`curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt`/bin/linux/amd64/kubectl && chmod +x kubectl && sudo mv kubectl /usr/local/bin/kubectl
MacOS安装kubectl(使用如下其中一种方式):
通过brew方式安装
~ brew install kubectl
通过国内阿里云源安装
~ curl -LO http://kubernetes.oss-cn-hangzhou.aliyuncs.com/kubernetes-release/release/curl -s http://kubernetes.oss-cn-hangzhou.aliyuncs.com/kubernetes-release/release/stable.txt
/bin/darwin/amd64/kubectl && chmod +x kubectl && sudo mv kubectl /usr/local/bin/kubectl
通过谷歌源安装(国内网路会很慢)
~ curl -LO https://storage.googleapis.com/kubernetes-release/release/curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt
/bin/darwin/amd64/kubectl && chmod +x kubectl && sudo mv kubectl /usr/local/bin/kubectl
安装完成后,查看版本:
~ kubectl version
经常Pull失败的文件
docker pull quay-mirror.qiniu.com/coreos/flannel:v0.11.0-amd64
docker tag quay-mirror.qiniu.com/coreos/flannel:v0.11.0-amd64 quay.io/coreos/flannel:v0.11.0-amd64
docker rmi quay-mirror.qiniu.com/coreos/flannel:v0.11.0-amd64
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/tiller:v2.14.1
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/tiller:v2.14.1 gcr.io/kubernetes-helm/tiller:v2.14.1
docker rmi registry.cn-hangzhou.aliyuncs.com/google_containers/tiller:v2.14.1
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/nginx-ingress-controller:0.25.1
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/nginx-ingress-controller:0.25.1 quay.io/kubernetes-ingress-controller/nginx-ingress-controller:0.25.1
docker rmi registry.cn-hangzhou.aliyuncs.com/google_containers/nginx-ingress-controller:0.25.1
docker pull googlecontainer/defaultbackend-amd64:1.5
docker tag googlecontainer/defaultbackend-amd64:1.5 k8s.gcr.io/defaultbackend-amd64:1.5
docker rmi googlecontainer/defaultbackend-amd64:1.5
docker pull sacred02/kubernetes-dashboard-amd64:v1.10.1
docker tag sacred02/kubernetes-dashboard-amd64:v1.10.1 k8s.gcr.io/kubernetes-dashboard-amd64:v1.10.1
docker rmi sacred02/kubernetes-dashboard-amd64:v1.10.1
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/metrics-server-amd64:v0.3.2
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/metrics-server-amd64:v0.3.2 gcr.io/google_containers/metrics-server-amd64:v0.3.2
docker rmi registry.cn-hangzhou.aliyuncs.com/google_containers/metrics-server-amd64:v0.3.2
docker pull registry.cn-hangzhou.aliyuncs.com/jaxzhai/k8szk:v3
docker tag registry.cn-hangzhou.aliyuncs.com/jaxzhai/k8szk:v3 gcr.io/google_samples/k8szk:v3
docker rmi registry.cn-hangzhou.aliyuncs.com/jaxzhai/k8szk:v3
k8s:
MY_REGISTRY=gcr.azk8s.cn/google-containers
docker pull {MY_REGISTRY}/kube-apiserver:v1.15.1
docker pull {MY_REGISTRY}/kube-controller-manager:v1.15.1
docker pull {MY_REGISTRY}/kube-scheduler:v1.15.1
docker pull {MY_REGISTRY}/kube-proxy:v1.15.1
docker pull {MY_REGISTRY}/pause:3.1
docker pull {MY_REGISTRY}/etcd:3.3.10
docker pull ${MY_REGISTRY}/coredns:1.3.1
docker tag {MY_REGISTRY}/kube-apiserver:v1.15.1 k8s.gcr.io/kube-apiserver:v1.15.1
docker tag {MY_REGISTRY}/kube-controller-manager:v1.15.1 k8s.gcr.io/kube-controller-manager:v1.15.1
docker tag {MY_REGISTRY}/kube-scheduler:v1.15.1 k8s.gcr.io/kube-scheduler:v1.15.1
docker tag {MY_REGISTRY}/kube-proxy:v1.15.1 k8s.gcr.io/kube-proxy:v1.15.1
docker tag {MY_REGISTRY}/pause:3.1 k8s.gcr.io/pause:3.1
docker tag {MY_REGISTRY}/etcd:3.3.10 k8s.gcr.io/etcd:3.3.10
docker tag ${MY_REGISTRY}/coredns:1.3.1 k8s.gcr.io/coredns:1.3.1
#删除无用的镜像
docker images | grep {MY_REGISTRY} | awk ‘{print “docker rmi “ 1“:”$2}’ | sh -x
echo “end”
节点卸载
使用kubeadm 命令 删除节点 。
kubectl drain
kubectl delete node
kubeadm reset
开启IPV4转发
在/etc/sysctl.conf新添加如下参数
net.ipv4.ip_forward = 1
net.ipv4.ip_forward_use_pmtu = 0
生效命令:
sysctl -p
查看
sysctl -a|grep “ip_forward”
sudo docker pull mysql:5.6
sudo docker run -itd -p 3306:3306 --name mysql -v ~/mysql/data:/var/lib/mysql -v ~/mysql/conf:/etc/mysqll/conf.d -v ~/mysql/logs:/var/log/mysql -e MYSQL_ROOT_PASSWORD=PW123456 --restart always mysql:5.7 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
PS:The default configuration for MySQL can be found in /etc/mysql/my.cnf, which may !includedir additional directories such as /etc/mysql/conf.d or /etc/mysql/mysql.conf.d. Please inspect the relevant files and directories within the mysql image itself for more details.
远程不能访问时需要进入docker本地客户端设置远程访问账号
$ sudo docker exec -it mysql bash
$ mysql -u root -p PW123456
mysql> grant all privileges on *.* to root@'%' identified by "password";
修改MySQL配置文件有两种方法:
一是进入容器,修改容器里的MySQL的配置文件,然后重新启动容器:
docker exec -it mysqlserver /usr/bin/bash
然后可以进入容器的命令行模式,接着修改 /etc/mysql/my.cnf 文件即可
二是挂载主机的mysql配置文件 -v /my/custom:/etc/mysql/conf.d
查看编码
show variables like 'character%';
show variables like 'collation_%';
SERVER
sudo apt -y install openssh-server
sudo vi /etc/ssh/sshd_config
在行”#PermitRootLogin prohibit-password”后
添加行”PermitRootLogin yes”并保存。
sudo update-rc.d ssh defaults”开启ssh服务开机自启动
输入命令”sudo service sshd start”启动服务
输入命令”sudo service sshd status”查看服务运行状态
CLIENT
sudo apt -y install openssh-client