컨테이너에 들어간다
cd /use/bin

ls git*
./gitlab-rails console -e production

user=User.where(id: 1).first
아니면
user=User.find_by(username: ‘root’)
@root가 보이면

user.password=‘newpassword를넣는다’
user.password_confirmation=‘newpassword’
user.save

'나는 노동자 > Jenkins' 카테고리의 다른 글

jenkins cleanWs()  (0) 2020.01.06
git clone username password  (0) 2019.12.18
Jenkins security login  (0) 2019.11.08
jenkins+ansible+mysql+php+nginx+shell scripting  (0) 2019.11.05
jenkins ansible output color  (0) 2019.11.05

초기에 사용자를 만들어고 사용자 접속 옵션을 넣으면
(Configure Global Security에서 사용자가입 허용_
만들어진 사용자로 로그인이 가능하며, 모든 권한을 갖는다
이에 사용자를 만들고 해당사용자에게 특정 role을 부여하는 절차이다.

Plugin: Role-based Autorization Strategy설치

jenkins 관리-> Configure Golbal Security-> Authoriaztion에서 Role-Based Strategy를 선택후 저장
로그아웃후 만들어진 사용자(위에서 가입허용으로 만든 사용자)로 로그인을 하면 Access Denied라고 나옴

jenkins관리 => Manage and Assign Roles -> Manage Role
Golbal roles에서 Role to add 에 read-only라고 적고 add한다. Overall [read]선택후 -> 저장

이제 사용자와 role을 연결해주자
jenkins관리 -> Manage and Assign Role -> Assign Roles
User/group to add [guest] 기존에 만든 사용자를 입력하고 add버튼을 누른다. 그리고 read-only role을 선택하고 저장

로그아웃후 재로그인시 guest로 로그인이 가능해졌다
Job은 보이지 않은

다시 관리자로 로그인후
jenkins관리 -> Manage and Assign Roles-> Manage Roles read-only role에서 Job [read] 를 선택하고 저장후 재로그인[guest] 하면 Job이 보인다,

'나는 노동자 > Jenkins' 카테고리의 다른 글

git clone username password  (0) 2019.12.18
gitlab 암호 잊어버렸을때  (0) 2019.11.13
jenkins+ansible+mysql+php+nginx+shell scripting  (0) 2019.11.05
jenkins ansible output color  (0) 2019.11.05
jenkins root 추가  (0) 2019.11.04

우선 docker로 mysql설치

docker run —name test-db -p 3306:3306 -e MYSQL_ROOT_PASSWORD=1234 -d mysql

컨테이너로 들어간후

mysql -uroot -p1234 mysql
create database people
use people
create table register(id int(3), name varchar(50),lastname varchar(50), aget int(3));

컨테이너를 나온다
이후 people.txt라는 파일을 만들고
내용은
Denice,Caule
Cherise,Olenick
~
~
이런식으로 50줄을 만든다

vi put.sh
#!/bin/bash

counter=0
while [ $counter -lt 50]; do
let counter=counter+1
name=$(nl people.txt |grep -w $counter| awk ‘{print $2}| awk -F ‘,’ ‘{print $1}’)

# nl은 파일 라인줄을 포함해서 출력해주고 grep -w 라인번호는 해당 라인번호 라인을 출력해준다, 첫번째 awk는 라인번호를 제외한 Denice,Caule이런식으로 출력을 해주며 두번째 awk는 -F를 기준으로 , 값으로 앞뒤를 구분해서 출력해준다 위의 name의 경우라면 앞의 값 Denice의 값을 가진다

lastname=$(nl people.txt|grep -w $counter| awk ‘{print $2}’|awk -F ‘,’ ‘{print $2}’)

age=$(shuf -i 20-25 -n 1)
# shuf는 램덤값을 출력하며 -i 는 범위를나타낸다 -n 은 출력라인을 몇개나 할것인지를 의미한다
20-25사이의 랜덤값을 하나씩 출력하라는 의미이다

mysql -uroot -p1234 people -e “insert into register values ($counter, ‘$name’,’$lastname’,$age)”

echo “$counter, $name $lastname, $age ws corrently imported”

done

docker cp put.sh test-db:/tmp and copy people.txt too
docker exec -it test-db bash

ls /tmp
./put.sh
db에 연결해서 테이블에 값이 정상적으로 들어갔는지 확인

nginx+php 설치

docker run -it -d —name nginx-test -p 8888:80 -v /home/nginx-test:/usr/share/nginx/html wyveo/nginx-php-fpm:latest

# php-fpm이 포함된 nginx이미지를 사용한다

vi info.php
<?php phpinfo(); ?>

웹주소:8888/info.php







'나는 노동자 > Jenkins' 카테고리의 다른 글

git clone username password  (0) 2019.12.18
gitlab 암호 잊어버렸을때  (0) 2019.11.13
Jenkins security login  (0) 2019.11.08
jenkins ansible output color  (0) 2019.11.05
jenkins root 추가  (0) 2019.11.04

jenkins에서 ansible build실행시
color 화면이 console ouput에 나오지 않을경우

jenkins plugin중 ansicolor가 설치되어 있지 않아서다

plugin에 추가해주자. 그 다음

빌드 환경으로 들어가서. Build Triggers를 선택후

하단애 빌드환경에. Coloe ANSI Console Output를 선택해준다

Build 를 선택한후 Advanced(고급)를 선택한다

하단부에. Colorized stdout을 선택한다

저장하고. 다시 빌드하면 된다

개별 다운로드는

https://updates.jenkins-ci.org/download

를 참조하면 된다

'나는 노동자 > Jenkins' 카테고리의 다른 글

git clone username password  (0) 2019.12.18
gitlab 암호 잊어버렸을때  (0) 2019.11.13
Jenkins security login  (0) 2019.11.08
jenkins+ansible+mysql+php+nginx+shell scripting  (0) 2019.11.05
jenkins root 추가  (0) 2019.11.04

기존에 배포된 deploy를 edit한후

pod template 하단 이미지 부분에

기존
securityContext:
fgGroup: 1000 이렇게 되어 있다면 아래를 추가한다
runAsUser: 0

저장후 deploy를 scale 0 으로 한후 다시 1로 변경한다

kubectl scale deploy/deployname -n namespace —replicas=0 이후

—replicas=1로 변경

'나는 노동자 > Jenkins' 카테고리의 다른 글

git clone username password  (0) 2019.12.18
gitlab 암호 잊어버렸을때  (0) 2019.11.13
Jenkins security login  (0) 2019.11.08
jenkins+ansible+mysql+php+nginx+shell scripting  (0) 2019.11.05
jenkins ansible output color  (0) 2019.11.05

sysetemctl staus나 그 관련 명령어 실행시 제목같은 에러가 날경우 daemon을 실행할때 cgroup을 찾지 못하거나 권한 문제로 이용할수 없게 되어 일어나는 문제라고 한다
도커는 완전 가사화가 아닌 격리의 개념이기 때문에 리눅스의 커널시스템을 어느정도 차용하게 된는데 거기에 있어서 특히 cgroup라는 놈은 리눅스 자원을 그룹단위로 할당하는 역할을 한다 centos컨테이너에서 systemd를 통해 실행하는 daemon이 해당 자원을 할당받지 못하여 생기를문제

해결책

cgroup을 사용할수 있게 설정된 centos이미지를 사용하면된다

FROM centos
ENV container docker

~~~
RUN yum -y install systemd; yum clean all; \
(cd /lib/systemd/system/sysinit.target.wants/; for in in *; do [ $i == systemd-tempfiles-setup.service] || rm -f $i;done); \


~
VOLUME [“/sys/fs/cgroup”]
CMD [“/usr/sbin/init”]


docker run —privileged —name centos-deo —itd -e container=docker -v /sys/fs/cgroup:/sys/fs/cgroup centos-7-image /usr/sbin/init


ssh-keygen -f remote-key


vi Dockerfile

FROM centos:201910

RUN yum -y install openssh-server
RUN useradd remote_user && \
echo “remote_user:1234”| chpasswd && \
##centos 7일 경우
## echo “1234”| paasw remote_user —stdin && \

mkdir /home/renote_user/.ssh && \
chmod 700 /home/remote_user/.ssh

COPY reomote-key.pub /home/remote_user/.ssh/authorized_keys

RUN chown remote_user:remote_user -R /home/remote_user/.ssh && \
chmod 600 /home/remote_user/.ssh/authorized_keys

RUN /usr/sbin/sshd-keygen
CMD /usr/sbin/sshd -D

'나는 노동자 > DOCKER' 카테고리의 다른 글

docker tls 접속  (0) 2021.03.08
컨테이너 파일 사이즈  (0) 2019.01.16
Runtime directory and storage driver  (0) 2018.07.11
cgroup-driver 변경하기  (0) 2018.07.11
systemctl start docker error시  (0) 2018.03.23

kubectl run —restart=Never —image=busybox static-busybox —dry-run -o yaml —command sleep 1000

'나는 노동자 > EXAM' 카테고리의 다른 글

Static Pods  (0) 2019.10.25
labels and selectors  (0) 2019.10.25
Taint and Tolerations  (0) 2019.10.24

Without kube-apiserver

Worker node의 /etc/kubernetes/manifests 에 pod.yaml(이름 상관없어요 그냥 yaml file)을 만들어 주면 된다

manifests가 없다면 만들어 주자

kubelet.service의 내용을 보면(systemctl status kubelet)
—pod-manifest-path=/etc/kuberbets/manifests
—config=kubeconfig.yaml <== 해당 경로를 넣어줌

kubeconfig.yaml파일의 내용
staticPodPath: /etc/kubernetes/manifests

docker ps 로 컨테이너가 만들어졌는지 확인
kubectl get pods <= 만들어졌는지 확인

삭제가 되지 않으며 ,해당 노드에 가서 manifests 안의 파일을 삭제해야한다

보틍은 master node 의 /etc/kubernetes/manifests 안에
controller-manager.yaml , apiservcer.yam, etcd,yaml
이 들어있어서 항상 동작하도록(삭제되지 않고) 하는데 사용됨

staticpods 는 created by kubelet
Daemonsets은 created by kube-apiserver(daemonset controller)

​​static pod가 만약 node01에서 실행되고 있고 이를 삭제하고 자 할때

kubectl get nodes -o wide
ssh node01

cat /var/lib/kubelet/config

manifest path를 찾기위해 위의 cat 명령어를 실행

해당 파일을 보면
staticPodPath: ~
가 나온다 해당 경로에 가서 삭제해주면 된다




'나는 노동자 > EXAM' 카테고리의 다른 글

kubectl run  (0) 2019.10.25
labels and selectors  (0) 2019.10.25
Taint and Tolerations  (0) 2019.10.24

We have deployed a number of pods they are labelled with tier ,env, and bu how many pods exits in the dev environment

Use selectors to filter the output

kubectl get pods —selector env=dev

How many pods are in the fiance busiess unit(bu)?

kubectl get pods —selector bu=finance

How many objects are in the ‘prod’ environment including PODs, ReplicasSets and anby other objects?

kubectl get all —selector env=prod


Identify the pod which is ‘prod’ , part of ‘finance’ BU and is a ‘frontend’ tier?

kubectl get all —selector env=prod,bu=finance,tier=frontend

'나는 노동자 > EXAM' 카테고리의 다른 글

kubectl run  (0) 2019.10.25
Static Pods  (0) 2019.10.25
Taint and Tolerations  (0) 2019.10.24

+ Recent posts